Webhook para Assinaturas
É possível utilizar webhook, para que seu sistema seja notificado sobre alterações que ocorram nas assinaturas.
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
api_token | Char(40) | Sim | Chave de API do Guru |
id | String(191) | Sim | ID da Assinatura |
name | String(191) | Sim | Nome da Assinatura |
SubscriptionStatus | Sim | Status da Assinatura | |
charged_times | Integer | Sim | Quantidade de Cobranças |
charged_every_days | Integer | Sim | Cobrança a cada X dias |
PaymentMethod | Sim | Método de Pagamento | |
dates.started_at | YYYY-MM-DDTHH:MM:SSZ | Sim | Data de Início |
cancel_reason | String | Sim | Motivo de Cancelamento |
cancelled_by.name | String(191) | Sim | Nome do Usuário que fez cancelamento |
cancelled_by.email | String(191) | Sim | Email do Usuário que fez cancelamento |
cancel_at_cycle_end | Boolean (0/1) | Sim | Cancelamento no final de ciclo |
dates.last_status_at | YYYY-MM-DDTHH:MM:SSZ | Sim | Data do último Status |
dates.cancelled_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data de cancelamento |
dates.cycle_start_date | YYYY-MM-DD | Sim | Data de início de ciclo |
dates.cycle_end_date | YYYY-MM-DD | Sim | Data de fim de ciclo |
dates.next_cycle_at | YYYY-MM-DD | Sim | Data do próximo ciclo |
subscriber.id | String(191) | Sim | Id |
subscriber.name | String(191) | Não | Nome |
subscriber.email | String(191) | Não | |
subscriber.doc | String(191) | Não | Documento |
subscriber.phone_number | String(191) | Não | Telefone |
subscriber.phone_local_code | String(191) | Não | Indicativo do telefone |
subscriber.address | String(191) | Não | Endereço |
subscriber.address_number | String(191) | Não | Número |
subscriber.address_comp | String(191) | Não | Complemento |
subscriber.address_district | String(191) | Não | Bairro |
subscriber.address_city | String(191) | Não | Cidade |
subscriber.address_state | String(191) | Não | Estado |
subscriber.address_country | String(191) | Não | País |
last_transaction.checkout_url | String | Não | Url do Checkout do Guru |
last_transaction.id | String(191) | Sim | ID da Transação |
TransactionStatus | Sim | Status da Venda | |
Types | Sim | Tipo da venda | |
last_transaction.dates.ordered_at | YYYY-MM-DDTHH:MM:SSZ | Sim | Data do Pedido |
last_transaction.dates.confirmed_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data da Aprovação |
last_transaction.dates.expires_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data de Expiração |
last_transaction.dates.canceled_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data do Cancelamento |
last_transaction.dates.warranty_until | YYYY-MM-DDTHH:MM:SSZ | Não | Garantia até |
last_transaction.dates.unavailable_until | YYYY-MM-DDTHH:MM:SSZ | Não | Indisponível até |
last_transaction.affiliations.*.marketplace_id | String(191) | Não | Id do marketplace da afiliação |
last_transaction.affiliations.*.name | String(191) | Não | Nome da afiliação |
last_transaction.affiliations.*.contact_email | String(191) | Não | Email da afiliação |
last_transaction.affiliations.*.value | Float | Não | Valor da comissão da afiliação |
last_transaction.affiliations.*.currency | String(191) | Não | Moeda da afiliação |
last_transaction.shipping.name | String | Sim | Nome do frete |
last_transaction.shipping.value | Float | Sim | Valor do frete |
last_transaction.contact.id | Integer | Não | Id |
last_transaction.contact.name | String(191) | Não | Nome |
last_transaction.contact.email | String(191) | Não | |
last_transaction.contact.doc | String(191) | Não | Documento |
last_transaction.contact.phone_number | String(191) | Não | Telefone |
last_transaction.contact.phone_local_code | String(191) | Não | Indicativo do telefone |
last_transaction.contact.address | String(191) | Não | Endereço |
last_transaction.contact.address_number | String(191) | Não | Número |
last_transaction.contact.address_comp | String(191) | Não | Complemento |
last_transaction.contact.address_district | String(191) | Não | Bairro |
last_transaction.contact.address_city | String(191) | Não | Cidade |
last_transaction.contact.address_state | String(191) | Não | Estado |
last_transaction.contact.address_country | String(191) | Não | País |
last_transaction.contact.address_zip_code | String(191) | Não | Código Postal |
last_transaction.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 | |
last_transaction.contact.lead.first_tracking.tracked_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data do primeiro rastreio do lead |
last_transaction.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 | |
last_transaction.contact.lead.last_tracking.tracked_at | YYYY-MM-DDTHH:MM:SSZ | Não | Data do último rastreio do lead |
last_transaction.product.id | String(191) | Sim | Id do produto |
last_transaction.product.name | String(191) | Sim | Nome do produto |
last_transaction.product.unit_value | Float | Sim | Valor unitário do produto |
last_transaction.product.image_url | String(191) | Não | Imagem do produto |
last_transaction.product.total_value | Float | Sim | Valor total do produto |
last_transaction.product.type | String(191) | plan/product | Tipo do produto |
last_transaction.product.marketplace_name | String(191) | Sim | Nome do marketplace do produto |
last_transaction.product.qty | Integer | Sim | Quantidade do produto |
last_transaction.product.producer.marketplace_id | String(191) | Sim | Id Marketplace do produtor |
last_transaction.product.producer.name | String(191) | Sim | Nome do produtor |
last_transaction.product.producer.contact_email | String(191) | Não | Email do produtor |
last_transaction.shipment.carrier | String(191) | Não | Nome da transportadora |
last_transaction.shipment.service | String(191) | Não | Serviço da transportadora |
last_transaction.shipment.tracking | String(191) | Não | Código de rastremanto |
last_transaction.shipment.value | Float | Não | Valor da transportadora |
last_transaction.shipment.status | Array | Não | Estados do envio |
last_transaction.shipment.delivery_time | Integer | Não | Tempo de entrega |
last_transaction.source.source | String(191) | Não | Origem da Venda |
last_transaction.source.checkout_source | String(191) | Não | Origem da Venda |
last_transaction.source.utm_source | String(191) | Não | Origem da Venda |
last_transaction.source.utm_campaign | String(191) | Não | Origem da Venda |
last_transaction.source.utm_medium | String(191) | Não | Origem da Venda |
last_transaction.source.utm_content | String(191) | Não | Origem da Venda |
last_transaction.source.utm_term | String(191) | Não | Origem da Venda |
last_transaction.source.pptc.tracking_name | String(191) | Não | Nome do Rastreamento |
TrackingType | Não | Tipo do Rastreamento | |
Publisher | Não | Anunciante do Rastreamento | |
last_transaction.source.pptc.user_name | String(191) | Não | Nome do usuário |
last_transaction.source.pptc.checkout_name | String(191) | Não | Nome do checkout |
last_transaction.source.pptc.utm_campaign | String(191) | Não | UTM_CAMPAIGN do Rastreamento |
last_transaction.source.pptc.utm_medium | String(191) | Não | UTM_MEDIUM do Rastreamento |
last_transaction.source.pptc.utm_content | String(191) | Não | UTM_CONTENT do Rastreamento |
last_transaction.source.pptc.utm_term | String(191) | Não | UTM_TERM do Rastreamento |
last_transaction.ecommerces.kapsula.pedido | Integer | Não | Número do Pedido Kapsula |
last_transaction.ecommerces.magento.quote_id | Integer | Não | Número da Cotação Magento |
last_transaction.ecommerces.magento.order_id | Integer | Não | Número do Pedido Magento |
last_transaction.ecommerces.shopify.order_id | Integer | Não | Número do Pedido Shopify |
last_transaction.ecommerces.shopify.transaction_id | Integer | Não | Número da Transação Shopify |
last_transaction.ecommerces.woocommerce.id | Integer | Não | Número do Pedido Woocommerce |
PaymentMethod | Sim | Método de Pagamento | |
last_transaction.payment.marketplace_id | String(191) | Sim | Código da Venda no Processador de Pagamento |
last_transaction.payment.marketplace_name | String(191) | Sim | Processador de Pagamento |
last_transaction.payment.marketplace_value | Float | Sim | Valor do Processador de Pagamento |
last_transaction.payment.currency | String(191) | Sim | Moeda (ISO 4217) |
last_transaction.payment.discount_value | Float | Sim | Valor Desconto |
last_transaction.payment.total | Float | Sim | Valor Total |
last_transaction.payment.affiliate_value | Float | Sim | Valor Afiliados |
last_transaction.payment.net | Float | Sim | Valor Líquido |
last_transaction.payment.gross | Float | Sim | Valor Bruto |
last_transaction.payment.tax.value | Float | Não | Valor da Taxa |
last_transaction.payment.tax.rate | Float | Não | Porcentagem da Taxa |
last_transaction.payment.instalments.value | Float | Não | Valor das Parcelas |
last_transaction.payment.instalments.qty | Integer | Não | Quantidade de Parcelas da venda |
last_transaction.payment.installments.interest | Float | Não | Valor dos juros do parcelamento |
last_transaction.payment.refuse_reason | String(191) | Não | Mensagem do processador de pagamento |
last_transaction.payment.billet.line | String(191) | Não | Linha Digitável do Boleto |
last_transaction.payment.billet.url | String(191) | Não | Url do Boleto |
last_transaction.payment.billet.expiration_date | String(191) | Não | Data de Expiração do Boleto |
last_transaction.payment.creditcard.first_digits | Integer | Não | Bin do cartão |
last_transaction.payment.creditcard.last_digits | Integer | Não | Quatro últimos dígitos do cartão |
last_transaction.payment.creditcard.brand | String(191) | Não | Bandeira do cartão |
last_transaction.payment.pix.qrcode.signature | String(191) | Não | Código QRCode do Pix |
last_transaction.payment.pix.qrcode.url | String(191) | Não | URL QRCode do Pix |
last_transaction.payment.pix.expiration_date | String(191) | Não | Data de Expiração do Pix |
last_transaction.payment.spei.url | String(191) | Não | URL do pagamento SPEI |
last_transaction.payment.spei.account | String(191) | Não | Código da Conta SPEI |
last_transaction.payment.spei.reference | String(191) | Não | Código da Referência SPEI |
last_transaction.payment.spei.expiration_date | String(191) | Não | Data de Expiração do SPEI |
last_transaction.payment.oxxo.url | String(191) | Não | URL do pagamento OXXO |
last_transaction.payment.oxxo.barcode | String(191) | Não | Código de Barras OXXO |
last_transaction.payment.oxxo.expiration_date | String(191) | Não | Data de Expiração do OXXO |
last_transaction.infrastructure.ip | String(191) | Não | IP do comprador |
last_transaction.infrastructure.city | String(191) | Não | Cidade do comprador |
last_transaction.infrastructure.country | String(191) | Não | País do comprador |
last_transaction.infrastructure.user_agent | String(191) | Não | User Agent do comprador |
last_transaction.infrastructure.city_lat_long | String(191) | Não | Coordenadas do comprador |
trial_started_at | YYYY-MM-DD | Não | Início Trial |
trial_finished_at | YYYY-MM-DD | Não | Fim |
Exemplo de JSON a ser recebido [POST]
A notificação consiste em um POST contendo um JSON, conforme exemplo:
{
"api_token": "mLjcGjzKGnXme5b7gbuKMggL34Ecdt5NHGihxfWr",
"cancel_at_cycle_end": 0,
"cancel_reason": null,
"cancelled_by": {
"date": "2023-12-13T10:39:31Z",
"email": null,
"name": null
},
"charged_every_days": 30,
"charged_times": 1,
"credit_card": {
"bin": null,
"brand": "visa",
"created_at": "2023-12-13T10:39:31Z",
"expiration_month": 1,
"expiration_year": 2025,
"holder_name": null,
"id": "1ece9218-12f1-4484-981e-1e8fc8b498d9",
"last_four": "0010",
"marketplace": {
"stripe": {
"customer": {
"id": "cus_Pi4mdcq2qZiL4s"
},
"payment": {
"id": null
}
}
},
"updated_at": "2023-12-13T10:39:31Z"
},
"current_invoice": {
"charge_at": "2024-12-13",
"code": "in_y5ZoRccnvFrFEgkPE",
"created_at": 1709131182,
"cycle": 2,
"discount_value": 0,
"id": "9b71cfb2-da2e-44d5-92ce-d83459dec85f",
"increment_value": 0,
"payment_url": "https://clkdmg.site/pay/9b71cfb2-da2e-44d5-92ce-d83459dec85a/invoice",
"period_end": "2025-12-13",
"period_start": "2024-12-13",
"status": "paid",
"subscription_id": "9ad693fe-4366-487b-8ac3-ff4831864928",
"tax_value": 5.49,
"type": "cycle",
"updated_at": 1709131802,
"value": 29.37
},
"dates": {
"canceled_at": null,
"cycle_end_date": "2025-12-13",
"cycle_start_date": "2024-02-28",
"last_status_at": "2020-05-07T18:39:34Z",
"next_cycle_at": "2025-12-14",
"started_at": "2020-05-07T11:35:57Z"
},
"id": "sub_BOAEj2WTKoclmg4X",
"internal_id": "9ad693fe-4366-487b-8ac3-ff4831864929",
"last_status": "active",
"last_transaction": {
"affiliations": [
],
"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": "Aveiro",
"address_zip_code": "83324090",
"company_name": "",
"doc": "01234567890",
"email": "email@email.email",
"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 Contacto",
"phone_local_code": "55",
"phone_number": "1234567980"
},
"dates": {
"canceled_at": null,
"confirmed_at": "2020-05-07T11:35:57Z",
"created_at": "2024-02-28T14:45:07Z",
"expires_at": null,
"ordered_at": "2020-05-07T11:33:45Z",
"unavailable_until": "2020-06-06T11:35:57Z",
"updated_at": "2024-02-28T14:50:36Z",
"warranty_until": "2020-06-06T11:35:57Z"
},
"ecommerces": [
],
"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": "2024-12-13",
"created_at": "2024-02-28T14:39:42Z",
"cycle": 2,
"discount_value": 0,
"id": "in_y5ZoRccnvFrFEgkPE",
"increment_value": 0,
"period_end": "2025-12-13",
"period_start": "2024-12-13",
"status": "paid",
"tax_value": 5.49,
"tries": 3,
"try": 3,
"type": "cycle",
"value": 29.37
},
"payment": {
"acquirer": {
"code": "",
"message": "",
"name": "",
"nsu": "",
"tid": ""
},
"affiliate_value": 0,
"can_try_again": 1,
"coupon": null,
"billet": {
"expiration_date": "",
"line": "",
"url": ""
},
"credit_card": {
"brand": "visa",
"expiration_month": 12,
"expiration_year": 2024,
"first_digits": "400000",
"id": "card_WLmNYk1fmKUOwBwX",
"last_digits": "0010"
},
"currency": "BRL",
"discount_value": 0,
"gross": 500,
"installments": {
"interest": 0,
"qty": 1,
"value": ""
},
"marketplace_id": "ch_1ke4QoCQOs7VE6VY",
"marketplace_name": "mundipagg",
"marketplace_value": 0,
"method": null,
"net": 500,
"processing_times": {
"delay_in_seconds": 2,
"finished_at": "2024-02-28T14:50:02.397Z",
"started_at": "2024-02-28T14:50:00.241Z"
},
"refund_reason": "",
"refuse_reason": "Transação capturada com sucesso",
"tax": {
"rate": 0,
"value": 0
},
"total": 500
},
"product": {
"id": "1587151083",
"image_url": "",
"internal_id": "906d1e37-de6a-4f4d-8271-91ecd0d65e32",
"marketplace_id": "1587151083",
"marketplace_name": "mundipagg",
"name": "Assinatura Mundipagg",
"offer": {
"id": "9ad505be-e7f9-4a08-a591-3ec4991c2615",
"name": "bvm - stripe - assinatura1 - oferta1"
},
"producer": {
"contact_email": "",
"marketplace_id": "01234567890",
"name": "Produtor Mundipagg"
},
"qty": 1,
"total_value": 500,
"type": "plan",
"unit_value": 500
},
"shipment": {
"carrier": "Correios",
"delivery_time": 15,
"service": "SEDEX",
"status": [
],
"tracking": "ME20000BGL2BR",
"value": 105.68
},
"shipping": {
"name": "Standard",
"value": 0
},
"source": {
"checkout_source": "",
"pptc": [
],
"source": "",
"utm_campaign": "",
"utm_content": "",
"utm_medium": "",
"utm_source": "",
"utm_term": ""
},
"status": "approved",
"type": "producer"
},
"name": "Assinatura Mundipagg",
"next_cycle_installments": 1,
"next_cycle_value": 49.9,
"next_product": {
"id": "9ad4f5bf-5fe5-4d02-bd9d-f819961b57cc",
"marketplace_id": "1702394333",
"marketplace_name": "mundipagg",
"name": "Assinatura Mundipagg",
"offer": {
"cash_discount": 0,
"id": "9ad505be-e7f9-4a08-a591-3ec4991c2615",
"name": "Assinatura Mundipagg",
"plan": {
"cycles": 0,
"discount": {
"cycles": 0,
"value": 0
},
"increment": {
"cycles": 0,
"value": 0
},
"interval": 1,
"interval_type": "year",
"provider": "guru",
"split_cycles": 0,
"trial_days": 0
},
"units_per_sale": 12,
"value": 23.88
}
},
"payment_method": "credit_card",
"product": {
"id": "9ad4f5bf-5fe5-4d02-bd9d-f819961b57cc",
"marketplace_id": "1702394333",
"marketplace_name": "mundipagg",
"name": "Assinatura Mundipagg",
"offer": {
"cash_discount": 0,
"id": "9ad505be-e7f9-4a08-a591-3ec4991c2615",
"name": "Assinatura Mundipagg",
"plan": {
"cycles": 0,
"discount": {
"cycles": 0,
"value": 0
},
"increment": {
"cycles": 0,
"value": 0
},
"interval": 1,
"interval_type": "year",
"provider": "guru",
"split_cycles": 0,
"trial_days": 0
},
"units_per_sale": 12,
"value": 23.88
}
},
"provider": "guru",
"subscriber": {
"address": "Rua Terra Rica",
"address_city": "Pinhais",
"address_comp": "",
"address_country": "BR",
"address_district": "Centro",
"address_number": "123",
"address_state": "PR",
"address_zip_code": "83324090",
"doc": "01234567890",
"email": "email@email.email",
"id": "906d1e37-de6a-4f4d-8271-91ecd0d65ec6",
"name": "Nome Assinante",
"phone_local_code": "55",
"phone_number": "1234567980"
},
"subscription_code": "sub_9CFyWTuPwXdJUikS",
"trial_days": 0,
"trial_finished_at": null,
"trial_started_at": null
}