Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Versión: 1.0.1
Accede a los datos de tu cuenta de Salesforce. Inserta, actualiza, recupera y consulta datos.
En este contenido, se proporciona referencia para configurar y usar esta extensión.
Requisitos previos
En este contenido, se proporciona referencia para configurar y usar esta extensión. Antes de utilizar la extensión desde un proxy de API con la política ExtensionReference, debes hacer lo siguiente:
Crea un par de clave privada o certificación de RSA x509.
Usarás la clave privada (.key) como credenciales cuando configures la extensión. Usarás el archivo de certificado (.crt) cuando crees una aplicación conectada que le dará a la extensión acceso a Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
-
Una aplicación conectada de Salesforce proporcionará acceso a la extensión de Salesforce. Consulta las instrucciones que aparecen a continuación para configurar la app.
Obtén la clave del consumidor para la app conectada. La extensión usará esta información cuando se autentique con la app.
- En la configuración de Salesforce, en el panel de navegación izquierdo, ve a Apps > Administrador de aplicaciones.
- En la lista, busca la aplicación conectada que creaste.
- En el menú desplegable a la derecha de la fila de la aplicación, haz clic en Ver.
- En API (Habilitar configuración de OAuth), busca la Clave de consumidor y copia su valor en un lugar seguro para usarlo cuando configures la extensión.
Configura una app conectada para que acceda a ella mediante la extensión
Para que la extensión de Salesforce pueda acceder a Salesforce, deberás crear una aplicación conectada de Salesforce a través de la cual la extensión pueda conectarse con Salesforce.
En Salesforce, una app conectada proporciona una forma para que las aplicaciones externas se conecten a Salesforce a través de las APIs.
Cómo configurar una app conectada
- Accede a Salesforce.
- Haz clic en el ícono de ajustes en la esquina superior derecha y, luego, en Configuración.
- En el panel de navegación de la izquierda, expande Apps > Administrador de aplicaciones.
- En la página App Manager, haz clic en New Connected App.
- En Basic Information (Información básica), completa los campos obligatorios. Los valores son para la contabilidad; pero la extensión no los usa.
- En API (Enable OAuth Settings) (API [Habilitar configuración de OAuth]), selecciona la casilla de verificación Enable OAuth Settings (Habilitar configuración de OAuth).
- Aunque la extensión no la usa, ingresa una URL de devolución de llamada. Puedes usar
http://localhost/
o algún otro host de marcador de posición. - Selecciona la casilla de verificación Use digital signatures (Usar firmas digitales).
- En Usar firmas digitales, haz clic en Elegir archivo para ubicar y subir el
salesforce.crt
que generaste antes. - En la sección Alcances seleccionados de OAuth, agrega lo siguiente para que se encuentren en Alcances seleccionados de OAuth:
- Acceder y administrar datos (API)
- Realizar solicitudes en tu nombre en cualquier momento (refresh_token, offline_access)
- Haz clic en Guardar. Si hay algún error, es posible que debas volver a generar y subir el archivo
salesforce.crt
. - En la página de la app resultante, haz clic en Manage (Administrar)
- En la página Administrador de aplicaciones de la aplicación que acabas de crear, haz clic en Editar políticas.
- En Políticas de OAuth, haz clic en el menú desplegable Usuarios permitidos y, luego, en Los usuarios aprobados por el administrador tienen autorización previa.
- Haz clic en Guardar.
- De regreso en la página de la app, en Perfiles, haz clic en Administrar perfiles.
En la página Application Profile Assignment, selecciona las casillas de verificación de los perfiles de usuario que pueden usar esta aplicación.
Asegúrate de seleccionar un perfil que corresponda al usuario cuyo nombre de usuario usarás cuando configures la extensión. También asegúrate de que, al menos, los usuarios del Administrador del sistema tengan acceso a esta aplicación.
Puedes ver el parámetro de configuración del perfil del usuario en Salesforce. En el área Configuración, expande Usuarios > Usuarios, localiza al usuario que representará la extensión y, luego, ubica su perfil en la columna Perfil.
Haz clic en Guardar.
Acerca de Salesforce
Salesforce es una plataforma de administración de relaciones con clientes (CRM). La administración de relaciones con clientes ayuda a las empresas a comprender las necesidades y resolver problemas administrando mejor la información y las interacciones de los clientes, todo en una única plataforma a la que siempre se puede acceder desde cualquier computadora de escritorio o dispositivo.
Acciones
insert
Inserta registros como tipos sObject.
Sintaxis
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
Ejemplo
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Objeto | El tipo de sObject de registro que se insertará. | String | Ninguno | Sí. |
records | Arreglo de registros sObject en JSON. Máximo: 1,000. | Arreglo | Ninguno | Sí. |
allOrNone | true hace que falle toda la actualización si falla alguna parte. |
Booleano | falso | No. |
Respuesta
Un array results
con resultados de la operación de inserción
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Propiedad | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
results[*].id | Es el ID de sObject que se genera para el registro nuevo. | String | Ninguno | Sí. |
results[*].success | Es true si la inserción de ese registro se realizó correctamente. |
Booleano | Ninguno | Sí. |
results[*].errors | Array de errores, si los hay, detectados durante la ejecución. | Arreglo | Ninguno | Sí. |
update
Actualiza los registros de Salesforce.
Sintaxis
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
Ejemplo
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Objeto | El tipo de sObject de registro que se actualizará. | String | Ninguno | Sí. |
records | Arreglo de registros sObject en JSON. Cada registro que se actualizará debe incluir el valor de ID del registro. Máximo: 1,000. | Arreglo | Ninguno | Sí. |
allOrNone | true hace que falle toda la actualización si falla alguna parte. |
Booleano | falso | No. |
Respuesta
Un array results
que contiene los resultados de la actualización
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
results[*].id | El ID de sObject que se generó para el registro actualizado. | String | Ninguno | Sí. |
results[*].success | Es true si la inserción de ese registro se realizó correctamente. |
Booleano | Ninguno | Sí. |
results[*].errors | Array de errores, si los hay, detectados durante la ejecución. | Arreglo | Ninguno | Sí. |
recuperar
Recupera registros como sObjects según sus ID. Muestra todos los campos del tipo sObject.
Sintaxis
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Ejemplo
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Objeto | El tipo de sObject de registro que se recuperará. | String | Ninguno | Sí. |
ids | Array de registros de IDs de sObject para recuperar. Máximo: 1,000. | Arreglo | Ninguno | Sí. |
allOrNone | true hará que falle toda la operación si falla alguna parte de la solicitud. |
Booleano | falso | No. |
Respuesta
Un array records
de sObjects representados como JSON. Ten en cuenta que todas las propiedades de los objetos se incluyen en el JSON, incluso si el valor de la propiedad es nulo.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Realiza consultas en Salesforce.com con el lenguaje de consulta de objetos de Salesforce (SOQL).
Sintaxis
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
Ejemplo
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Soql | Declaración SOQL para la consulta. | String | Ninguno | Sí. |
Respuesta
Resultados de la consulta.
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
totalSize | Cantidad de registros que muestra la consulta. | Número entero | Ninguno | Sí. |
records | Arreglo de registros que se muestran como sObjects en JSON. Máximo: 1,000. | Arreglo | Ninguno | Sí. |
listo | Es true si se completó la operación de consulta. |
Booleano | Ninguno | Sí. |
list
Haz una lista de los registros de Salesforce.com. Muestra todos los campos del tipo de sObject especificado.
Sintaxis
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
Ejemplo
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Objeto | El tipo de sObject de los registros que se van a enumerar. | String | Ninguno | Sí. |
límite | Cantidad máxima de registros que se mostrarán. | Número entero | 1000 | No. |
offset | Desplazamiento de los registros a la lista. | Número entero | 0 |
No. |
Respuesta
Un array records
que contiene sObjects enumerados como JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
del
Borra registros con los ID especificados.
Sintaxis
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Ejemplo
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
parámetros de solicitud
Parámetro | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
Objeto | El tipo de sObject de registro que se borrará. | String | Ninguno | Sí. |
ids | Array de IDs de sObject para los registros que se borrarán. Máximo: 1,000. | Arreglo | Ninguno | Sí. |
Respuesta
Un array results
que contiene los resultados de la operación.
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
Propiedad | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
results[*].id | Es el ID de sObject del registro especificado. | String | Ninguno | Sí. |
results[*].success | Es true si la operación se realizó correctamente para el registro. |
Booleano | Ninguno | Sí. |
results[*].errors | Array de errores, si los hay, detectados durante la ejecución. | Arreglo | Ninguno | Sí. |
getAccessToken
Obtén el token de acceso a la API de Salesforce.com. Se puede usar para consultar APIs de REST.
Sintaxis
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
parámetros de solicitud
Ninguno
Respuesta
El token de acceso en JSON.
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
Propiedad | Descripción | Tipo | Predeterminada | Obligatorio |
---|---|---|---|---|
accessToken | El token de acceso. | String | Ninguno | Sí. |
alcance | Alcances dentro de los cuales el token proporciona acceso. | String | Ninguno | Sí. |
instanceUrl | URL de la instancia que usa la organización de Salesforce. | String | Ninguno | Sí. |
id | Es el ID de la app conectada. | String | Ninguno | Sí. |
tokenType | Tipo para el token de acceso. | String | Portador | Sí. |
Referencia de configuración
Usa la siguiente información cuando configures e implementes esta extensión para usarla en proxies de API.
Propiedades de extensión comunes
Las siguientes propiedades están presentes para cada extensión.
Propiedad | Descripción | Predeterminado | Obligatorio |
---|---|---|---|
name |
Nombre que asignas a esta configuración de la extensión. | Ninguna | Sí |
packageName |
Nombre del paquete de extensiones proporcionado por Apigee Edge. | Ninguna | Sí |
version |
El número de versión del paquete de extensiones desde el que quieres configurar la extensión. | Ninguna | Sí |
configuration |
Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones | Ninguna | Sí |
Propiedades de este paquete de extensión
Especifica valores para las siguientes propiedades de configuración específicas de esta extensión.
Propiedad | Descripción | Predeterminado | Obligatorio |
---|---|---|---|
URL del servidor de autorización | La URL que se debe usar para obtener la autorización de Salesforce. Por lo general, este es https://login.salesforce.com |
Ninguno | Sí. |
Clave de consumidor de app conectada | La clave de consumidor proporcionada por Salesforce para la aplicación conectada que creaste. Consulta las instrucciones que aparecen en la sección Requisitos previos para recuperar tu clave de consumidor. | Ninguno | Sí. |
Credencial | Cuando lo usas en la consola de Apigee Edge: Todo el contenido del archivo Cuando se envía a través de la API de administración: Un valor codificado en base64 que se genera a partir del archivo |
Ninguno | Sí. |
Nombre de usuario del usuario de Salesforce | El nombre de usuario asociado con la app conectada que creaste. La extensión de Salesforce utilizará esta información para obtener la autorización de Salesforce. | Ninguno | Sí. |