---
title: "Chatbot"
method: POST
path: "/v1/send/chatbot"
tags: ["Envio"]
---

# Chatbot

`POST /v1/send/chatbot`

Enfileira o disparo de um chatbot para um contato.<br />
O processamento ocorre de forma assíncrona após o retorno deste endpoint.<br />
Este endpoint segue as mesmas regras do canal de atendimento, por exemplo: uma conversa só pode ser iniciada no WhatsApp utilizando um modelo de mensagem.<br />
Caso o contato não esteja cadastrado, ele será cadastrado automaticamente antes do envio.<br />
Este endpoint tem rate limit individual e permite 1000 requisições a cada 2 minutos.

## Request body

- PublicReqSendBotDTO
  - `botKey` string, uuid, nullable — Chave do chatbot a ser enviado.
  - `from` string, nullable — Número de telefone ou @usuarioinstagram do canal cadastrado na conta.
  - `to` string, nullable — Número de telefone ou @usuarioinstagram do destinatário.
  - `sessionId` string, uuid, nullable — ID da conversa para a qual o chatbot deve ser enviado.<br />Se a conversa estiver concluída, o chatbot será executado sem reiniciá-la.
  - `options` PublicReqSendBotOptionsDTO
    - `skipIfBotInExecution` boolean, nullable — Se outro chatbot estiver em execução, o chatbot não será enviado.
    - `skipIfInProgress` boolean, nullable — Se uma conversa estiver em andamento, o chatbot não será enviado.
    - `forceStartSession` boolean, nullable — Se uma conversa estiver em andamento, ela será concluída e uma nova será iniciada.
    - `hiddenSession` boolean, nullable — Determina se o atendimento deve estar oculto na tela. Válido apenas caso um novo atendimento seja criado ao enviar a mensagem. O atendimento passará a ser visível caso o contato responda.
  - `sessionMetadata` object, nullable — Metadados relevantes para o atendimento. Através deste campo, é possível salvar propriedades adicionais para o atendimento, na estrutura chave-valor. Qualquer metadado adicionado poderá ser utilizado como parâmetro nas mensagens e condicionais do chatbot, além de serem enviados de volta nos webhooks. Esses metadados são enviados apenas enquanto o atendimento estiver ativo, ou seja, não são enviados em atendimentos posteriores.
  - `contactMetadata` object, nullable — Metadados relevantes para o contato. Através deste campo, é possível salvar propriedades adicionais para o contato, na estrutura chave-valor. Qualquer metadado adicionado poderá ser utilizado como parâmetro nas mensagens e condicionais do chatbot, além de serem enviados de volta nos webhooks. Esses metadados são salvos no contato e, portanto, são enviados mesmo em atendimentos posteriores.
  - `senderId` string, nullable — ID de identificação no seu sistema para rastreamento e consulta do disparo.
  - `callbackUrl` string, nullable — URL para receber webhook quando o chatbot for iniciado ou falhar.

## Response `200`

Success

- PublicRespSendMessageDTO
  - `id` string, uuid
  - `createdAt` string, date-time
  - `updatedAt` string, date-time, nullable
  - `companyId` string, uuid
  - `sessionId` string, uuid, nullable
  - `status` 'PROCESSING' | 'SAVED' | 'QUEUED' | 'SENT' | 'DELIVERED' | 'READ' | 'FAILED' | 'DELETED' | 'WAIT_REPLY'
  - `senderId` string, nullable
  - `statusUrl` string, nullable
  - `sentAt` string, date-time, nullable
  - `failedReason` string, nullable
  - `callbackUrl` string, nullable
  - `waitReply` boolean, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too Many Requests
- `500` — Server Error

---

[API](https://skmtc.net/wts/apis/core.md) · [All operations](https://skmtc.net/wts/apis/core/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wts/core/versions/1efd0a6ba643/schema)
