Skip to main content

Mensagem de Pedido

O tipo ORDER representa uma mensagem estruturada de pedido/compra. É primariamente recebido (inbound): quando um cliente seleciona produtos do catálogo do WhatsApp Business e envia o pedido, você recebe um webhook ORDER. Também pode ser enviado para confirmações de pedido, resumos de compra e notificações de e-commerce.

Payload

Campos

string
required
Deve ser "ORDER".
Address
required
Endereço do destinatário. Veja formatos de endereço.
string
Identificador do pedido. Exibido ao destinatário.
integer
Número total de itens no pedido.
long
Valor total do pedido em milésimos da unidade monetária. Veja a seção de valores abaixo.
string
Código da moeda no formato ISO 4217 (ex: BRL, USD, EUR).
string
Texto adicional da mensagem de pedido.
string
Imagem de preview do pedido em Base64 (JPEG).
array
Lista de itens do pedido.

Campos de cada item

string
Nome do produto/item.
integer
Quantidade do item.
long
Preço unitário do item em milésimos da unidade monetária.
string
Código da moeda do item (ex: BRL).
string
URL da imagem do produto.

Valores em Milésimos

Os campos de valor (totalAmount1000, price) usam milésimos como unidade. O valor é multiplicado por 1.000 (mil) em relação ao valor na unidade monetária.Para converter: valor monetário x 1.000 = valor no campo (ou campo / 1.000 = valor real).

Exemplos

Pedido completo

Pedido simples sem itens detalhados

Use o campo correlationId no Package para vincular o pedido ao seu sistema interno. Isso facilita o rastreamento quando você receber webhooks de status da mensagem.

Resposta

Recebimento

Quando um cliente monta um pedido a partir do catálogo do WhatsApp Business e o envia, você recebe um webhook com content.type igual a ORDER. O content traz os mesmos campos do envio (orderId, itemCount, totalAmount1000, totalCurrencyCode, text, thumbnail, items[]), acrescido do envelope comum de mensagem recebida (from, to, messageId, etc.).
string
Identificador único do pedido no WhatsApp.
integer
Quantidade total de itens no pedido.
long
Valor total do pedido em milésimos. Divida por 1.000 para obter o valor real (ex: 13500 = R$ 135,00).
string
Código da moeda (ex: BRL, USD).
string
Mensagem opcional enviada pelo cliente junto ao pedido. Pode vir vazia.
string
Thumbnail do pedido em Base64 (JPEG).
array
Lista de produtos do pedido.
string
Nome do produto.
integer
Quantidade solicitada.
long
Preço unitário em milésimos. Divida por 1.000 para obter o valor real (ex: 8500 = R$ 8,50).
string
Código da moeda do item (ex: BRL).
string
URL da imagem do produto no StorageFy. Veja a nota abaixo sobre disponibilidade.
Address
Endereço de quem enviou o pedido. Veja formatos de endereço.
string
Identificador da mensagem no WhatsApp.
Os demais campos do envelope (packageId, channelId, correlationId, timestamp, providerMetadata) e os campos comuns de mensagem (isFromMe, isGroupMessage, isForwarded, isStatusMessage, isHistoryMessage, isBroadcast, isAnnounceGroup, isCommunityNotices, isNewsletter, quotedMessage, metaReferralAds) estão descritos em Recebendo Mensagens.

Exemplo de payload recebido

Imagens dos produtos: as URLs em items[].imageUrl são presigned URLs do StorageFy. Quando o pedido chega, as imagens ainda podem estar em processamento. Um evento DOWNLOAD_AVAILABLE é enviado para cada imagem assim que ela fica pronta — o campo externalDownloadUrl do DOWNLOAD_AVAILABLE corresponde ao imageUrl do item.