Português · English

Guia para ERP e sistemas de gestão

Integração por REST (não MCP). Contatos estão em todos os planos com API; negócios e tarefas (CRM) exigem o plano Business.

1. A chave

Crie uma chave de serviço com o modelo "ERP / sistema de gestão", restrinja ao IP do seu servidor e defina a validade (por exemplo 365 dias). Guarde a chave no cofre de segredos do ERP e gire-a uma vez por ano.

2. Mapeie os campos

No ERP No Atendlly
Código do cliente identifier do contato
Número do pedido / oportunidade external_id do negócio
Nome, e-mail, telefone name, email, phone (E.164 ou número brasileiro)
Outros dados (CPF, data de nascimento…) custom_attributes (até 30 campos)

3. Carga inicial e sincronização

# carga inicial: todos os contatos, 100 por página, seguindo next_cursor até has_more = false
curl "https://atende.suporteja.com.br/v1/contacts?updated_since=1970-01-01T00:00:00Z&limit=100" -H "Authorization: Bearer $KEY"

Depois, sincronize com updated_since (o maior updated_at que você já viu) e assine os webhooks contact_created, contact_updated e conversation_status_changed (veja webhooks).

4. Gravações sem duplicar

# cliente pelo código do ERP: cria ou atualiza (200 ou 201)
curl -X PUT "https://atende.suporteja.com.br/v1/contacts/by_identifier/CLI-000123" -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" -d '{"name": "Clínica Sorriso", "email": "contato@sorriso.com.br"}'

# negócio pelo número do pedido (Business): cria ou atualiza; repetir não duplica
curl -X PUT "https://atende.suporteja.com.br/v1/crm/deals/by_external_id/PED-98765" -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" -d '{"title": "Pedido 98765", "value_cents": 54000, "contact_id": 812}'

Para os outros POST, envie Idempotency-Key (veja idempotência).

5. Limites e erros

Trate 429 respeitando Retry-After, com espera exponencial. Veja limites e erros.

ERPs comuns

Bling, Omie, Tiny, TOTVS e Sankhya não têm integração nativa: use o código do cliente como identifier e o número do pedido como external_id, como acima. No negócio, a linha do tempo mostra "Integração «nome da chave»" e a origem api.