O escopo do token
Crie o token só com as permissões que este caso usa:DELETE nem PUT, porque esta integração nunca apaga nem edita nada. Se um dia
ela precisar atualizar contatos, acrescente contacts: PUT ao token.
1
Busque os ids fixos uma vez
O canal de saída e o painel do CRM não mudam de um pedido para outro. Busque os ids uma vez e
guarde na configuração:
2
Cadastre ou atualize o contato
Criar com
POST /contacts dá erro quando o cliente já comprou antes. Use o upsert, que cria o
contato ou atualiza o existente pelo número:3
Avise o cliente
Fora da janela de 24 horas do WhatsApp, a primeira mensagem precisa ser um template aprovado:A chave de idempotência usa o id do pedido, então é sempre a mesma para aquele pedido. Se a sua
rotina rodar duas vezes, o cliente recebe uma mensagem só. Para acompanhar o
jobId, veja
Enviar mensagens.4
Abra o card no painel
Para criar o card, informe nome, painel e etapa. O contato é vinculado em uma segunda chamada,
no endpoint de vínculo:O vínculo usa
contato.id, que é o id devolvido no passo 2. Os ids do Connecta DESK valem só
dentro do Connecta DESK. O id do pedido no seu sistema vai no nome do card ou em um campo
personalizado.Os padrões que se repetem
Upsert em vez de create
Upsert em vez de create
É comum uma integração processar o mesmo dado mais de uma vez, por causa de uma nova tentativa,
de um reprocessamento ou de um erro humano. Quando existir um endpoint de upsert, prefira
usá-lo. Assim a rotina pode rodar de novo sem duplicar cadastros.
Busque pelo identificador do seu sistema
Busque pelo identificador do seu sistema
Guarde o identificador do seu sistema em um campo do Connecta DESK (
code no contato, sku no
produto) e faça as buscas por ele. Assim a integração pode rodar de novo sem problema, e você
não precisa manter uma tabela que relaciona os seus ids aos do Connecta DESK.Idempotência em tudo que tem efeito externo
Idempotência em tudo que tem efeito externo
Uma mensagem enviada e um card criado são coisas que o cliente final vê. Nas duas chamadas,
envie uma
Idempotency-Key montada a partir de um dado do seu negócio, como o id do pedido.Guarde o que não muda
Guarde o que não muda
Canais, painéis, etapas, filas, tags e campos personalizados quase nunca mudam. Buscar esses
dados a cada execução é a forma mais comum de gastar o limite por minuto sem necessidade.
Antes de colocar em produção
O token tem só os módulos e métodos que a rotina usa, sem
DELETE “por precaução”.A chave está em variável de ambiente ou cofre de segredos, nunca no repositório.
Toda chamada que gera algo visível para o cliente envia uma
Idempotency-Key montada a partir de
um identificador do seu sistema.A integração separa erro definitivo (
4xx, não repetir) de erro temporário (429 e 5xx,
repetir depois de esperar). Veja Erros.O log registra
error.code, método e caminho de cada falha. São esses dados que o suporte usa
para localizar a requisição.Se o token tem prazo, a data de expiração está anotada junto da integração. Um token vencido
recebe o mesmo
401 de um token errado.
