Webhooks
Documentação do Webhook Workcash
Esta documentação cobre os detalhes essenciais do payload do webhook. Certifique-se de que seu endpoint possa lidar com a estrutura fornecida e processar os dados conforme necessário.
Visão Geral
Este documento fornece uma descrição detalhada da estrutura do payload do webhook para eventos relacionados a vendas. O webhook envia informações sobre transações de vendas, incluindo detalhes sobre o produtor, afiliado (se aplicável), cliente, pagamento e produtos envolvidos.
Estrutura do Payload
O payload do webhook é um objeto JSON com a seguinte estrutura:
Objeto raiz
Campo | Tipo | Descrição |
---|---|---|
producerAccountId | string | O ID da conta do produtor. |
affiliateAccountId | string (opcional) | O ID da conta do afiliado, se aplicável. |
customerId | string | O ID do cliente. |
event | string | O tipo de evento que disparou o webhook. |
saleId | string | O ID único da venda. |
status | string | O status da venda. |
createdAt | string | A data e hora em que a venda foi criada (formato ISO 8601). |
totalPrice | string | O preço total da venda. |
totalAmount | number | A quantidade total da venda. |
paymentMethod | string | O método de pagamento utilizado. |
paymentType | string | O tipo de pagamento (ex.: único, recorrente). |
customer | object | Informações sobre o cliente. |
payment | object | Informações sobre os detalhes do pagamento. |
products | array of objects | Lista de produtos envolvidos na venda. |
Objeto Cliente
Campo | Tipo | Descrição |
---|---|---|
name | string | O nome do cliente. |
string | O endereço de email do cliente. | |
phoneNumber | string | O número de telefone do cliente. |
phoneNumberCountry | object | Informações de pais de origem do numero inserido. |
Objeto Pagamento
Campo | Tipo | Descrição |
---|---|---|
method | string | O método de pagamento utilizado. |
installments | number | O número de parcelas. |
qrcode | string | O QR code para o pagamento, se aplicável. |
qrcode_image | string | A imagem do QR code, se aplicável. |
boletoPdf | string | O PDF do boleto, se aplicável. |
Objeto Produtos
Campo | Tipo | Descrição |
---|---|---|
id | string | O ID único do produto. |
name | string | O nome do produto. |
offerId | string | O ID da oferta. |
type | string | O tipo do produto. |
offerName | string | O nome da oferta. |
isOrderBump | boolean | Indica se o produto é um order bump. |
price | string | O preço do produto. |
amount | number | A quantidade do produto. |
photo | string | A URL da foto do produto. |
Exemplos de Payload
Exemplo 1: Venda Completada
{ "producerAccountId": "66721add4842fa23b378f280", "affiliateAccountId": "66721add4842fa23b378f280", "customerId": "66722017b0ffbc43556e9f06", "event": "purchase-approved", "saleId": "66cf9b5fe3efcb991874bd35", "status": "paid", "createdAt": "2024-08-01T12:34:56Z", "totalPrice": "R$ 20,00", "totalAmount": 20, "paymentMethod": "credit_card", "paymentType": "one-time", "customer": { "name": "John Doe", "email": "[email protected]", "phoneNumber": "31984563240", "phoneNumberCountry": { "code": "55", "name": "Brazil" } }, "payment": { "method": "credit_card", "installments": 1, "qrcode": "https://example.com/qrcode", "qrcode_image": "https://example.com/qrcode_image", "boletoPdf": "https://example.com/boleto.pdf" }, "products": [ { "id": "6673715ab0ffbc43556ee7f7", "name": "Produto exemplo", "offerId": "66cf9b5fe3efcb991874bd2e", "type": "infoproduct", "offerName": "Oferta exemplo", "isOrderBump": false, "price": "R$ 20,00", "amount": 20, "photo": "https://example.com/product1.jpg" } ], "trackingParameters": { "src": null, "sck": null } }
Definições dos Campos
- producerAccountId: O ID associado ao produtor do produto.
- affiliateAccountId: O ID associado ao afiliado que promoveu o produto (opcional).
- customerId: O identificador único para o cliente que realizou a compra.
- event: O tipo de evento, representado por uma string (ex.: 'boleto-generated', 'pix-generated', 'purchase-declined', 'purchase-approved', 'refund', 'chargeback', 'subscription-renewed', 'subscription-cancelled', 'subscription-overdue').
- saleId: Um identificador único para a transação de venda.
- status: O status atual da venda, representado por uma string (ex.: 'created', 'cancelled', 'cancel-requested', 'refunded', 'refund-requested', 'in-protest', 'expired', 'chargeback', 'paid' ).
- createdAt: A data e hora em que a venda foi criada, no formato ISO 8601.
- totalPrice: O preço total da venda como uma string.
- totalAmount: O número total de itens na venda.
- paymentMethod: O método utilizado para o pagamento, representado por uma string (ex.: 'credit_card', 'boleto', 'pix').
- paymentType: O tipo de pagamento (ex.: único, recorrente).
- customer: Um objeto contendo informações sobre o cliente.
- name: O nome do cliente.
- email: O endereço de email do cliente.
- phoneNumber: O número de telefone do cliente.
- phoneNumberCountry:
- code: Codigo do pais do cliente.
- name: Nome do pais em ingles.
- payment: Um objeto contendo detalhes sobre o pagamento, dependendo da forma de pagamento os campos qrcode, qrcode_image e boletoPdf não serão enviados.
- method: O método de pagamento utilizado.
- installments: O número de parcelas para o pagamento.
- qrcode: A URL do QR code para o pagamento (opcional).
- qrcode_image: A URL da imagem do QR code (opcional).
- boletoPdf: A URL do PDF do boleto (opcional).
- products: Um array de objetos, cada um representando um produto envolvido na venda.
- id: O identificador único para o produto.
- name: O nome do produto.
- offerId: O identificador único para a oferta associada ao produto.
- type: O tipo do produto (ex.: digital, físico).
- offerName: O nome da oferta associada ao produto.
- isOrderBump: Um booleano indicando se o produto é um order bump.
- price: O preço do produto como uma string.
- amount: A quantidade do produto.
- photo: A URL da foto do produto.
- trackingParameters: Um objeto destinado a trackeamento de vendas, o mesmo poderá ser omitido.
- src: indentificação da campanha utilizada.
- sck: indentificação da campanha utilizada.