SDK를 사용하여 Genesys Cloud Platform API 호출

참고: 이 문서는 Salesforce용 Genesys Cloud에 적용됩니다.

이 페이지에 설명된 기능이 곧 제공될 예정입니다. 자세한 내용은 릴리즈 노트.

관리 패키지의 SDK를 사용하여 Salesforce에서 Genesys Cloud Platform API를 호출할 수 있습니다. SDK는 Salesforce Apex 프로그래밍 언어를 사용합니다. 

참고: 이 고급 사용자 정의 문서는 Salesforce에 익숙한 개발자를 대상으로 합니다.

전제 조건

특정 사용자 컨텍스트에 연결되지 않고 OAuth 클라이언트의 권한이 허용하는 모든 플랫폼 API를 호출할 수 있습니다. OAuth 클라이언트는 Salesforce의 인증 설정에 대해 생성한 OAuth 클라이언트입니다. 자세한 내용은 입증.

아래의 Rest 클래스를 통해 SDK에 액세스하십시오. 퓨어클라우드.SDK.Rest 네임스페이스. Rest 클래스를 통해 SDK에 액세스하는 예제는 다음을 참조하세요. Salesforce SDK용 Genesys Cloud 예시 (깃허브).

휴식 수업

Genesys Cloud for Salesforce를 통해 Genesys Cloud Platform API에서 작동하는 메서드가 포함되어 있습니다. 

네임스페이스

퓨어클라우드.SDK.Rest

사용

이 방법을 사용하여 Genesys Cloud for Salesforce를 통해 Platform API로 데이터를 GET, PATCH, POST, PUT 또는 DELETE합니다.

휴식 방법

Rest 클래스에는 다음 메서드를 사용할 수 있습니다.

Platform API 엔드포인트에 HTTP GET 요청을 보냅니다.

매개 변수

이름 데이터 유형 필수 또는 선택 설명
URL 문자열 요구됨 예를 들어, 플랫폼 API의 경로, /api/v2/users/{사용자 ID}.
헤더 지도<String, String=""> 선택 사항 HTTP 헤더에 사용자 지정 데이터가 추가되었습니다. 

반환 값

데이터 유형 설명
응답 가져오기 네이티브 Salesforce HttpResponse를 반환합니다.

다음 예는 특정 사용자에 대한 정보를 반환하고 /api/v2/users/{사용자 ID} 끝점.

HttpResponse response = purecloud.SDK.Rest.get('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263', new Map<String, String>{'CustomHeaderValue' => 'Foo'});

플랫폼 API 끝점에 HTTP PATCH 요청을 보냅니다.

매개 변수

이름 데이터 유형 필수 또는 선택 설명
URL 문자열 요구됨 예를 들어, 플랫폼 API의 경로, /api/v2/users/search.
본문 문자열 요구됨 직렬화된 JSON 객체.
헤더 지도<String, String=""> 선택 사항 HTTP 헤더에 사용자 지정 데이터가 추가되었습니다. 

반환 값

데이터 유형 설명
응답 가져오기 네이티브 Salesforce HttpResponse를 반환합니다.

다음 예는 다음을 사용하여 채팅 참가자의 속성을 수정합니다. /api/v2/conversations/chats/{conversationId}/participants/{participantId}/attributes 끝점. 요청 본문의 형식은 다음과 같습니다. { "속성": { "속성1": "John Doe", "attrib2": "푸"}}.

Map<String,Object> attributes = new Map<String,Object> { 
    'attrib1' => 'John Doe',
    'attrib2' => 'Foo'
};
Map<String,Object> body = new Map<String,Object> { 
    'attributes' => attributes 
};
HttpResponse response = purecloud.SDK.Rest.patch('/api/v2/conversations/chats/42a09688-c7e2-4d49-b9b8-8667d321a6f7/participants/5ad38568-9b97-4db6-850b-48b750566b06/attributes', JSON.serialize(body), new Map<String, String>{'CustomHeaderValue' => 'Foo'});

플랫폼 API 끝점에 HTTP POST 요청을 보냅니다.

매개 변수

이름 데이터 유형 필수 또는 선택 설명
URL 문자열 요구됨 예를 들어, 플랫폼 API의 경로, /api/v2/users/search.
본문 문자열 요구됨 직렬화된 JSON 객체.
헤더 지도<String, String=""> 선택 사항 HTTP 헤더에 사용자 지정 데이터가 추가되었습니다. 

반환 값

데이터 유형 설명
응답 가져오기 네이티브 Salesforce HttpResponse를 반환합니다.

다음 예는 이름으로 사용자를 검색하고 /api/v2/users/search 끝점. 이 예제에서는 매핑된 두 개체를 사용하여 JSON 문자열을 생성합니다. 요청 본문의 형식은 다음과 같습니다. { "쿼리": [{ "필드": ["이름"], "값": "John Doe", "유형": "포함" }] }

Map<String,Object>query=new Map<String,Object>{
    'fields'=newList<String>{'name'},
    'value'=>'John Doe',
    'type' =>'CONTAINS'
};
Map<String,Object>body=newMap<String,Object>{
    'query' => new List<Object>{ query }
};
HttpResponse response = purecloud.SDK.Rest.post('/api/v2/users/search', JSON.serialize(body), new Map<String, String>{'CustomHeaderValue' => 'Foo'});

플랫폼 API 끝점에 HTTP PUT 요청을 보냅니다.

매개 변수

이름 데이터 유형 필수 또는 선택 설명
URL 문자열 요구됨 예를 들어, 플랫폼 API의 경로, /api/v2/users/{userId}/callForwarding.
본문 문자열 요구됨 직렬화된 JSON 객체.
헤더 지도<String, String) 선택 사항 HTTP 헤더에 사용자 지정 데이터가 추가되었습니다. 

반환 값

데이터 유형 설명
응답 가져오기 네이티브 Salesforce HttpResponse를 반환합니다.

다음 예는 특정 사용자에 대한 착신 전환 설정을 업데이트하고 /api/v2/users/{userId}/callForwarding 끝점. 

String body = '{ "enabled": true, "phoneNumber": "+13175550123" }';
HttpResponse response = purecloud.SDK.Rest.put('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263/callForwarding', body, new Map<String, String>{'CustomHeaderValue' => 'Foo'});

플랫폼 API 끝점에 HTTP DEL 요청을 보냅니다.

매개 변수

이름 데이터 유형 필수 또는 선택 설명
URL 문자열 요구됨 예를 들어, 플랫폼 API의 경로, /api/v2/users/{userId}/station/associatedStation.
헤더 지도<String, String=""> 선택 사항 HTTP 헤더에 사용자 지정 데이터가 추가되었습니다. 

반환 값

데이터 유형 설명
응답 가져오기 네이티브 Salesforce HttpResponse를 반환합니다.

다음 예는 스테이션과 사용자 간의 연결을 삭제하고 사용자 정의 헤더를 다음과 함께 보냅니다. /api/v2/users/{userId}/station/associatedstation 끝점.

HttpResponse response = purecloud.SDK.Rest.del('/api/v2/users/6a50987a-f00c-4b10-b627-4a677f9f0263/station/associatedstation', new Map<String, String>{'CustomHeaderValue' => 'Foo'});

자세한 내용은 Salesforce용 Genesys Cloud의 SDK.

통합에 대한 자세한 내용은 다음을 참조하십시오. Salesforce용 Genesys Cloud 정보.