Pular para o conteúdo

ChatGPT

Os conectores do ChatGPT exigem login por OAuth, que a TopTalking ainda não suporta. O caminho é um GPT personalizado com Actions: o ChatGPT lê o contrato OpenAPI da TopTalking e passa a chamar a API com a sua chave.

  1. Gere uma chave em Configurações → Desenvolvedor com o nome “ChatGPT” (comece com Somente leitura).

  2. No ChatGPT, vá em GPTs → Criar e abra a aba Configurar. (É preciso um plano que permita criar GPTs.)

  3. Preencha nome (ex.: “Atendimento TopTalking”), descrição e cole as instruções abaixo.

  4. Em Ações, clique em Criar nova ação.

  5. Em Autenticação, escolha Chave de API, tipo Bearer, e cole a chave tt_live_....

  6. Em Esquema, use Importar de URL com:

    https://platform.toptalking.com.br/openapi.yaml

    As ações aparecem listadas (getMe, listContacts, sendMessage…).

  7. Clique em Testar na ação getMe: a resposta deve trazer o nome da sua organização.

  8. Salve o GPT com visibilidade Somente eu.

Instruções do GPT:

Você é o assistente de atendimento da minha empresa e acessa a conta da TopTalking (WhatsApp + CRM com Kanban) pelas ações da API.
Regras:
- Responda em português do Brasil, de forma objetiva.
- Antes de qualquer ação que ENVIA mensagem (sendMessage, createScheduledMessage) ou ALTERA dados
(upsertContact, updateContact, cancelScheduledMessage, createWebhook, updateWebhook, deleteWebhook),
mostre exatamente o que vai fazer (destinatário, texto, horário) e só execute depois que eu disser "confirmo".
- Nunca envie a mesma mensagem para várias pessoas de uma vez. Nada de envio em massa.
- Ao enviar mensagem, sempre informe o cabeçalho Idempotency-Key com um valor único para aquele envio.
- Para mover um card no Kanban: busque as etapas com listStages e use updateContact com stage_id.
Avise que mover para a etapa com is_final = true finaliza a conversa.
- Para datas (send_at), use ISO 8601 com o fuso de Brasília (-03:00).
- Se uma ação falhar, explique o error.code e o error.message em linguagem simples.
- Nunca mostre a chave de API.

Exemplos de uso no GPT:

Quais conversas estão na etapa "Negociação"? Mostre nome, telefone e a prévia da última mensagem.
Leia o histórico da conversa com o telefone 5511999998888 e resuma o que o cliente pediu.
Sintoma O que fazer
A ação responde 401 Confira se a autenticação é Chave de API → Bearer e se a chave está certa (sem espaços).
A ação de envio responde 403 read_only_key A chave é Somente leitura. Crie outra com Acesso total se quiser permitir envios.
O importador mostra avisos sobre o esquema Avisos não impedem o uso. Se a importação falhar, abra https://platform.toptalking.com.br/openapi.json, copie o conteúdo e cole no campo de esquema.
Erro de CORS ou “Failed to fetch” Não acontece em Actions (a chamada sai dos servidores da OpenAI). Se aparecer, é porque o código está rodando no navegador — veja Autenticação.

No chat normal (sem GPT), entregue a documentação e as regras no começo:

Vou integrar meu sistema com a API da TopTalking (WhatsApp + CRM).
Use como referência a documentação em https://platform.toptalking.com.br/llms-full.txt e o contrato https://platform.toptalking.com.br/openapi.yaml.
Se não conseguir abrir os links, me avise que eu colo o conteúdo.
Regras: chamadas só pelo backend (a API não aceita chamadas do navegador), chave na variável de ambiente TOPTALKING_API_KEY
(nunca no código), cabeçalho Authorization: Bearer, Idempotency-Key em todo envio de mensagem, tratamento de erros pelo
campo error.code, paginação por cursor e validação da assinatura X-TopTalking-Signature nos webhooks.
Não invente endpoints nem campos.
O que eu preciso: [descreva aqui — ex.: "uma rota em Express que envia a confirmação do pedido pelo WhatsApp quando o pagamento é aprovado"].

O Codex lê o arquivo AGENTS.md do repositório. Adicione as regras da TopTalking nele — o conteúdo é o mesmo do CLAUDE.md do guia do Claude — e peça a tarefa:

Leia https://platform.toptalking.com.br/llms-full.txt e as regras da TopTalking no AGENTS.md.
Implemente o envio de confirmação de pedido pelo WhatsApp:
- Quando um pedido mudar para status "paid", envie POST https://platform.toptalking.com.br/v1/messages com
{ "to": <telefone do cliente com DDI>, "text": "Olá, <nome>! Recebemos o pagamento do pedido #<id>. Obrigado!" }
e Idempotency-Key "order-<id>-paid".
- A chave vem de TOPTALKING_API_KEY. Trate os erros pelo error.code (channel_unavailable, invalid_phone,
rate_limit_exceeded com Retry-After) e registre o request_id.
- Falha no WhatsApp não pode impedir a mudança de status do pedido: registre e siga.
- Escreva testes com a chamada HTTP mockada.