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 um par de chave privada/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 vai 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 vai fornecer acesso à extensão do Salesforce. Confira as instruções para configurar o app.
Receba a chave do consumidor do app conectado. A extensão vai usar isso ao fazer a autenticação com o app.
- Na configuração do Salesforce, no painel de navegação à esquerda, acesse Apps > App Manager.
- 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 Consumer Key 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, você precisa criar um app conectado do Salesforce para que a extensão possa se conectar a ele.
No Salesforce, um app conectado permite que aplicativos externos se conectem 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 (Enable OAuth Settings), marque a caixa de seleção Enable OAuth Settings.
- Embora não seja usada pela extensão, digite um URL de callback. Você pode usar
http://localhost/ou outro host de marcador. - 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 estejam 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 algum erro, talvez seja necessário gerar novamente e fazer upload do arquivo
salesforce.crt. - 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, depois, 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 esse app.
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). O gerenciamento de relacionamento com o cliente ajuda as empresas a entender as necessidades dos clientes e resolver problemas ao gerenciar melhor as informações e as interações com os clientes. Tudo isso em uma única plataforma que está sempre acessível a partir de 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 dos 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 os 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
Recupera registros como sObjects pelos IDs. 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
Listar 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 de 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 dos registros a serem listados. | 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 dos 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 for 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. |
| Chave de cliente do app conectado | A chave do consumidor fornecida pelo Salesforce para o app conectado que você criou. Consulte as instruções em Pré-requisitos para recuperar sua chave de consumidor. | 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, é 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. |