Preparação para produção

Valide credenciais, configurações, Webhooks, retries, monitoramento e contingência antes de levar sua integração com o Asaas para produção.

Uma integração validada no Sandbox não está automaticamente pronta para operar em produção.

Credenciais, URLs, Webhooks, permissões, volume, monitoramento e comportamento operacional precisam ser revisados no ambiente produtivo antes do go-live.

📘

Ao concluir esta página, você terá um checklist para validar se os principais componentes da integração estão realmente preparados para operar em produção.

Quando utilizar

Utilize este checklist ao:

  • preparar uma nova integração para o primeiro go-live;
  • migrar um fluxo validado no Sandbox para produção;
  • habilitar uma nova funcionalidade em uma integração existente;
  • revisar uma integração antes de aumentar seu volume de operações;
  • estruturar uma validação técnica antes de liberar o fluxo para usuários reais.

Antes de começar

Antes da validação de produção:

  • conclua os testes funcionais no Sandbox;
  • defina quais fluxos serão liberados no go-live;
  • tenha acesso às credenciais e configurações do ambiente de produção;
  • identifique os responsáveis pelo acompanhamento da integração;
  • defina como a operação será pausada ou recuperada caso ocorra uma falha após a liberação.

Como funciona

A preparação para produção deve validar novamente cada componente no ambiente em que a integração realmente irá operar.

%%{init: {"flowchart": {"nodeSpacing": 28,"rankSpacing": 32,"diagramPadding": 8,"padding": 10}}}%%
flowchart TD
    A["Integração validada no Sandbox"] --> B["Revisar ambiente de produção"]
    B --> C["Validar credenciais e configurações"]
    C --> D["Testar Webhooks e fluxo completo"]
    D --> E["Validar falhas e recuperação"]
    E --> F["Ativar logs e monitoramento"]
    F --> G{"Critérios de go-live atendidos?"}

    G --> GSim(("Sim"))
    G --> GNao(("Não"))

    GSim --> H["Liberar integração"]
    GNao --> I["Corrigir pendências"]
    I --> B

    H --> J["Acompanhar operação inicial"]

    classDef inicio fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A,stroke-width:3px,font-size:17px
    classDef processo fill:#E0F2FE,stroke:#0284C7,color:#0C4A6E,stroke-width:2px,font-size:17px
    classDef decisao fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:2px,font-size:17px
    classDef sucesso fill:#DCFCE7,stroke:#16A34A,color:#14532D,stroke-width:3px,font-size:17px
    classDef recuperacao fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D,stroke-width:2px,font-size:17px

    classDef respostaSim fill:#22C55E,stroke:#15803D,color:#FFFFFF,stroke-width:3px
    classDef respostaNao fill:#EF4444,stroke:#B91C1C,color:#FFFFFF,stroke-width:3px

    class A inicio
    class B,C,D,E,F,J processo
    class G decisao
    class H sucesso
    class I recuperacao

    class GSim respostaSim
    class GNao respostaNao

    linkStyle default stroke:#94A3B8,stroke-width:2px

O objetivo não é repetir todos os testes realizados no Sandbox, mas confirmar que as dependências e configurações necessárias também existem e funcionam corretamente em produção.

1. Revise credenciais e permissões

Antes de realizar qualquer chamada em produção, confirme se a aplicação está utilizando as credenciais correspondentes ao ambiente correto.

Verifique:

  • se a API Key utilizada foi gerada em produção;
  • se nenhuma credencial de Sandbox permanece configurada;
  • se a credencial está armazenada fora do código-fonte;
  • se somente os serviços necessários possuem acesso à chave;
  • se as permissões disponíveis correspondem às operações executadas pela integração;
  • se existe um procedimento definido para substituição ou rotação da credencial.
⚠️

Credenciais de Sandbox e produção pertencem a ambientes diferentes. Sempre valide a origem da API Key antes do go-live.

Evite depender de alterações manuais não documentadas no momento da publicação.

Configurações sensíveis devem estar separadas por ambiente e fazer parte do processo de implantação da aplicação.

2. Confirme URLs e configurações do ambiente

Além das credenciais, revise todas as configurações que mudam entre Sandbox e produção.

Isso inclui, quando aplicável:

  • URL base utilizada nas requisições;
  • URLs de Webhook;
  • permissões;
  • identificadores configurados por ambiente;
  • variáveis de ambiente;
  • parâmetros específicos da integração;
  • configurações de serviços externos relacionados ao fluxo.

Não presuma que uma configuração criada no Sandbox também estará disponível em produção.

Cada ambiente deve ser validado separadamente.

Mantenha as configurações de Sandbox e produção explicitamente separadas. Isso reduz o risco de uma aplicação produtiva utilizar credenciais, URLs ou recursos do ambiente de testes.

3. Valide os Webhooks em produção

O recebimento de Webhooks deve ser testado novamente no ambiente produtivo.

Confirme se:

  • a URL correta está cadastrada;
  • o endpoint está acessível externamente;
  • as validações de segurança estão funcionando;
  • o evento é persistido antes do processamento;
  • a resposta ocorre dentro do tempo esperado;
  • o processamento assíncrono está ativo;
  • eventos duplicados podem ser tratados sem repetir efeitos;
  • falhas ficam disponíveis para reprocessamento.

Não considere o fluxo validado apenas porque o endpoint funcionou no Sandbox.

Infraestrutura, regras de rede, domínio, proxy, firewall, certificados e serviços intermediários podem ser diferentes em produção.

4. Teste o fluxo de ponta a ponta

Execute pelo menos um fluxo completo utilizando o ambiente produtivo antes de liberar a integração para todo o volume esperado.

O teste deve incluir as etapas relevantes da operação, como:

  1. enviar a requisição inicial;
  2. armazenar os identificadores retornados;
  3. acompanhar o estado da entidade;
  4. receber o evento correspondente;
  5. processar a atualização;
  6. atualizar o registro local;
  7. confirmar o resultado final da operação.
%%{init: {"flowchart": {"nodeSpacing": 28,"rankSpacing": 32,"diagramPadding": 8,"padding": 10}}}%%
flowchart TD
    A["Executar operação real controlada"] --> B["Registrar ID e estado inicial"]
    B --> C["Aguardar atualização"]
    C --> D["Receber e processar evento"]
    D --> E["Atualizar sistema local"]
    E --> F{"Resultado está consistente?"}

    F --> FSim(("Sim"))
    F --> FNao(("Não"))

    FSim --> G["Registrar fluxo validado"]
    FNao --> H["Investigar divergência"]
    H --> I["Corrigir configuração ou implementação"]
    I --> A

    classDef inicio fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A,stroke-width:3px,font-size:17px
    classDef processo fill:#E0F2FE,stroke:#0284C7,color:#0C4A6E,stroke-width:2px,font-size:17px
    classDef decisao fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:2px,font-size:17px
    classDef sucesso fill:#DCFCE7,stroke:#16A34A,color:#14532D,stroke-width:3px,font-size:17px
    classDef recuperacao fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D,stroke-width:2px,font-size:17px

    classDef respostaSim fill:#22C55E,stroke:#15803D,color:#FFFFFF,stroke-width:3px
    classDef respostaNao fill:#EF4444,stroke:#B91C1C,color:#FFFFFF,stroke-width:3px

    class A inicio
    class B,C,D,E processo
    class F decisao
    class G sucesso
    class H,I recuperacao

    class FSim respostaSim
    class FNao respostaNao

    linkStyle default stroke:#94A3B8,stroke-width:2px

Utilize operações controladas e compatíveis com o fluxo que será disponibilizado aos usuários.

O objetivo é verificar a integração como um sistema completo, e não apenas confirmar que um endpoint responde.

5. Teste também cenários de falha

O caminho de sucesso não é suficiente para validar uma integração produtiva.

Inclua cenários em que sua aplicação precise lidar com situações como:

  • erro de validação;
  • indisponibilidade temporária;
  • timeout;
  • resposta inconclusiva;
  • Webhook duplicado;
  • falha no processamento de um evento;
  • atraso em uma atualização;
  • necessidade de retry;
  • divergência entre o estado local e o Asaas.

O objetivo é confirmar que os mecanismos definidos nos capítulos anteriores funcionam também fora do cenário ideal.

⚠️

Um fluxo que funciona apenas quando todas as chamadas e eventos ocorrem conforme o esperado ainda não está preparado para lidar com falhas reais de integração.

6. Ative logs e rastreabilidade antes do go-live

Não espere o primeiro incidente para descobrir quais informações precisam ser registradas.

Antes de liberar a integração, confirme se é possível relacionar uma operação entre os diferentes componentes do sistema.

Registre, quando aplicável:

  • identificador interno;
  • ID retornado pelo Asaas;
  • externalReference;
  • data e horário das chamadas;
  • resultado das requisições;
  • estado conhecido da entidade;
  • eventos recebidos;
  • resultado do processamento;
  • retries executados;
  • falhas e reconciliações realizadas.

Evite registrar credenciais, dados sensíveis ou informações desnecessárias para o diagnóstico.

O objetivo é conseguir responder, a partir dos registros disponíveis, o que aconteceu com uma determinada operação.

7. Configure monitoramento e alertas

Logs permitem investigar um problema. Monitoramento permite descobrir que ele está acontecendo.

Defina indicadores para os pontos mais importantes da integração, como:

  • aumento de erros nas chamadas à API;
  • crescimento de respostas 5xx;
  • ocorrências de timeout;
  • eventos com erro de processamento;
  • eventos acumulados em fila;
  • aumento no tempo de processamento;
  • operações que permanecem em estados intermediários além do esperado;
  • falhas recorrentes em retries;
  • divergências encontradas pela reconciliação.

Também defina quando um comportamento deve gerar alerta e quem será responsável por avaliá-lo.

Não dependa exclusivamente da reclamação de um usuário para descobrir uma falha.

8. Revise capacidade e comportamento sob volume

Uma integração que funciona com poucas requisições pode se comportar de maneira diferente quando o volume aumenta.

Antes de ampliar o tráfego, avalie:

  • volume esperado de operações;
  • concorrência das requisições;
  • velocidade de consumo dos Webhooks;
  • capacidade das filas e workers;
  • tempo médio de processamento;
  • estratégia de retry;
  • limites aplicáveis aos endpoints utilizados.

O objetivo é evitar que um aumento de volume transforme pequenas falhas em filas crescentes, retries simultâneos ou sobrecarga da própria aplicação.

9. Defina um plano de contingência

Antes do go-live, determine o que será feito se uma falha relevante ocorrer.

O plano deve definir, pelo menos:

  • quando interromper temporariamente novas operações;
  • como evitar novos efeitos enquanto o problema é investigado;
  • como identificar operações afetadas;
  • como reprocessar ou reconciliar operações pendentes;
  • quem deve ser acionado;
  • quais informações devem ser reunidas para investigação;
  • quais critérios permitem retomar o fluxo.

O momento de definir esse processo é antes do incidente.

Um plano de contingência não precisa prever todas as falhas possíveis. Ele precisa deixar claro como reduzir o impacto, identificar as operações afetadas e recuperar o fluxo com segurança.

Checklist de go-live

Antes de liberar a integração, valide:

ItemConfirme
AmbienteURLs e credenciais correspondem a produção
CredenciaisAPI Key está protegida e possui as permissões necessárias
ConfiguraçõesParâmetros necessários foram configurados no ambiente produtivo
WebhooksEndpoint de produção está ativo, testado e monitorado
EstadosA aplicação acompanha as mudanças necessárias das entidades
EventosDuplicidades, atrasos e falhas podem ser tratados
RetriesTimeouts e erros temporários não geram novas operações sem validação
ConcorrênciaA mesma operação não pode ser executada simultaneamente por múltiplos processos
ReconciliaçãoDivergências podem ser identificadas e corrigidas
LogsIDs, estados, eventos e tentativas podem ser rastreados
MonitoramentoFalhas relevantes geram indicadores ou alertas
ContingênciaExiste procedimento para pausar, investigar e recuperar o fluxo

Atenção — erros comuns

Evite entrar em produção:

  • assumindo que o comportamento observado no Sandbox será idêntico sem nova validação;
  • utilizando uma API Key do ambiente incorreto;
  • mantendo URLs de Sandbox em configurações produtivas;
  • sem revisar as permissões utilizadas;
  • sem cadastrar ou testar os Webhooks de produção;
  • validando somente o caminho de sucesso;
  • sem mecanismos de retry e prevenção de duplicidade;
  • sem logs suficientes para rastrear uma operação;
  • sem monitoramento de falhas;
  • sem definir quem acompanha os primeiros dias da integração;
  • sem um plano de contingência.

Confirme sua arquitetura

Antes do go-live, confirme se sua equipe consegue responder:

  • As credenciais utilizadas pertencem ao ambiente de produção?
  • As URLs e demais configurações foram revisadas?
  • As permissões disponíveis são suficientes e adequadas ao fluxo?
  • Os Webhooks de produção foram testados de ponta a ponta?
  • A aplicação consegue lidar com eventos duplicados e falhas de processamento?
  • Timeouts e respostas inconclusivas são tratados sem gerar retries indevidos?
  • Existe proteção contra execuções concorrentes?
  • O fluxo foi validado também em cenários de falha?
  • Divergências podem ser reconciliadas?
  • É possível rastrear uma operação utilizando os logs disponíveis?
  • Existem alertas para os principais tipos de falha?
  • A equipe sabe o que fazer se uma falha relevante ocorrer após o go-live?

Se alguma dessas respostas ainda depender de uma investigação ou decisão durante um incidente, existe uma pendência de preparação para produção.

Boas práticas

  • mantenha configurações explicitamente separadas por ambiente;
  • valide credenciais, URLs e Webhooks novamente em produção;
  • realize um teste controlado de ponta a ponta antes de aumentar o volume;
  • inclua cenários de falha na validação;
  • ative logs e monitoramento antes da primeira operação real;
  • acompanhe de forma mais próxima o início da operação;
  • aumente volume gradualmente quando o fluxo permitir;
  • mantenha responsáveis e procedimentos de contingência definidos;
  • revise periodicamente a arquitetura conforme a integração evoluir.
📘

Estar pronto para produção significa confirmar que estados, eventos, Webhooks, retries, idempotência, reconciliação e observabilidade funcionam no ambiente real — e que a integração consegue se recuperar quando alguma dessas etapas falha.


Did this page help you?