BeeMessage API
ApiMessages

Create schedule (enqueue messages)

Cria um agendamento de mensagens para uma lista de contatos.

Você pode fornecer o conteúdo da mensagem de duas formas:


Opção A — Usar um MessageContent já criado (template)

Passe o campo messageContentId com o ID de um MessageContent que esteja com status PUBLISHED. O conteúdo (textos, imagens, áudios etc.) já deve existir na plataforma.

{
  "title": "Campanha Promoção",
  "messageContentId": "msgc_abc123",
  "sendAt": "2026-04-01T10:00:00.000Z",
  "contactIds": ["cont_aaa", "cont_bbb"]
}

Opção B — Envio direto de textos (sem template)

Passe o campo content com um array de textos que serão enviados em sequência para cada contato.

{
  "title": "Mensagem Rápida",
  "content": ["Oi tudo bem?", "Você quer conhecer nossa oferta?"],
  "sendAt": "2026-04-01T10:00:00.000Z",
  "contactIds": ["cont_aaa", "cont_bbb"]
}

Importante: enviar messageContentId e content ao mesmo tempo resultará em erro 400 MESSAGE_SOURCE_CONFLICT.

Da mesma forma, não enviar nenhum dos dois resultará em erro 400 MESSAGE_SOURCE_REQUIRED.

POST
/v1/messages/schedules
AuthorizationBearer <token>

Insira seu token de acesso abaixo. No Swagger: Não é necessário digitar "Bearer " antes do token, o sistema adiciona automaticamente.

Na API: As requisições devem incluir o header.

Exemplo: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://core.beemessage.app/v1/messages/schedules" \  -H "Content-Type: application/json" \  -d '{    "title": "Campanha X",    "sendAt": "2026-02-05T14:00:00.000Z",    "contactIds": [      "cont_abc123",      "cont_def456"    ]  }'
{
  "success": true,
  "data": {
    "id": "sch_abc123",
    "totalEnqueued": 2
  }
}
Empty
Empty