Pular para o conteúdo

Publicar no canal

POST/v1/instances/{id}/channels/{jid}/messagesdesde M10token da instância ou admin

Quando usar

Publica texto, imagem, vídeo, áudio ou documento num canal de que o número é dono ou admin (403 forbidden caso contrário). Vai pela fila de envio; aceita ?wait=true e client_message_id.

Autenticação

Aceita o token da instância (só a própria instância) ou o token admin. Um token de outra instância recebe 403 forbidden (ou 404 not_found em webhooks de outra instância).

Parâmetros

Caminho

NomeTipoDescrição
idobrigatóriostringId da instância (inst_...).
jidobrigatóriostringJID do canal (<id>@newsletter) ou só o id numérico.

Corpo (JSON)

NomeTipoDescrição
typeobrigatório"text" | "image" | "video" | "audio" | "document"
textstring
captionstring
mediaMediaInputInforme url ou base64.
media.urlstringhttp(s) público; o servidor baixa (timeout 30s, sem IPs privados).
media.base64string
media.mimestring
media.file_namestringAté 255 bytes.
media.pttbooleanÁudio como mensagem de voz.
media.urlstringhttp(s) público; o servidor baixa (timeout 30s, sem IPs privados).
media.base64string
media.mimestring
media.file_namestringAté 255 bytes.
media.pttbooleanÁudio como mensagem de voz.
client_message_idstring
expires_afterstring

Exemplo

Janela do terminal
curl -s -X POST "$LITEZAP_URL/v1/instances/$ID/channels/$JID/messages" \
-H "Authorization: Bearer $LITEZAP_TOKEN" \
-d '{"type":"text","text":"Promoção relâmpago até 18h!"}'

Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.

Resposta

200 Publicado.

Campos de Message
idstring
client_message_idstring
wa_message_idstring
chatstring
senderstring
from_meboolean
source"contact" | "api" | "device" | "history"
typestring
textstring
mediaMediaInfo
media.idstringId da mídia recebida.
media.kindstring
media.mimestring
media.sizeinteger
media.file_namestring
media.secondsinteger
media.pttboolean
media.urlstringCaminho da API para baixar (mídia recebida).
reaction_tostring
status"queued" | "in_flight" | "sent" | "delivered" | "read" | "played" | "failed" | "received" | "pending"
attemptsinteger
errorstringÚltimo erro (codigo: detalhe) de item não enviado.
timestampstring

202 Na fila.

Campos de Message
idstring
client_message_idstring
wa_message_idstring
chatstring
senderstring
from_meboolean
source"contact" | "api" | "device" | "history"
typestring
textstring
mediaMediaInfo
media.idstringId da mídia recebida.
media.kindstring
media.mimestring
media.sizeinteger
media.file_namestring
media.secondsinteger
media.pttboolean
media.urlstringCaminho da API para baixar (mídia recebida).
reaction_tostring
status"queued" | "in_flight" | "sent" | "delivered" | "read" | "played" | "failed" | "received" | "pending"
attemptsinteger
errorstringÚltimo erro (codigo: detalhe) de item não enviado.
timestampstring

Erros

CódigoHTTPRetentávelO que fazer
validation_failed400nãoCorrija o corpo ou os parâmetros; a message diz o campo.
unauthorized401nãoEnvie Authorization: Bearer <token> válido.
forbidden403nãoUse o token certo (admin, ou o da própria instância).
not_found404nãoConfira o id do recurso (mensagem, chat, contato, mídia ou webhook).
instance_not_found404nãoConfira o id da instância.

Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.

Eventos gerados

Equivalente na Z-API: (via enviar mensagem para o canal). Veja Migrar da Z-API.

Outras operações de Canais: Listar canais seguidos · Criar canal · Canal por link de convite · Metadados do canal · Seguir, deixar de seguir, silenciar · Publicações do canal · Reagir a publicação