Introdução

No mundo atual, onde a integração de sistemas é crucial para a eficiência operacional, o Salesforce se destaca como uma plataforma poderosa para empresas. Uma parte importante do desenvolvimento em Salesforce é a capacidade de criar integrações por meio do Apex REST, que permite a construção de APIs RESTful diretamente na plataforma Salesforce. Neste tutorial, abordaremos como implementar essas integrações eficientes usando o Apex e como testar essas APIs utilizando o Postman, uma ferramenta popular para testar serviços web. Vamos explorar o processo desde a configuração do ambiente até a escrita de código e os testes necessários, garantindo que sua API seja robusta e confiável.

Etapas

  1. Configuração do Ambiente Salesforce

    A primeira etapa para desenvolver APIs RESTful em Salesforce é configurar o ambiente. Certifique-se de ter uma conta Salesforce e acesso ao Salesforce Developer Console. Faça login na sua conta e crie um novo espaço de trabalho para o desenvolvimento.

    commands
    # Acesse Salesforce e vá para Setup
    # Certifique-se de que você possui as permissões necessárias para criar Apex Classes e API
    # Abra o Developer Console para começar a codificação

  2. Criando uma Classe Apex para o REST Endpoint

    Nesta etapa, crie uma nova classe Apex que será responsável por expor um endpoint REST. A classe usará a anotação @RestResource e terá métodos para manipular dados. Crie uma classe chamada ‘ProdutoController’.

    ProdutoController.cls
    public with sharing class ProdutoController {
        @HttpGet
        global static List<Produto__c> doGet() {
            return [SELECT Id, Nome__c, Preco__c FROM Produto__c];
        }
    
        @HttpPost
        global static String doPost(Produto__c produto) {
            insert produto;
            return produto.Id;
        }
    
        @HttpPatch
        global static String doPatch(String id, Produto__c produto) {
            Produto__c existingProduto = [SELECT Id, Nome__c, Preco__c FROM Produto__c WHERE Id = :id LIMIT 1];
            existingProduto.Nome__c = produto.Nome__c;
            existingProduto.Preco__c = produto.Preco__c;
            update existingProduto;
            return existingProduto.Id;
        }
    
        @HttpDelete
        global static void doDelete(String id) {
            Produto__c existingProduto = [SELECT Id FROM Produto__c WHERE Id = :id LIMIT 1];
            delete existingProduto;
        }
    }

  3. Testando o Endpoint com Postman

    Agora que você criou o endpoint, vamos usar o Postman para testar as funcionalidades. Abra o Postman e defina as chamadas para os métodos GET, POST, PATCH e DELETE. Comece configurando um novo request de teste.

    Postman_examples
    GET: https://your_instance.salesforce.com/services/apexrest/ProdutoController
    POST: https://your_instance.salesforce.com/services/apexrest/ProdutoController - Body: {"Nome__c":"Produto A", "Preco__c":100.0}
    PATCH: https://your_instance.salesforce.com/services/apexrest/ProdutoController/{id} - Body: {"Nome__c":"Produto A Modificado", "Preco__c":120.0}
    DELETE: https://your_instance.salesforce.com/services/apexrest/ProdutoController/{id}

  4. Criando um Teste de Unidade para a Classe Apex

    É importante garantir que sua API funcione corretamente. Crie uma classe de teste para o seu controller utilizando a @isTest para validar as operações que você implementou. Crie uma classe chamada ‘ProdutoControllerTest’.

    ProdutoControllerTest.cls
    @isTest
    private class ProdutoControllerTest {
        @isTest
        static void testDoGet() {
            List<Produto__c> produtos = ProdutoController.doGet();
            System.assertNotEquals(0, produtos.size());
        }
    
        @isTest
        static void testDoPost() {
            Produto__c novoProduto = new Produto__c(Nome__c='Produto B', Preco__c=200.0);
            String id = ProdutoController.doPost(novoProduto);
            System.assertNotEquals(null, id);
        }
    }

  5. Executando Testes e Verificando Resultados

    Depois de criar sua classe de teste, execute os testes para garantir que tudo esteja funcionando conforme o esperado. Acesse a guia Test no Salesforce e execute seus testes unitários recém-criados. Revise os resultados para verificar se todos os testes passaram.

    commands
    # Acesse o Developer Console
    # Vá para Test > New Run
    # Selecione ProdutoControllerTest e clique em Run

Conclusão

Neste tutorial, abordamos a criação de integrações eficientes em Salesforce utilizando Apex REST. Aprendemos a criar um endpoint básico, testar esse endpoint com Postman e como garantir a qualidade do código com testes unitários. Essas habilidades são essenciais para desenvolvedores que desejam construir APIs robustas e confiáveis na plataforma Salesforce. Continue explorando as funcionalidades do Apex e as possibilidades de integração para enriquecer suas aplicações corporativas.

Hashtags

#Salesforce #Apex #RESTAPI #Postman #DesenvolvimentoDeSoftware