---
title: "Modelo"
method: POST
path: "/v1/send/template"
tags: ["Envio"]
---

# Modelo

`POST /v1/send/template`

Envia um modelo de mensagem para um único destinatário.
O campo TemplateId é obrigatório e deve corresponder a um template cadastrado no canal.
O campo Parameters deve ser preenchido caso o template possua variáveis.
O campo FileIdOrUrl é necessário apenas para templates com mídia.
O CallbackUrl permite receber webhook quando a mensagem for entregue ou falhar.
Este endpoint tem rate limit individual e permite 1000 requisições a cada 2 minutos.

## Request body

- PublicReqSendTemplateSingleDTO
  - `to` string, required
  - `from` string, required
  - `templateId` string, required — ID do modelo de mensagem a ser enviado.
  - `parameters` object, nullable — Parâmetros do modelo de mensagem. Obrigatório caso o template possua variáveis.
  - `fileIdOrUrl` string, nullable — URL pública ou ID de um arquivo a ser enviado junto ao template. O arquivo deve seguir as regras do canal de atendimento.
  - `callbackUrl` string, nullable — URL para receber webhook quando a mensagem for enviada ou falhar.
  - `sessionId` string, uuid, nullable — ID do atendimento. (Opcional) Deve ser utilizado para atendimentos em tempo real, como respostas de IA externa.
  - `options` PublicReqSendOptionsDTO
    - `enableBot` boolean, nullable — Determina se o chatbot deve ser ativado ao receber uma resposta do contato. Válido apenas caso um novo atendimento seja criado ao enviar a mensagem.
    - `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.
    - `forceStartSession` boolean, nullable — Se um atendimento estiver em andamento, força o encerramento dele e inicia um novo.
    - `user` PublicReqSendUserDTO
      - `id` string, uuid, nullable — ID do atendente a ser atribuído ao atendimento.
      - `phoneNumber` string, nullable — Telefone do atendente a ser atribuído ao atendimento.
      - `email` string, nullable — E-mail do atendente a ser atribuído ao atendimento.
    - `department` PublicReqSendDepartmentDTO
      - `id` string, uuid, nullable — ID da equipe a ser atribuída ao atendimento.
      - `name` string, nullable — Nome da equipe a ser atribuída ao atendimento.
  - `senderId` string, nullable — ID de identificação no seu sistema para rastreamento e consulta da mensagem.
  - `sessionMetadata` object, nullable — Metadados do atendimento na estrutura chave-valor. Utilizáveis como parâmetros no chatbot e enviados de volta nos webhooks. Válidos apenas enquanto o atendimento estiver ativo.

## 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)
