Utilice el SDK para llamar a la API de Genesys Cloud Platform

Nota: Este artículo se aplica a Genesys Cloud para Salesforce.

Una característica descrita en esta página estará disponible próximamente. Para obtener más información, consulte el Notas de lanzamiento.

Puede usar nuestro SDK en el paquete administrado para llamar a la API de Genesys Cloud Platform en Salesforce. El SDK utiliza el lenguaje de programación Salesforce Apex. 

Nota: Este artículo de personalización avanzada está destinado a desarrolladores que estén familiarizados con Salesforce.

Prerrequisitos

Puede llamar a cualquier API de plataforma que no esté vinculada a un contexto de usuario específico y que permitan los permisos de su cliente OAuth. El cliente OAuth es el cliente OAuth que creó para la configuración de autenticación en Salesforce. Para más información, ver Autenticación.

Acceda a nuestro SDK a través de la clase Rest en el purecloud.SDK.Rest espacio de nombres. Para ver ejemplos que acceden a nuestro SDK a través de la clase Rest, consulte Ejemplos de SDK de Genesys Cloud para Salesforce (GitHub).

Clase de descanso

Contiene métodos que actúan sobre la API de Genesys Cloud Platform a través de Genesys Cloud para Salesforce. 

Espacio de nombres

purecloud.SDK.Rest

Uso

Utilice estos métodos para OBTENER, PATCH, PUBLICAR, PONER o ELIMINAR datos con la API de la plataforma a través de Genesys Cloud para Salesforce.

Métodos de descanso

Los siguientes métodos están disponibles para la clase Rest.

Envía una solicitud HTTP GET a un extremo de la API de plataforma.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción
url Cuerda Requerido Ruta de una API de plataforma, por ejemplo, / api / v2 / users / {userId}.
encabezados Mapa<String, String=""> Opcional Se agregaron datos personalizados a los encabezados HTTP. 

Valor devuelto

Tipo de datos Descripción
HttpResponse Devuelve Salesforce HttpResponse nativo.

Ejemplo

El siguiente ejemplo devuelve información sobre un usuario en particular y envía un encabezado personalizado con el / api / v2 / users / {userId} punto final.

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

Envía una solicitud HTTP PATCH a un extremo de la API de plataforma.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción
url Cuerda Requerido Ruta de una API de plataforma, por ejemplo, / api / v2 / users / search.
cuerpo Cuerda Requerido Objeto JSON serializado.
encabezados Mapa<String, String=""> Opcional Se agregaron datos personalizados a los encabezados HTTP. 

Valor devuelto

Tipo de datos Descripción
HttpResponse Devuelve Salesforce HttpResponse nativo.

Ejemplo

El siguiente ejemplo modifica los atributos de un participante del chat con el / api / v2 / conversations / chats / {conversaciónId} / participantes / {participantId} / atributos punto final. El cuerpo de la solicitud tiene el formato {"Atributos": {"Attrib1": "John Doe", "attrib2": "Foo"}}.

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'});

Envía una solicitud HTTP POST a un extremo de la API de plataforma.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción
url Cuerda Requerido Ruta de una API de plataforma, por ejemplo, / api / v2 / users / search.
cuerpo Cuerda Requerido Objeto JSON serializado.
encabezados Mapa<String, String=""> Opcional Se agregaron datos personalizados a los encabezados HTTP. 

Valor devuelto

Tipo de datos Descripción
HttpResponse Devuelve Salesforce HttpResponse nativo.

Ejemplo

El siguiente ejemplo busca usuarios por nombre y envía un encabezado personalizado con el / api / v2 / users / search punto final. El ejemplo usa dos objetos mapeados para generar una cadena JSON. El cuerpo de la solicitud tiene el formato { "consulta": [{ "los campos": ["Nombre"], "valor": "John Doe", "tipo": "CONTAINS"}]}

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'});

Envía una solicitud HTTP PUT a un extremo de la API de plataforma.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción
url Cuerda Requerido Ruta de una API de plataforma, por ejemplo, / api / v2 / users / {userId} / callForwarding.
cuerpo Cuerda Requerido Objeto JSON serializado.
encabezados Mapa<String, String) Opcional Se agregaron datos personalizados a los encabezados HTTP. 

Valor devuelto

Tipo de datos Descripción
HttpResponse Devuelve Salesforce HttpResponse nativo.

Ejemplo

El siguiente ejemplo actualiza la configuración de desvío de llamadas para un usuario en particular y envía un encabezado personalizado con el / api / v2 / users / {userId} / callForwarding punto final. 

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'});

Envía una solicitud DEL HTTP a un extremo de la API de plataforma.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción
url Cuerda Requerido Ruta de una API de plataforma, por ejemplo, / api / v2 / users / {userId} / station / associatedStation.
encabezados Mapa<String, String=""> Opcional Se agregaron datos personalizados a los encabezados HTTP. 

Valor devuelto

Tipo de datos Descripción
HttpResponse Devuelve Salesforce HttpResponse nativo.

Ejemplo

El siguiente ejemplo elimina la asociación entre una estación y un usuario y envía un encabezado personalizado con el / api / v2 / users / {userId} / station / associatedstation punto final.

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

Para más información, ver SDK en Genesys Cloud para Salesforce.

Para obtener más información sobre la integración, consulte Acerca de Genesys Cloud para Salesforce.