Apresentando o Workbench
O Workbench não é um produto oficial da Salesforce.com. Mas utilizaremos o Salesforce para executar as operações de manipulação de dados, como selecionar, inserir, upsert, atualizar e excluir, apenas fazendo login em sua conta do Salesforce (compatível com Sandbox e Produção). Este é o site oficial para fazer login no Workbench com o Salesforce: https://workbench.developerforce.com/login.php .
A partir de agora, mantenha a versão da API apenas como existente e clique no botão “Login with Salesforce”.
Precisamos do Explorador REST. Navegue até a guia “utilitários” e clique em “REST Explorer”.
Você verá a IU como na ilustração a seguir. Precisamos optar por GET para buscar os registros do Salesforce em todo este guia. Precisamos especificar o URI que busca os registros do Salesforce e clicar no botão “Executar”.
Recuperar registro específico com ID do Salesforce
Com base no ID do registro do Salesforce, podemos buscar todo o registro do Salesforce. Precisamos definir o URI da seguinte maneira:
/ Serviços / dados / v56.0 / soluços / objectAPIName / eu iaAqui, o “objectAPIName” é o objeto padrão/personalizado do Salesforce e o “id” refere-se ao ID do Salesforce.
Retornar:
Você obterá a resposta bruta HTTP/1.1 200 OK no formato JSON, como no seguinte:
{'atributos' : {
'tipo' :
'url' :
} ,
'campo' : Valor,
...
}
Exemplo:
Neste exemplo, buscamos o registro de caso 5005i00000W4GM5AAN.
TIPO: / Serviços / dados / v56.0 / soluços / Caso / 5005i00000W4GM5AANResultado:
Podemos ver que a resposta é gerada no formato JSON.
Também podemos ver os resultados diretamente daqui:
Recupere vários registros com consulta
É hora de recuperar vários registros do objeto Salesforce. Anteriormente, especificávamos os objetos no URI. Aqui, precisamos especificar uma consulta que receba a consulta como parâmetro.
URI: serviços / dados / v57.0 / consulta / ? q =SELECT+field1,field2,....+from+ObjectAPINamePrecisamos usar “+” como delimitador para unir as palavras-chave em uma consulta. Ele retorna o totalSize e os registros em uma pasta. O nome da pasta para cada registro é [Item 1],…[Item n].
Exemplo 1:
Vamos retornar os registros que incluem CaseNumber, status, prioridade e descrição do objeto Case.
Resultado:
Ao clicar em “Expandir tudo”, você verá todos os registros com seus atributos e valores.
Deixe-me mostrar o primeiro e o último registro:
Exemplo 2:
Vamos retornar apenas três registros com os mesmos campos vistos no primeiro exemplo.
Resultado:
Os dois primeiros registros presentes no objeto Case são retornados.
Exemplo 3:
Vamos especificar a condição WHERE na consulta que seleciona os registros com o status “Novo”.
Resultado:
Existem cinco registros com o status “Novo”.
Recurso de descanso personalizado no Apex
Podemos utilizar o Salesforce Apex que retorna o registro do objeto Salesforce especificando o URI no Workbench. Para escrever REST no Apex, temos que utilizar algumas anotações que acessam a API REST em sua classe Apex. Certifique-se de que nossa classe Apex seja globalmente estática.
1. Anotação @RestResource
Essa anotação é usada para permitir que exponha uma classe do Apex como um recurso REST. Leva o urlMapping como um parâmetro que é usado para localizar o URI no Workbench.
Sintaxe: @RestResource(urlMapping=’/Version/ApexClassName/’)
A “versão” é a sua versão do Workbench como V56.0 e o “ApexClassName” é a sua classe Apex onde os recursos da API Rest estão envolvidos.
2. Anotação @HttpGet
Essa anotação é usada para permitir que exponha uma classe do Apex como um recurso REST. Ele é chamado quando uma solicitação HTTP GET é enviada ao servidor e retorna o recurso especificado.
Sintaxe: @httpGet
Exemplo 1: parâmetro único
Grave a classe Apex “RestApi_Get_Record.apxc” que envolve o método “Rest Get” para retornar o id, CaseNumber, status, prioridade e origem do caso do objeto Case.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )classe global RestApi_Get_Record {
// REST - Obter método
@ httpGet
caso estático global getCaseDetails ( ) {
// Criar objeto para objeto de caso
Caso case_obj = novo caso ( ) ;
Mapa < Corda, Corda > paramsMap = RestContext.request.params;
// Pegue o caso eu ia
String caseid =paramsMap.get ( 'input_id' ) ;
// consulta SOQL que irá retornar eu ia ,CaseNumber,Status,Prioridade,Origem do Caso de
// o objeto Caso
case_obj = [ selecionar eu ia ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
retornar case_obj;
}
}
URI e resultado:
Vá para o Workbench e navegue até o REST Explorer. Passe o id como 5002t00000Pdzr2AAB para o parâmetro input_id.
/ Serviços / vértice / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Explicação:
- Crie um objeto para o caso “case_obj”.
- Obtenha os parâmetros usando RestContext.request.params.
- Obtenha o ID do caso do parâmetro input_id e armazene-o na variável caseid.
- Escreva a consulta SOQL que retorna o id, CaseNumber, status, prioridade, origem do caso do objeto Case do caso “caseid”.
- Retorna o objeto case (case_obj).
Exemplo 2: vários parâmetros
Utilize a classe Apex anterior e obtenha o parâmetro “Status” junto com o id. Especifique esses dois parâmetros no Workbench URI que é separado por “&”.
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )classe global RestApi_Get_Record {
// REST - Obter método
@ httpGet
caso estático global getCaseDetails ( ) {
// Criar objeto para objeto de caso
Caso case_obj = novo Caso ( ) ;
Mapa < Corda, Corda > id_param = RestContext.request.params;
Mapa < Corda, Corda > status_param = RestContext.request.params;
// Obtenha o id_param no case_id
String case_id = id_param.get ( 'input_id' ) ;
// Obtenha o status_param no case_status
String case_status = status_param.get ( 'status' ) ;
case_obj = [ selecionar eu ia ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
retornar case_obj;
}
}
URI e resultado:
Vá para o Workbench e navegue até o REST Explorer. Passe o input_id como 5002t00000PdzqwAAB e o status como “Closed” no URI.
/ Serviços / vértice / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & status =Fechado
Conclusão
Discutimos três cenários de recuperação dos registros do Salesforce por meio da API REST do Salesforce usando o Workbench. Para retornar um registro específico, precisamos especificar o sObject passando o id como parâmetro na URI. Da mesma forma, passamos os parâmetros de consulta para obter registros específicos. Usando o Apex, podemos criar nosso próprio método “Get” para selecionar o registro com base em parâmetros únicos/múltiplos.