Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Versão: 2.0.2
Acessar dados na sua conta do Salesforce. Inserir, atualizar, recuperar e consultar dados.
Este conteúdo fornece uma referência para configurar e usar essa extensão.
Pré-requisitos
Este conteúdo fornece uma referência para configurar e usar essa extensão. Antes de usar a extensão de um proxy de API com a política ExtensionCallout, você precisa:
Crie uma chave privada ou um par de certificação RSA x509.
Você vai usar a chave privada (.key) como credenciais ao configurar a extensão. Você vai usar o arquivo de certificado (.crt) ao criar um app conectado que dará à extensão acesso ao Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt-
Um app conectado do Salesforce dá acesso à extensão do Salesforce. Consulte as instruções para configurar o app.
Receba o token do cliente para o app conectado. A extensão vai usar isso ao autenticar com o app.
- Na configuração do Salesforce, no painel de navegação à esquerda, acesse Apps > Gerenciador de apps.
- Na lista, localize o app conectado que você criou.
- No menu suspenso à direita na linha do aplicativo, clique em Visualizar.
- Em API (Enable OAuth Settings), localize a Chave do consumidor e copie o valor dela para um lugar seguro. Ele será usado ao configurar a extensão.
Configurar um app conectado para acesso pela extensão
Antes que a extensão do Salesforce possa acessar o Salesforce, crie um app conectado do Salesforce para que a extensão possa se conectar a ele.
No Salesforce, um app conectado oferece uma maneira para aplicativos externos se conectarem ao Salesforce por APIs.
Para configurar um app conectado
- Faça login no Salesforce.
- Clique no ícone de engrenagem no canto superior direito e em Configuração.
- No painel de navegação à esquerda, expanda Apps > App Manager.
- Na página App Manager, clique em Novo app conectado.
- Em Informações básicas, preencha os campos obrigatórios. Os valores são para contabilidade e não são usados pela extensão.
- Em API (ativar configurações do OAuth), marque a caixa de seleção Ativar configurações do OAuth.
- Embora não seja usada pela extensão, digite um URL de callback. É possível usar
http://localhost/ou outro host marcador de posição. - Marque a caixa de seleção Usar assinaturas digitais.
- Em Usar assinaturas digitais, clique em Escolher arquivo para localizar e fazer upload do
salesforce.crtgerado anteriormente. - Na seção Escopos OAuth selecionados, adicione o seguinte para que eles fiquem em Escopos OAuth selecionados:
- Acessar e gerenciar seus dados (API)
- Faça solicitações em seu nome a qualquer momento (refresh_token, offline_access)
- Clique em Salvar. Se houver erros, talvez seja necessário gerar e fazer upload do arquivo
salesforce.crtnovamente. - Na página do app resultante, clique em Gerenciar.
- Na página do App Manager do app que você acabou de criar, clique em Editar políticas.
- Em Políticas do OAuth, clique no menu suspenso Usuários permitidos e em Os usuários aprovados pelo administrador são pré-autorizados.
- Clique em Salvar.
- Na página do app, em Perfis, clique em Gerenciar perfis.
Na página Atribuição de perfil de aplicativo, marque as caixas de seleção dos perfis de usuário que podem usar o aplicativo.
Selecione um perfil que corresponda ao usuário cujo nome de usuário será usado ao configurar a extensão. Verifique também se pelo menos os usuários administradores do sistema têm acesso a esse aplicativo.
É possível ver a configuração do perfil do usuário no Salesforce. Na área Configuração, expanda Usuários > Usuários, localize o usuário que a extensão vai representar e encontre o perfil dele na coluna Perfil.
Clique em Salvar.
Sobre o Salesforce
O Salesforce é uma plataforma de gestão de relacionamento com o cliente (CRM). A gestão de relacionamento com o cliente ajuda as empresas a entender as necessidades dos clientes e resolver problemas gerenciando melhor as informações do cliente e as interações. Tudo isso em uma única plataforma acessível em qualquer computador ou dispositivo.
Ações
insert
Insira registros como tipos sObject.
Sintaxe
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
Exemplo
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| sobject | O tipo sObject de registros a serem inseridos. | String | Nenhum. | Sim. |
| registros | Matriz de registros sObject em JSON. Máximo: 1.000. | Matriz | Nenhum. | Sim. |
| allOrNone | true para falhar toda a atualização se alguma parte dela falhar. |
Booleano | falso | Não. |
Resposta
Uma matriz results com resultados da operação de inserção.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
| Propriedade | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| results[*].id | O ID do sObject gerado para o novo registro. | String | Nenhum. | Sim. |
| results[*].success | true se a inserção do registro for bem-sucedida. |
Booleano | Nenhum. | Sim. |
| results[*].errors | Matriz de erros, se houver, detectados durante a execução. | Matriz | Nenhum. | Sim. |
update
Atualizar registros do Salesforce.
Sintaxe
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
Exemplo
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| sobject | O tipo sObject dos registros a serem atualizados. | String | Nenhum. | Sim. |
| registros | Matriz de registros sObject em JSON. Cada registro a ser atualizado precisa incluir o valor do ID dele. Máximo: 1.000. | Matriz | Nenhum. | Sim. |
| allOrNone | true para falhar toda a atualização se alguma parte dela falhar. |
Booleano | falso | Não. |
Resposta
Uma matriz results que contém resultados da atualização.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| results[*].id | O ID do sObject gerado para o registro atualizado. | String | Nenhum. | Sim. |
| results[*].success | true se a inserção do registro for bem-sucedida. |
Booleano | Nenhum. | Sim. |
| results[*].errors | Matriz de erros, se houver, detectados durante a execução. | Matriz | Nenhum. | Sim. |
recuperar
Recupere registros como sObjects pelos IDs deles. Retorna todos os campos do tipo sObject.
Sintaxe
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Exemplo
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| sobject | O tipo sObject de registros a serem recuperados. | String | Nenhum. | Sim. |
| ids | Matriz de registros de IDs sObject a serem recuperados. Máximo: 1.000. | Matriz | Nenhum. | Sim. |
| allOrNone | true para falhar toda a operação se alguma parte da solicitação falhar. |
Booleano | falso | Não. |
Resposta
Uma matriz records de sObjects representados como JSON. Todas as propriedades dos objetos são incluídas no JSON, mesmo que o valor da propriedade seja nulo.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
Consulte o Salesforce.com usando a Linguagem de consulta de objetos do Salesforce (SOQL).
Sintaxe
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
Exemplo
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| soql | Instrução SOQL para consultar. | String | Nenhum. | Sim. |
Resposta
Resultados da consulta.
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| totalSize | Número de registros retornados pela consulta. | Número inteiro | Nenhum. | Sim. |
| registros | Matriz de registros retornados como sObjects em JSON. Máximo: 1.000. | Matriz | Nenhum. | Sim. |
| concluído | true se a operação de consulta for concluída. |
Booleano | Nenhum. | Sim. |
list
Lista registros do Salesforce.com. Retorna todos os campos do tipo sObject especificado.
Sintaxe
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
Exemplo
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| sobject | O tipo sObject dos registros a serem listados. | String | Nenhum. | Sim. |
| limite | Número máximo de registros a serem retornados. | Número inteiro | 1000 | Não. |
| offset | Deslocamento para listar registros. | Número inteiro | 0 |
Não. |
Resposta
Uma matriz records que contém sObjects listados como JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
del
Exclui registros com os IDs especificados.
Sintaxe
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
Exemplo
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
Parâmetros de solicitação
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| sobject | O tipo sObject dos registros a serem excluídos. | String | Nenhum. | Sim. |
| ids | Matriz de IDs de sObject para registros a serem excluídos. Máximo: 1.000. | Matriz | Nenhum. | Sim. |
Resposta
Uma matriz results que contém os resultados da operação.
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
| Propriedade | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| results[*].id | ID do sObject do registro especificado. | String | Nenhum. | Sim. |
| results[*].success | true se a operação foi bem-sucedida para o registro. |
Booleano | Nenhum. | Sim. |
| results[*].errors | Matriz de erros, se houver, detectados durante a execução. | Matriz | Nenhum. | Sim. |
getAccessToken
Receba o token de acesso à API do Salesforce.com. Pode ser usado para consultar APIs REST.
Sintaxe
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
Parâmetros de solicitação
Nenhum.
Resposta
O token de acesso em JSON.
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
| Propriedade | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| accessToken | O token de acesso. | String | Nenhum. | Sim. |
| escopo | Escopos em que o token fornece acesso. | String | Nenhum. | Sim. |
| instanceUrl | URL da instância usada pela organização do Salesforce. | String | Nenhum. | Sim. |
| ID | ID do app conectado. | String | Nenhum. | Sim. |
| tokenType | Tipo do token de acesso. | String | Bearer | Sim. |
Referência de configuração
Use o seguinte ao configurar e implantar essa extensão para uso em proxies de API.
Propriedades comuns de extensão
As propriedades a seguir estão presentes para cada extensão.
| Propriedade | Descrição | Padrão | Obrigatório |
|---|---|---|---|
name |
Nome que será dado a esta configuração da extensão. | Nenhum | Sim |
packageName |
Nome do pacote de extensão fornecido pelo Apigee Edge. | Nenhum | Sim |
version |
Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. | Nenhum | Sim |
configuration |
Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. | Nenhum | Sim |
Propriedades deste pacote de extensão
Especifique valores para as seguintes propriedades de configuração específicas dessa extensão.
| Propriedade | Descrição | Padrão | Obrigatório |
|---|---|---|---|
| URL do servidor de autorização | O URL a ser usado ao receber autorização do Salesforce. Normalmente, é https://login.salesforce.com |
Nenhum. | Sim. |
| Token do cliente do app conectado | O token do cliente fornecido pelo Salesforce para o app conectado que você criou. Consulte as instruções em Pré-requisitos para recuperar seu token do cliente. | Nenhum. | Sim. |
| Credencial | Quando inserido no console do Apigee Edge, esse é o conteúdo do arquivo salesforce.key gerado nas etapas. Quando enviado usando a API de gerenciamento, ele é um valor codificado em base64 gerado do arquivo salesforce.key. | Nenhum. | Sim. |
| Nome de usuário do usuário do Salesforce | O nome de usuário associado ao app conectado que você criou. A extensão do Salesforce vai usar isso para receber autorização do Salesforce. | Nenhum. | Sim. |