> ## Documentation Index
> Fetch the complete documentation index at: https://docs.connectvets.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Checklist de homologação do ERP

> Lista técnica para validar uma integração com o Flow antes de usar em produção

# Checklist de homologação do ERP

Use esta lista antes de ativar a integração em produção.

## Acesso

* [ ] A API key foi criada pelo administrador do workspace correto.
* [ ] A chave tem somente os scopes necessários.
* [ ] O ERP chama `GET /external/me` e usa o `workspace_id` retornado.
* [ ] A chave está em um cofre de segredos, nunca no front-end ou no repositório.

## Contatos

* [ ] Cada cliente do ERP possui um `external_id` estável.
* [ ] O mesmo cliente sempre é enviado com o mesmo `external_id`.
* [ ] O primeiro envio inclui `name` e `phone`.
* [ ] Telefones brasileiros usam o formato internacional, como `+5511999999999`.
* [ ] O ERP trata `200` como atualização e `201` como criação.
* [ ] O ERP trata `409` sem repetir indefinidamente a mesma chamada.
* [ ] O ERP lê `warnings` de respostas 2xx quando nome ou telefone podem ter sido preservados pelo Flow.

## Sincronização

* [ ] A clínica definiu se o Flow ou o ERP controla nome e telefone.
* [ ] O ERP não envia `peti9_id`; use somente `external_id`.
* [ ] Reenvios são seguros: a mesma operação não cria contatos duplicados.
* [ ] Exclusões só são habilitadas quando o ERP realmente precisa apagá-las.

## Webhooks

* [ ] A URL do ERP usa HTTPS público.
* [ ] O ERP valida a assinatura `X-Flow-Signature`.
* [ ] O ERP aceita tentativas repetidas do mesmo evento sem duplicar efeitos.
* [ ] O ERP responde rapidamente com HTTP 2xx e processa trabalho demorado de forma assíncrona.
* [ ] A equipe configurou uma forma de acompanhar falhas de entrega.

## Pesquisa de satisfação

* [ ] O scope `satisfaction:write` foi concedido apenas se necessário.
* [ ] O ERP envia a pesquisa somente após um atendimento concluído.
* [ ] O ERP mantém um identificador próprio do atendimento para evitar disparos duplicados.

## Liberação

* [ ] Um contato de teste foi criado e encontrado na tela **Contatos** do Flow.
* [ ] Uma atualização do mesmo contato não criou duplicata.
* [ ] O webhook de teste foi recebido e validado, se usado.
* [ ] A integração foi testada com dados fictícios antes dos dados reais.
* [ ] A clínica sabe quem revoga a chave em caso de incidente.

Veja também o [passo a passo para a clínica](/flow/integration/erp-getting-started) e a [referência de contatos](/flow/api-reference/contacts).
