É possível utilizar webhook, para que seu sistema seja notificado sobre as alterações que ocorram nas transações.
|
Campo |
Tipo |
Obrigatório |
Descrição |
|---|---|---|---|
|
affiliations.*.affiliates_group_namecurr |
String |
Sim |
Nome do grupo da afiliação |
|
affiliations.*.contact_email |
String |
Não |
Email da afiliação |
|
affiliations.*.currency |
String |
Não |
Moeda da afiliação |
|
affiliations.*.fee |
Float |
Não |
Taxa da afiliação |
|
affiliations.*.id |
String |
Não |
Id da afiliação |
|
affiliations.*.marketplace_id |
String |
Não |
Id do marketplace da afiliação |
|
affiliations.*.name |
String |
Não |
Nome da afiliação |
|
affiliations.*.net_value |
Float |
Não |
Valor líquido da comissão da afiliação |
|
affiliations.*.value |
Float |
Não |
Valor da comissão da afiliação |
|
api_token |
Char(40) |
Sim |
Chave de API do Guru |
|
checkout_url |
String |
Não |
Url do Checkout do Guru |
|
String(191) |
Não |
Id |
|
|
contact.name |
String(191) |
Não |
Nome |
|
contact.email |
String(191) |
Não |
|
|
contact.doc |
String(191) |
Não |
Documento |
|
contact.phone_number |
String(191) |
Não |
Telefone |
|
contact.phone_local_code |
String(191) |
Não |
Indicativo do telefone |
|
contact.address |
String(191) |
Não |
Endereço |
|
contact.address_number |
String(191) |
Não |
Número |
|
contact.address_comp |
String(191) |
Não |
Complemento |
|
contact.address_district |
String(191) |
Não |
Bairro |
|
contact.address_city |
String(191) |
Não |
Cidade |
|
contact.address_state |
String(191) |
Não |
Estado |
|
contact.address_country |
String(191) |
Não |
País |
|
contact.address_zip_code |
String(191) |
Não |
Código Postal |
|
contact.lead.first_tracking.name |
String(191) |
Não |
Nome do primeiro rastreio do lead |
|
TrackingType |
Não |
Tipo do primeiro rastreio do lead |
|
|
Publisher |
Não |
Anunciante do primeiro rastreio do lead |
|
|
contact.lead.first_tracking.tracked_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data do primeiro rastreio do lead |
|
contact.lead.last_tracking.name |
String(191) |
Não |
Nome do último rastreio do lead |
|
TrackingType |
Não |
Tipo do último rastreio do lead |
|
|
Publisher |
Não |
Anunciante do último rastreio do lead |
|
|
contact.lead.last_tracking.tracked_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data do último rastreio do lead |
|
contracts |
Array |
Sim |
Contratos |
|
dates.canceled_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data do Cancelamento |
|
dates.confirmed_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data da Aprovação |
|
dates.created_at |
YYYY-MM-DDTHH:MM:SSZ |
Sim |
Data da Criação |
|
dates.expires_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data de Expiração |
|
dates.ordered_at |
YYYY-MM-DDTHH:MM:SSZ |
Sim |
Data do Pedido |
|
dates.unavailable_until |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Indisponível até |
|
dates.updated_at |
YYYY-MM-DDTHH:MM:SSZ |
Sim |
Data de Atualização |
|
dates.warranty_until |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Garantia até |
|
ecommerces.kapsula.pedido |
Integer |
Não |
Número do Pedido Kapsula |
|
ecommerces.magento.quote_id |
Integer |
Não |
Número da Cotação Magento |
|
ecommerces.magento.order_id |
Integer |
Não |
Número do Pedido Magento |
|
ecommerces.shopify.order_id |
Integer |
Não |
Número do Pedido Shopify |
|
ecommerces.shopify.transaction_id |
Integer |
Não |
Número da Transação Shopify |
|
Integer |
Não |
Número do Pedido Woocommerce |
|
|
extras.accepted_terms_url |
Integer |
Sim |
Indica que o comprador aceitou os termos de utilização |
|
extras.accepted_privacy_policy_url |
Integer |
Sim |
Indica que o comprador aceitou a política de privacidade |
|
id |
String(191) |
Sim |
ID da Transação |
|
infrastructure.user_agent |
String(191) |
Não |
User Agent do comprador |
|
infrastructure.ip |
String(191) |
Não |
IP do comprador |
|
infrastructure.country |
String(191) |
Não |
País do comprador |
|
infrastructure.region |
String |
Não |
Região do comprador |
|
infrastructure.city |
String(191) |
Não |
Cidade do comprador |
|
infrastructure.city_lat_long |
String(191) |
Não |
Coordenadas do comprador |
|
infrastructure.city_lat_long |
String |
Não |
Host do comprador |
|
invoice.charge_at |
YYYY-MM-DD |
Não |
Data de pagamento |
|
invoice.created_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data de criação do invoice |
|
invoice.cycle |
Integer |
Não |
Número de ciclo |
|
invoice.discount_value |
Float |
Não |
Desconto do invoice (desconto associado ao ciclo específico da assinatura) |
|
String(20) |
Não |
ID do invoice |
|
|
invoice.increment_value* |
Float |
Não |
Acréscimo do invoice (cobrança adicional associada ao ciclo especifico da assinatura) |
|
invoice.period_end |
YYYY-MM-DD |
Não |
Fim de período |
|
invoice.period_start |
YYYY-MM-DD |
Não |
Início de período |
|
InvoiceStatus |
Não |
Status do invoice |
|
|
invoice.tax_value |
Float |
Não |
Taxa do invoice |
|
invoice.tries |
Integer |
Não |
Total de tentativas |
|
invoice.try |
Integer |
Não |
Número da tentativa |
|
InvoiceType |
Não |
Tipo do invoice |
|
|
invoice.value |
Float |
Não |
Valor do invoice |
|
items.*.id |
String |
Sim |
Id do item |
|
items.*.image_url |
String |
Sim |
URL da imagem |
|
items.*.internal_id |
String |
Sim |
Id interno do item |
|
items.*.marketplace_id |
String |
Sim |
ID do marketplace |
|
items.*.marketplace_name |
String |
Sim |
Nome do markeplace |
|
items.*.name |
String |
Sim |
Nome do item |
|
items.*.offer.id |
String |
Sim |
Id da oferta |
|
items.*.offer.name |
String |
Sim |
Nome da oferta |
|
items.*.producer.contact_email |
String |
Não |
Email do produtor |
|
items.*.producer.marketplace_id |
String |
Sim |
Id Marketplace do produtor |
|
items.*.producer.name |
String |
Sim |
Nome do produtor |
|
items.*.qty |
Integer |
Sim |
Quantidade |
|
items.*.total_value |
Float |
Sim |
Valor total do item |
|
items.*.type |
String |
Sim |
Tipo do item |
|
items.*.unit_value |
Float |
Sim |
Valor unitário do item |
|
last_transaction.id |
String(191) |
Não |
Id da transação anterior (1 Click Buy) |
|
last_transaction.url |
String(191) |
Não |
Url da transação anterior (1 Click Buy) |
|
payment.affiliate_value |
Float |
Sim |
Valor Afiliados |
|
payment.acquirer.code |
String |
Sim |
Código do adquirente |
|
payment.acquirer.message |
String |
Sim |
Mensagem do adquirente |
|
payment.acquirer.name |
String |
Sim |
Nome do adquirente |
|
payment.acquirer.nsu |
String |
Sim |
NSU do adquirente |
|
payment.acquirer.tid |
String |
Sim |
TID do adquirente |
|
payment.can_try_again |
Integer (0/1) |
Sim |
Indica se pode tentar novamente |
|
String |
Não |
Id do cupom |
|
|
payment.coupon.coupon_code |
String |
Não |
Código do cupom |
|
payment.coupon.incidence_type |
String |
Não |
Tipo de incidência do cupom ( |
|
payment.coupon.incidence_field |
String |
Não |
Incidência do cupom ( |
|
payment.coupon.incidence_value |
Float |
Não |
Valor do cupom |
|
payment.coupon.last_sent_at |
Integer |
Não |
Unix timestamp |
|
payment.coupon.final_value |
Float |
Não |
Valor final do cupom (valor final do desconto já calculado) |
|
payment.currency |
String(191) |
Sim |
Moeda (ISO 4217) |
|
payment.discount_value |
Float |
Sim |
Valor Desconto |
|
payment.gross |
Float |
Sim |
Valor Bruto |
|
payment.instalments.value |
Float |
Não |
Valor das Parcelas |
|
payment.instalments.qty |
Integer |
Não |
Quantidade de Parcelas da venda |
|
payment.installments.interest |
Float |
Não |
Valor dos juros do parcelamento |
|
payment.marketplace_id |
String(191) |
Sim |
Código da Venda no Processador de Pagamento |
|
payment.marketplace_name |
String(191) |
Sim |
Processador de Pagamento |
|
payment.marketplace_value |
Float |
Sim |
Valor do Processador de Pagamento |
|
PaymentMethod |
Sim |
Método de Pagamento |
|
|
Float |
Sim |
Valor Líquido |
|
|
payment.processing_times.started_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data de início do processamento |
|
payment.processing_times.finished_at |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data de final do processamento |
|
payment.processing_times.delay_in_seconds |
Integer |
Não |
Atraso (em segundos) |
|
payment.refund_reason |
String |
Não |
Razão de reembolso |
|
payment.refuse_reason |
String(191) |
Não |
Mensagem do processador de pagamento |
|
payment.tax.value |
Float |
Não |
Valor da Taxa |
|
payment.tax.rate |
Float |
Não |
Porcentagem da Taxa |
|
payment.total |
Float |
Sim |
Valor Total |
|
payment.billet.line |
String(191) |
Não |
Linha Digitável do Boleto |
|
payment.billet.url |
String(191) |
Não |
Url do Boleto |
|
payment.billet.expiration_date |
String(191) |
Não |
Data de Expiração do Boleto |
|
payment.creditcard.brand |
String(191) |
Não |
Bandeira do cartão |
|
payment.creditcard.expiration_month |
String |
Não |
Mês de expiração do cartão |
|
payment.creditcard.expiration_year |
String |
Não |
Ano de expiração do cartão |
|
payment.creditcard.first_digits |
Integer |
Não |
Bin do cartão |
|
String |
Não |
Id do cartão |
|
|
payment.creditcard.last_digits |
Integer |
Não |
Quatro últimos dígitos do cartão |
|
payment.pix.qrcode.signature |
String(191) |
Não |
Código QRCode do Pix |
|
payment.pix.qrcode.url |
String(191) |
Não |
URL QRCode do Pix |
|
payment.pix.expiration_date |
String(191) |
Não |
Data de Expiração do Pix |
|
payment.spei.url |
String(191) |
Não |
URL do pagamento SPEI |
|
payment.spei.account |
String(191) |
Não |
Código da Conta SPEI |
|
payment.spei.reference |
String(191) |
Não |
Código da Referência SPEI |
|
payment.spei.expiration_date |
String(191) |
Não |
Data de Expiração do SPEI |
|
payment.oxxo.url |
String(191) |
Não |
URL do pagamento OXXO |
|
payment.oxxo.barcode |
String(191) |
Não |
Código de Barras OXXO |
|
payment.oxxo.expiration_date |
String(191) |
Não |
Data de Expiração do OXXO |
|
String(191) |
Sim |
Id do produto |
|
|
product.image_url |
String(191) |
Não |
Imagem do produto |
|
last_transaction.product.internal_id |
String |
Sim |
Id interno do produto |
|
last_transaction.product.marketplace_id |
String |
Sim |
Id do marketplace |
|
product.marketplace_name |
String(191) |
Sim |
Nome do marketplace do produto |
|
product.name |
String(191) |
Sim |
Nome do produto |
|
String |
Sim |
Id da oferta |
|
|
product.offer.name |
String |
Sim |
Nome da oferta |
|
product.producer.marketplace_id |
String(191) |
Sim |
Id Marketplace do produtor |
|
product.producer.name |
String(191) |
Sim |
Nome do produtor |
|
product.producer.contact_email |
String(191) |
Não |
Email do produtor |
|
product.qty |
Integer |
Sim |
Quantidade do produto |
|
product.total_value |
Float |
Sim |
Valor total do produto |
|
product.type |
String(191) |
plan/product |
Tipo do produto |
|
product.unit_value |
Float |
Sim |
Valor unitário do produto |
|
shipment.carrier |
String(191) |
Não |
Nome da transportadora |
|
shipment.service |
String(191) |
Não |
Serviço da transportadora |
|
shipment.tracking |
String(191) |
Não |
Código de rastremanto |
|
shipment.value |
Float |
Não |
Valor da transportadora |
|
shipment.status |
Array |
Não |
Estados do envio ( |
|
shipment.delivery_time |
Integer |
Não |
Tempo de entrega em dias |
|
shipping.name |
String |
Sim |
Nome do frete |
|
shipping.value |
Float |
Sim |
Valor do frete |
|
source.source |
String(191) |
Não |
Origem da Venda |
|
source.checkout_source |
String(191) |
Não |
Origem da Venda |
|
source.utm_source |
String(191) |
Não |
Origem da Venda |
|
source.utm_campaign |
String(191) |
Não |
Origem da Venda |
|
source.utm_medium |
String(191) |
Não |
Origem da Venda |
|
source.utm_content |
String(191) |
Não |
Origem da Venda |
|
source.utm_term |
String(191) |
Não |
Origem da Venda |
|
source.pptc.tracking_name |
String(191) |
Não |
Nome do Rastreamento |
|
TrackingType |
Não |
Tipo do Rastreamento |
|
|
Publisher |
Não |
Anunciante do Rastreamento |
|
|
source.pptc.user_name |
String(191) |
Não |
Nome do usuário |
|
source.pptc.checkout_name |
String(191) |
Não |
Nome do checkout |
|
source.pptc.utm_campaign |
String(191) |
Não |
UTM_CAMPAIGN do Rastreamento |
|
source.pptc.utm_medium |
String(191) |
Não |
UTM_MEDIUM do Rastreamento |
|
source.pptc.utm_content |
String(191) |
Não |
UTM_CONTENT do Rastreamento |
|
source.pptc.utm_term |
String(191) |
Não |
UTM_TERM do Rastreamento |
|
TransactionStatus |
Sim |
Status da Venda |
|
|
subscription.can_cancel* |
Integer (0/1) |
Não |
Indica de assinatura pode ser cancelada |
|
subscription.canceled_at* |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data de Cancelamento do plano |
|
subscription.charged_every_days* |
Integer |
Não |
Quantidade de Dias entre as cobranças do plano |
|
subscription.charged_times* |
Integer |
Não |
Quantidade de Cobranças do plano |
|
String(191) |
Não |
Código do plano |
|
|
subscription.internal_id* |
String |
Não |
Id interno da assinatura |
|
SubscriptionStatus |
Não |
Status do plano |
|
|
subscription.last_status_at* |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data da última atualização de status do plano |
|
subscription.name* |
String(191) |
Não |
Nome do Plano |
|
subscription.started_at* |
YYYY-MM-DDTHH:MM:SSZ |
Não |
Data da primeira cobrança do plano |
|
subscription.subscription_code* |
String |
Não |
Código da assinatura |
|
subscription.trial_days* |
Integer |
Não |
Dias de trial |
|
subscription.trial_finished_at* |
YYYY-MM-DD |
Não |
Fim |
|
subscription.trial_started_at* |
YYYY-MM-DD |
Não |
Início Trial |
|
Types |
Sim |
Tipo da venda |
|
|
webhook_type |
String |
sim |
Tipo do webhook (transaction) |
No campo subscription, quando o product.type === plan, o tipo de produto é uma assinatura, e o objeto subscription vem com os dados preenchidos.
No entanto, há exceções: quando o campo subscription vem vazio, significa que a assinatura não chegou a ser criada. Isto pode acontecer, por exemplo, em cenários de primeira venda, quando o pagamento é negado ou a transação não é concluída com sucesso, nesses casos, a assinatura não é criada e, consequentemente, o campo subscription não é preenchido no webhook.
O campo invoice vem preenchido quando a transação é criada e pertence ao nosso motor de assinaturas.
Exemplo de JSON a ser recebido [POST]
A notificação consiste em um POST contendo um JSON, conforme exemplo:
{
"affiliations": [
{
"affiliates_group_name": "group test",
"contact_email": "john.doe@email.com",
"currency": "BRL",
"fee": 19.32,
"id": "99f598ca-1d90-4afb-b306-70cc52b56f2f",
"marketplace_id": "YR5TFRMH",
"name": "John Doe",
"net_value": 315.07,
"value": 334.39
}
],
"api_token": "mLjcGjzKGnXme5b7gbuKMggL34Ecdt5NHGihxfWr",
"checkout_url": "https://clkdmg.site/subscribe/9059bdb6-0ca4-4253-b405-482df6393537",
"contact": {
"address": "Rua Terra Rica",
"address_city": "Pinhais",
"address_comp": "",
"address_country": "BR",
"address_district": "Centro",
"address_number": "123",
"address_state": "PR",
"address_state_full_name": "RJ",
"address_zip_code": "83324090",
"company_name": "",
"doc": "01234567890",
"email": "email@email.com",
"id": "906d1e37-de6a-4f4d-8271-91ecd0d65ec6",
"lead": {
"first_tracking": {
"name": "TEstes",
"publisher": "",
"tracked_at": "2020-02-18T15:50:11Z",
"type": "form"
},
"last_tracking": {
"name": "Teste Tracking Plano",
"publisher": "Adwords",
"tracked_at": "2020-04-02T16:03:08Z",
"type": "lead"
}
},
"name": "Nome Contato",
"phone_local_code": "55",
"phone_number": "1234567980"
},
"contracts": [],
"dates": {
"canceled_at": null,
"confirmed_at": "2020-05-07T11:35:57Z",
"created_at": "2023-09-19T09:19:04Z",
"expires_at": null,
"ordered_at": "2020-05-07T11:33:45Z",
"unavailable_until": "2020-06-06T11:35:57Z",
"updated_at": "2023-11-14T14:08:18Z",
"warranty_until": "2020-06-06T11:35:57Z"
},
"ecommerces": [],
"extras": {
"accepted_terms_url": 1,
"accepted_privacy_policy_url": 1
},
"id": "9081534a-7512-4dab-9172-218c1dc1f263",
"infrastructure": {
"city": null,
"city_lat_long": null,
"country": "BR",
"host": "https://clkdmg.site",
"ip": "127.0.0.1",
"region": null,
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"invoice": {
"charge_at": "2021-04-12",
"created_at": "2021-04-12T16:33:29Z",
"cycle": 1,
"discount_value": 0,
"id": "in_qbaJBvDB3IzVf2PTG",
"increment_value": 0,
"period_end": "2021-04-13",
"period_start": "2021-04-12",
"status": "paid",
"tax_value": 0,
"type": "cycle",
"value": 100
},
"items": [
{
"id": "1587151083",
"image_url": "",
"internal_id": "906d1e37-de6a-4f4d-8271-91ecd0d65e32",
"marketplace_id": "1587151083",
"marketplace_name": "mundipagg",
"name": "Assinatura Mundipagg",
"producer": {
"contact_email": "",
"marketplace_id": "01234567890",
"name": "Produtor Mundipagg"
},
"qty": 1,
"total_value": 500,
"type": "plan",
"unit_value": 500
}
],
"last_transaction": [],
"payment": {
"affiliate_value": 0,
"acquirer": {
"code": "",
"message": "",
"name": "",
"nsu": "",
"tid": ""
},
"can_try_again": 1,
"coupon": null,
"billet": {
"expiration_date": "",
"line": "",
"url": ""
},
"credit_card": {
"brand": "visa",
"first_digits": "400000",
"id": "card_WLmNYk1fmKUOwBwX",
"last_digits": "0010"
},
"currency": "BRL",
"discount_value": 0,
"gross": 500,
"installments": {
"interest": 0,
"qty": 1,
"value": 500
},
"marketplace_id": "ch_1ke4QoCQOs7VE6VY",
"marketplace_name": "mundipagg",
"marketplace_value": 0,
"method": null,
"net": 500,
"processing_times": {
"started_at": "2024-08-19T15:37:16.673Z",
"finished_at": "2024-08-19T15:37:17.442Z",
"delay_in_seconds": 0
},
"refund_reason": "",
"refuse_reason": "Transação capturada com sucesso",
"tax": {
"rate": 0,
"value": 0
},
"total": 500
},
"product": {
"group": {
"id": "a038a2c8-ef55-415e-b45d-3a5a3d6a74e6",
"name": "grupo 1"
},
"id": "1587151083",
"image_url": "",
"internal_id": "906d1e37-de6a-4f4d-8271-91ecd0d65e32",
"marketplace_id": "1587151083",
"marketplace_name": "mundipagg",
"name": "Assinatura Mundipagg",
"producer": {
"contact_email": "",
"marketplace_id": "01234567890",
"name": "Produtor Mundipagg"
},
"qty": 1,
"total_value": 500,
"type": "plan",
"unit_value": 500
},
"self_attribution": {
"title": "Como você conheceu nosso produto?",
"answer": "google"
},
"shipment": {
"carrier": "Correios",
"delivery_time": 15,
"service": "SEDEX",
"status": [],
"tracking": "ME20000BGL2BR",
"value": 105.68
},
"shipping": {
"name": "Standard",
"value": 0
},
"source": {
"checkout_source": "",
"pptc": [
"checkout_id":"",
"checkout_name":"",
"tracking_group":{
"id":"97a648d1-fba2-43e3-9d17-706d9dd86fbf",
"name":"rppc - grupo1"
},
"tracking_id":"98cb5f6a-4301-4b9b-959b-1dca6e7a4f28",
"tracking_name":"teste ab vendas 1 - rastreamento 1",
"tracking_publisher":"Atendimento Ao Cliente",
"tracking_type":"checkout",
"user_name":"John Doe",
"utm_campaign":"",
"utm_content":"",
"utm_medium":"",
"utm_term":""
],
"source": "",
"utm_campaign": "",
"utm_content": "",
"utm_medium": "",
"utm_source": "",
"utm_term": ""
},
"status": "approved",
"subscription": {
"can_cancel": 1,
"canceled_at": null,
"charged_every_days": 30,
"charged_times": 1,
"id": "sub_BOAEj2WTKoclmg4X",
"internal_id": "9ccde88d-3739-48fe-8e32-d69398b8c0e7",
"last_status": "active",
"last_status_at": "2020-05-07T11:35:57Z",
"name": "Assinatura Mundipagg",
"started_at": "2020-05-07T11:35:57Z",
"subscription_code": "sub_7F3X50uu4VxTGenj",
"trial_days": 0,
"trial_finished_at": null,
"trial_started_at": null
},
"type": "producer",
"webhook_type": "transaction"
}