Pular para o conteúdo principal

Catálogo de eventos do site

Com a sincronização ligada, o site conectado avisa o Joinotify do que acontece nele, um evento de cada vez. Cada evento tem um nome no formato <origem>.<objeto>.<o que aconteceu> — wc.order.paid, wp.user.registered — e é esse nome que o gatilho Evento do site e o passo Aguardar evento escutam.

Os exemplos desta página são os mesmos que o plugin informa ao painel e que o editor mostra em Exemplo do evento: valores inventados, no formato exato dos dados reais.

Quais eventos um site envia​

Cada origem só envia se o plugin dela estiver ativo no WordPress e se a opção correspondente estiver ligada na janela da sincronização (os rótulos do plugin aparecem aqui em inglês, o idioma de origem dele):

OrigemPrecisa deOpção da sincronização
WooCommerceWooCommerceWooCommerce orders and customers
AssinaturasWooCommerce SubscriptionsWooCommerce orders and customers
WordPress—WordPress users
FormuláriosWPForms ou Elementor ProForm submissions (desligada por padrão)
Flexify CheckoutFlexify Checkout com a recuperação de carrinhosAbandoned carts
PersonalizadosO seu próprio código—

O envelope​

Cada evento chega com o que aconteceu (data) e com quem ele envolve (contact):

{
"id": "5b0e7c3a-9f41-4d2a-8c7e-1f6a2b9d0e34",
"name": "wp.user.registered",
"occurred_at": "2026-09-24T12:00:00Z",
"schema_version": 1,
"site_url": "https://example.com",
"contact": {
"ref": { "kind": "wp_user", "id": "42" },
"phone": "+5511987654321",
"country": "BR",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"attributes": {
"wp_registered_at": "2026-09-24T12:00:00Z",
"wp_role": "customer"
},
"tags": ["Minha Loja"],
"consent": {
"status": "opted_in",
"evidence": "Quero receber ofertas pelo WhatsApp. — sign-up — example.com",
"at": "2026-09-24T12:00:00Z"
}
},
"data": {
"user": {
"id": 42,
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Souza",
"roles": ["customer"],
"registered_at": "2026-09-24T12:00:00Z"
}
}
}
CampoO que é
idIdentificador que o site gerou ao registrar o evento. O mesmo id enviado de novo é ignorado
nameO nome do evento
occurred_atQuando aconteceu no site, em ISO 8601 e UTC
schema_versionA versão do formato de data — hoje, 1
site_urlO endereço do site. Diferente do endereço conectado, o lote inteiro é recusado (veja cópias de staging)
contactQuem o evento envolve. Opcional
dataOs dados do evento — o que cada seção abaixo descreve

O bloco contact​

CampoO que é
refQuem a pessoa é no site: { "kind": …, "id": … }
phone, countryO telefone e o país da cobrança, que diz como ler um número sem código do país
first_name, last_name, emailNome e e-mail
attributesOs campos da loja no contato: pedidos, total gasto, última compra…
tagsA tag de origem do site
consentO consentimento de marketing, quando o site pede

O kind do ref é um destes:

kindNo painelid
wp_userUsuário do WordPressO id do usuário
wc_customerCliente WooCommerceO id do usuário do cliente
wc_guestComprador sem contaO SHA-256 do e-mail em minúsculas (ou do telefone, sem e-mail)
leadLead de formulário ou carrinhoO mesmo hash do comprador sem conta

O Joinotify procura o contato primeiro pelo ref e depois pelo telefone — é o ref que mantém como um contato só o cliente que trocou de número. Sem telefone e sem um vínculo anterior, nenhum contato é criado: o evento fica registrado com o status Sem contato.

Os attributes vão para os campos da loja que a plataforma cria na conta — Pedidos (wc_orders_count), Total gasto, Ticket médio, Primeira compra, Última compra, Status do último pedido, Cidade, Estado, Cadastro no site, Papel no site e, com assinaturas, Status da assinatura e Próximo pagamento. São uma fotografia calculada pelo site: substituem o valor anterior em vez de somar.

O consent é { "status": "opted_in", "evidence": …, "at": … } quando a pessoa marcou a caixa de marketing — a evidência junta o texto da caixa, onde ela foi marcada e o site — ou { "status": "opted_out", "reason": "my_account" } quando ela desmarcou a preferência em Minha conta.

Os dados no fluxo​

O data de um evento é o que o fluxo lê em {{trigger.<caminho>}}:

VariávelSai
{{trigger.order.number}}1234
{{trigger.order.total:money}}R$ 189,90
{{trigger.order.line_items[0].name}}Café especial 500 g
{{trigger.links.payment_url}}O link para pagar o pedido
{{trigger.customer.orders_count}}3

A plataforma acrescenta duas chaves a todo evento:

ChaveTrazExemplo
$eventid, name e occurred_at do evento{{trigger.$event.name}}
$siteid, url e name do site conectado que o enviou{{trigger.$site.name}}

O bloco contact não fica em trigger: ele vira o contato da execução, e o fluxo lê a pessoa com as variáveis do contato — {{first_name}}, {{field.wc_total_spent}}. Os caminhos do Filtro, de Agir uma vez por e do Aguardar evento partem de data também: order.id, order.status, cart.id. A sintaxe completa está em Variáveis nos fluxos.

Blocos que se repetem​

Os eventos de pedido, assinatura, usuário e carrinho usam os mesmos blocos. O formato é o da API REST do WooCommerce, com valores crus: totais como texto decimal ("189.90"), datas em ISO 8601 e UTC, status sem o prefixo wc-.

order​

{
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
}
  • line_items só vem com a opção Send the items of each order (ligada por padrão).
  • Cobrança e entrega trazem cidade, estado e país. Com Send billing and shipping addresses, billing ganha company, address_1, address_2 e postcode, e shipping ganha first_name, last_name, address_1, address_2, postcode e phone.
  • customer_id é 0 num pedido sem conta.

customer​

{
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
}

A fotografia do histórico do cliente na loja, calculada dos pedidos pagos (os status que o WooCommerce conta como pagos — processing e completed, por padrão), com os reembolsos descontados de total_spent. Um comprador sem conta é reconhecido pelo e-mail dos pedidos e vem com id 0. last_order_status é o status do último pedido pago.

is_first_order só vem nos eventos de pedido: num pedido pago, é true quando ele é o único pedido pago do cliente; num pedido ainda não pago, é true quando o cliente não tem nenhum pedido pago.

{
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}

payment_url paga um pedido pendente, order_received_url e my_account_url mostram o pedido, e review_urls tem a página de cada produto comprado, já na aba de avaliações.

subscription​

{
"id": 900,
"status": "pending",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
}

user​

{
"id": 42,
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Souza",
"roles": ["customer"],
"registered_at": "2026-09-24T12:00:00Z"
}

cart​

{
"id": 555,
"total": "189.90",
"currency": "BRL",
"recovery_url": "https://example.com/checkout/?recovery_cart=555",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321"
}

WooCommerce​

EventoNo painel
wc.order.createdPedido criado
wc.order.paidPedido pago
wc.order.status_changedStatus do pedido mudou
wc.order.completedPedido concluído
wc.order.cancelledPedido cancelado
wc.order.failedPagamento do pedido falhou
wc.order.refundedPedido reembolsado
wc.customer.createdCliente cadastrado na loja

O contato dos eventos de pedido é o comprador: wc_customer quando ele tem conta, wc_guest quando não tem. O telefone é o da cobrança — ou o da entrega, se a cobrança não tiver.

wc.order.created​

Quando o cliente fecha o pedido no checkout, clássico ou em blocos. Uma vez por pedido.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.paid​

Na primeira vez que o pedido entra num status pago, ou quando o meio de pagamento confirma o pagamento. Uma vez por pedido, mesmo que o status vá e volte depois.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "processing",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": "2026-09-24T12:05:00Z",
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.status_changed​

A cada mudança de status, com o status anterior em status_from e o novo em status_to. Para o fluxo agir uma vez só por pedido, use Agir uma vez por order.id no gatilho.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"status_from": "pending",
"status_to": "processing",
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.completed​

Cada vez que o pedido entra no status completed.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "completed",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.cancelled​

Cada vez que o pedido entra no status cancelled.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "cancelled",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.failed​

Cada vez que o pedido entra no status failed.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "failed",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.order.refunded​

A cada reembolso, parcial ou total. refund.full é true quando o valor reembolsado chega ao total do pedido.

Exemplo de data
{
"order": {
"id": 1234,
"number": "1234",
"status": "refunded",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"refund": {
"id": 1235,
"amount": "189.90",
"reason": "Produto com defeito",
"full": true
},
"customer": {
"id": 42,
"orders_count": 3,
"total_spent": "540.90",
"avg_order_value": "180.30",
"first_order_at": "2026-03-02T15:10:00Z",
"last_order_at": "2026-09-24T12:00:00Z",
"last_order_status": "completed",
"is_first_order": false
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wc.customer.created​

Quando o WooCommerce cria a conta de um cliente — no checkout ou no cadastro de Minha conta. O contato vem como wc_customer. Com a opção de usuários ligada, o mesmo cadastro também gera wp.user.registered.

Exemplo de data
{
"customer": {
"id": 42,
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Souza",
"roles": ["customer"],
"registered_at": "2026-09-24T12:00:00Z",
"orders_count": 0
}
}

Assinaturas​

Com o WooCommerce Subscriptions ativo. O contato é o assinante, e line_items da assinatura segue a mesma opção dos itens do pedido.

EventoNo painel
wcs.subscription.createdAssinatura criada
wcs.subscription.activatedAssinatura ativada
wcs.subscription.payment_completePagamento da assinatura aprovado
wcs.subscription.payment_failedPagamento da assinatura falhou
wcs.subscription.expiredAssinatura expirada
wcs.subscription.cancelledAssinatura cancelada

wcs.subscription.created​

Quando a assinatura é criada no checkout, com o pedido que a criou em order.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "pending",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
},
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
}
}

wcs.subscription.activated​

Cada vez que a assinatura fica ativa.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "active",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
}
}

wcs.subscription.payment_complete​

A cada pagamento aprovado da assinatura, com o pedido desse pagamento em order.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "active",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
},
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
}
}

wcs.subscription.payment_failed​

Quando um pagamento da assinatura falha, com o pedido que ficou sem pagar e links.payment_url para pagar.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "on-hold",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
},
"order": {
"id": 1234,
"number": "1234",
"status": "failed",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

wcs.subscription.expired​

Quando a assinatura expira.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "expired",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
}
}

wcs.subscription.cancelled​

Quando a assinatura é cancelada.

Exemplo de data
{
"subscription": {
"id": 900,
"status": "cancelled",
"total": "59.90",
"currency": "BRL",
"billing_period": "month",
"billing_interval": 1,
"next_payment_at": "2026-10-24T12:00:00Z",
"customer_id": 42,
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"line_items": [
{
"product_id": 88,
"variation_id": 0,
"sku": "CLUBE-CAFE",
"name": "Clube do café",
"quantity": 1,
"price": "59.90",
"total": "59.90",
"categories": ["Assinaturas"]
}
]
}
}

WordPress​

EventoNo painel
wp.user.registeredUsuário cadastrado
wp.user.updatedPerfil do usuário atualizado

O contato é o usuário (wp_user), com o telefone da cobrança do WooCommerce ou o do login por código do Joinotify. Um usuário sem telefone chega como evento, mas não cria contato.

wp.user.registered​

Quando alguém se cadastra no site. O evento sai no fim do cadastro, depois que o WooCommerce e os formulários de perfil gravaram o telefone e o nome.

Exemplo de data
{
"user": {
"id": 42,
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Souza",
"roles": ["customer"],
"registered_at": "2026-09-24T12:00:00Z"
}
}

wp.user.updated​

Quando o usuário muda o telefone, o nome, o sobrenome ou o e-mail, ou quando marca ou desmarca a preferência de marketing em Minha conta. changed diz o que mudou: phone, first_name, last_name, email, marketing_consent.

Exemplo de data
{
"user": {
"id": 42,
"email": "[email protected]",
"first_name": "Ana",
"last_name": "Souza",
"roles": ["customer"],
"registered_at": "2026-09-24T12:00:00Z"
},
"changed": ["phone"]
}

Formulários​

EventoNo painel
form.submittedFormulário enviado

form.submitted​

A cada envio de um formulário do WPForms ou do Elementor Pro que tenha telefone ou e-mail — sem nenhum dos dois, nada é enviado. Todos os campos do formulário vão em fields, com o rótulo como chave (em minúsculas, sem acentos, espaços viram _). form.plugin é wpforms ou elementor; entry_id vem vazio no Elementor, e page_url é a página de onde o formulário foi enviado, quando o navegador informa.

O telefone é o campo do tipo telefone ou, na falta dele, o primeiro cujo rótulo fala em telefone, celular ou WhatsApp. O contato é o usuário logado (wp_user) ou, sem login, um lead.

Exemplo de data
{
"form": {
"plugin": "wpforms",
"id": "12",
"title": "Fale conosco"
},
"entry_id": "345",
"fields": {
"name": "Ana Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"message": "Quero um orçamento"
},
"page_url": "https://example.com/contato"
}

Flexify Checkout​

Com a recuperação de carrinhos do Flexify Checkout ativa. O contato de um carrinho é sempre um lead, identificado pelo e-mail ou pelo telefone; o Joinotify encontra o cliente que já existe pelo telefone.

EventoNo painel
fcrc.lead.collectedContato capturado no checkout
fcrc.cart.abandonedCarrinho abandonado
fcrc.cart.recoveredCarrinho recuperado
fcrc.cart.lostCarrinho perdido

fcrc.lead.collected​

Quando o Flexify Checkout captura o contato de quem está no checkout.

Exemplo de data
{
"cart": {
"id": 555,
"total": "189.90",
"currency": "BRL",
"recovery_url": "https://example.com/checkout/?recovery_cart=555",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321"
}
}

fcrc.cart.abandoned​

Quando o Flexify Checkout marca o carrinho como abandonado. Se um pedido ficou sem pagar, ele vem em order, com links.payment_url.

Exemplo de data
{
"cart": {
"id": 555,
"total": "189.90",
"currency": "BRL",
"recovery_url": "https://example.com/checkout/?recovery_cart=555",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321"
},
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
},
"links": {
"payment_url": "https://example.com/checkout/order-pay/1234/?pay_for_order=true&key=wc_order_example",
"order_received_url": "https://example.com/checkout/order-received/1234/?key=wc_order_example",
"my_account_url": "https://example.com/minha-conta/view-order/1234/",
"review_urls": ["https://example.com/produto/cafe-especial/#reviews"]
}
}

fcrc.cart.recovered​

Quando o carrinho é recuperado, com o pedido em order.

Exemplo de data
{
"cart": {
"id": 555,
"total": "189.90",
"currency": "BRL",
"recovery_url": "https://example.com/checkout/?recovery_cart=555",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321"
},
"order": {
"id": 1234,
"number": "1234",
"status": "pending",
"currency": "BRL",
"total": "189.90",
"subtotal": "179.90",
"discount_total": "10.00",
"shipping_total": "20.00",
"total_tax": "0.00",
"payment_method": "pix",
"payment_method_title": "Pix",
"date_created": "2026-09-24T12:00:00Z",
"date_paid": null,
"customer_id": 42,
"customer_note": "",
"billing": {
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321",
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping": {
"city": "São Paulo",
"state": "SP",
"country": "BR"
},
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "SEDEX",
"total": "20.00"
}
],
"line_items": [
{
"product_id": 77,
"variation_id": 0,
"sku": "CAFE-500",
"name": "Café especial 500 g",
"quantity": 2,
"price": "89.95",
"total": "179.90",
"categories": ["Cafés"]
}
],
"coupon_lines": [
{
"code": "BEMVINDO10",
"discount": "10.00"
}
]
}
}

fcrc.cart.lost​

Quando o Flexify Checkout dá o carrinho como perdido.

Exemplo de data
{
"cart": {
"id": 555,
"total": "189.90",
"currency": "BRL",
"recovery_url": "https://example.com/checkout/?recovery_cart=555",
"first_name": "Ana",
"last_name": "Souza",
"email": "[email protected]",
"phone": "+5511987654321"
}
}

Eventos personalizados​

O seu código pode mandar eventos próprios com joinotify_track(). O nome começa com custom. seguido de uma a três partes de letras minúsculas, números e _ — custom.quote.requested — e o data é o que você passar. No gatilho, escolha Evento personalizado e digite o nome. Como enviar está em Conectar WordPress e WooCommerce.

Enviar pela API​

Os eventos chegam pela rota POST /site-events, em lotes de até 100, e só com a chave de um site conectado. Cada evento pode ter até 64 kB de data e contact; um evento inválido é recusado sozinho, sem derrubar o lote. Os detalhes estão na referência da API.