---
updatedAt: 2026-09-01T13:50:42.000Z
agentTools:
  projectIndex: https://docs.asaas.com/llms.txt
---

# Sistema dependente apenas da resposta síncrona

Esse erro ocorre quando a integração trata a resposta imediata da API como confirmação final da operação.

A resposta síncrona representa apenas o resultado daquela requisição. A operação pode mudar posteriormente e essas alterações precisam ser acompanhadas por eventos ou consultas de reconciliação.

### Como identificar

* o status local é definido somente no momento da criação;
* a resposta inicial é tratada como confirmação definitiva;
* o ID retornado pelo Asaas não é armazenado ou relacionado ao registro interno;
* o sistema não acompanha eventos posteriores;
* alterações realizadas no Asaas não aparecem no sistema;
* não existe rotina para identificar e corrigir divergências.

### Como corrigir

1. Mapeie o ciclo de vida completo da operação.
2. Identifique os estados iniciais, intermediários e finais.
3. Armazene o ID retornado pelo Asaas.
4. Relacione esse ID ao registro interno.
5. Registre a resposta síncrona como estado inicial, quando aplicável.
6. Acompanhe as mudanças posteriores por webhooks.
7. Atualize o estado local conforme novos eventos forem recebidos.
8. Implemente uma rotina de reconciliação para corrigir divergências.
9. Execute ações críticas somente após a confirmação do estado esperado.

**Fluxo recomendado:** criar → armazenar o ID → registrar o estado inicial → acompanhar eventos → reconciliar.

### Fluxo de diagnóstico

#### 1. Modelagem da operação

```mermaid
%%{init: {"flowchart": {"nodeSpacing": 18,"rankSpacing": 24,"diagramPadding": 4,"padding": 7
}}}%%
flowchart TD
    A["A API retornou sucesso na criação"] --> B{"A resposta inicial é tratada como confirmação final?"}

    B --> BSim(("Sim"))
    B --> BNao(("Não"))
    B --> BDuvida(("Não sabe"))

    BSim --> C["Mapear o ciclo de vida da operação"]
    BDuvida --> C

    BNao --> D{"O ID retornado foi armazenado?"}
    C --> D

    D --> DSim(("Sim"))
    D --> DNao(("Não"))

    DNao --> E["Salvar o ID e relacioná-lo ao registro interno"]

    DSim --> F{"Os estados possíveis estão definidos?"}
    E --> F

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

    FNao --> G["Definir estados iniciais, intermediários e finais"]
    FDuvida --> H["Consultar a documentação e as regras da operação"]
    H --> G

    FSim --> I["Registrar o estado inicial sem encerrar o ciclo"]
    G --> I

    I --> J["Seguir para o acompanhamento da operação"]

    classDef inicio fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A,stroke-width:3px
    classDef decisao fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:3px
    classDef correcao fill:#FFEDD5,stroke:#EA580C,color:#7C2D12,stroke-width:2px
    classDef validacao fill:#E0F2FE,stroke:#0284C7,color:#0C4A6E,stroke-width:2px
    classDef sucesso fill:#DCFCE7,stroke:#16A34A,color:#14532D,stroke-width:3px
    classDef analise fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D,stroke-width:3px

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

    class A inicio
    class B,D,F decisao
    class C,E,G correcao
    class I validacao
    class J sucesso
    class H analise

    class BSim,DSim,FSim respostaSim
    class BNao,DNao,FNao respostaNao
    class BDuvida,FDuvida respostaDuvida

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

    linkStyle 1,8,13 stroke:#22C55E,stroke-width:4px
    linkStyle 2,9,14 stroke:#EF4444,stroke-width:4px
    linkStyle 3,15 stroke:#8B5CF6,stroke-width:4px
```

<br />

#### 2. Acompanhamento e reconciliação

```mermaid
%%{init: {"flowchart": {"nodeSpacing": 18,"rankSpacing": 24,"diagramPadding": 4,"padding": 7
}}}%%
flowchart TD
    A["Operação criada e estado inicial registrado"] --> B{"Mudanças posteriores são acompanhadas?"}

    B --> BSim(("Sim"))
    B --> BNao(("Não"))

    BNao --> C["Configurar e processar webhooks"]

    BSim --> D{"O estado local é atualizado pelos eventos?"}
    C --> D

    D --> DSim(("Sim"))
    D --> DNao(("Não"))
    D --> DDuvida(("Não sabe"))

    DNao --> E["Relacionar o evento ao ID da operação"]

    DDuvida --> G["Comparar os eventos recebidos com o histórico local"]
    G --> E

    E --> F["Atualizar o estado local de forma idempotente"]

    DSim --> H{"Existe rotina de reconciliação?"}
    F --> H

    H --> HSim(("Sim"))
    H --> HNao(("Não"))

    HNao --> I["Implementar consultas periódicas à API"]

    HSim --> J{"Existe divergência entre os estados?"}
    I --> J

    J --> JSim(("Sim"))
    J --> JNao(("Não"))

    JSim --> K["Corrigir o estado local e registrar a divergência"]
    JNao --> L["Manter monitoramento e histórico"]

    K --> L

    classDef inicio fill:#DBEAFE,stroke:#2563EB,color:#1E3A8A,stroke-width:3px
    classDef decisao fill:#FEF3C7,stroke:#D97706,color:#78350F,stroke-width:3px
    classDef correcao fill:#FFEDD5,stroke:#EA580C,color:#7C2D12,stroke-width:2px
    classDef validacao fill:#E0F2FE,stroke:#0284C7,color:#0C4A6E,stroke-width:2px
    classDef sucesso fill:#DCFCE7,stroke:#16A34A,color:#14532D,stroke-width:3px
    classDef analise fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D,stroke-width:3px

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

    class A inicio
    class B,D,H,J decisao
    class C,E,F,I,K correcao
    class G analise
    class L sucesso

    class BSim,DSim,HSim,JSim respostaSim
    class BNao,DNao,HNao,JNao respostaNao
    class DDuvida respostaDuvida

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

    linkStyle 1,6,15,20 stroke:#22C55E,stroke-width:4px
    linkStyle 2,7,16,21 stroke:#EF4444,stroke-width:4px
    linkStyle 8 stroke:#8B5CF6,stroke-width:4px
```

<br />

> O primeiro fluxo valida **como a operação foi modelada**, enquanto o segundo verifica **como as mudanças posteriores são acompanhadas e reconciliadas**.

<br />

### Como prevenir

Modele o ciclo de vida das entidades antes da implementação. Defina quais respostas representam apenas o estado inicial e quais confirmam a conclusão da operação. Configure webhooks, mantenha uma rotina de reconciliação e valide o fluxo completo antes do go-live.

> **A resposta da API confirma a requisição. O estado final da operação pode ser definido depois.**

<br />

# Sibling pages

* [Webhook recebido, mas não persistido](https://docs.asaas.com/docs/webhook-recebido-mas-não-persistido.md)
* [Webhook com timeout ou resposta demorada](https://docs.asaas.com/docs/webhook-não-processado-dentro-do-tempo-esperado.md)
* [API Key usada no ambiente errado](https://docs.asaas.com/docs/api-key-de-sandbox-usada-em-produção.md)
* [Cobrança duplicada após retry sem idempotência](https://docs.asaas.com/docs/cobrança-duplicada-após-retry-sem-idempotência.md)
* [Entidade criada sem vínculo com o registro interno](https://docs.asaas.com/docs/entidade-criada-sem-vínculo-com-o-registro-interno.md)
* [Status local divergente do Asaas](https://docs.asaas.com/docs/status-local-divergente-do-asaas.md)
* [Requisições bloqueadas por ausência de controle de limites](https://docs.asaas.com/docs/requisições-bloqueadas-por-ausência-de-controle-de-limites.md)
* [Listagem incompleta por ausência de paginação](https://docs.asaas.com/docs/listagem-incompleta-por-ausência-de-paginação.md)
* [Webhook duplicado processado sem idempotência](https://docs.asaas.com/docs/webhook-duplicado-processado-sem-idempotência.md)