Seja bem vindo(a) a documentação dos webhooks da Kiwify.

<aside> 💡

Os webhooks enviam uma requisição POST com informações sobre cada pedido. O seu sistema deve retornar uma resposta 2xx confirmando o recebimento. Caso contrário, o webhook será reenviado até 5 vezes. A Kiwify não segue redirecionamentos: uma resposta 3xx conta como falha.

</aside>

<aside> 💡 Há um limite de tempo de 40 segundos em que aguardamos a confirmação do recebimento da requisição por parte do seu sistema.

</aside>

Exemplo de webhook

	{
	"order_id": "da292c35-c6fc-44e7-ad19-ff7865bc2d89",
	"order_ref": "Quzqwus",
	"order_status": "paid", //Status da venda
	"payment_method": "credit_card",
	"store_id": "JKzixndUxOr68LJ",
	"payment_merchant_id": "10869585",
	"installments": 1,
	"card_type": "mastercard",
	"card_last4digits": "6411",
	"card_rejection_reason": null,
	"pix_code": null,
	"pix_expiration": null,
	"boleto_URL": null,
	"boleto_barcode": null, 
	"boleto_expiry_date": null,		
	"sale_type": "producer", // (producer, affiliate, coproducer)
	"approved_date": "2024-12-23 15:58",
	"refunded_at": null,
	"created_at": "2020-12-21 10:46",
	"updated_at": "2020-12-21 10:46",
	"webhook_event_type": "order_approved",
	"product_type": "membership", // (club, physical, payment, digital, event, membership)
	"Product": {
		"product_id": "acfe6050-4387-11eb-85a0-43a3ebec8277",
		"product_name": "New Subscription",
		"product_offer_id": "5e1f7a3c-2b4d-4f6a-8c9e-1a2b3c4d5e6f", // Só quando a venda é de uma oferta
		"product_offer_name": "Oferta principal"
	},
	"Customer": {
		"full_name": "Mario Chase",
		"first_name": "Mario",
		"email": "[email protected]",
		"mobile": null,
		"CPF": null,
		"cnpj": null,
		"ip": "192.168.0.1",
		"instagram": null,
		"street": null, // Campos de endereço só são enviados quando o checkout coleta o endereço
		"number": null,
		"complement": null,
		"neighborhood": null,
		"city": null,
		"state": null,
		"zipcode": null,
		"country": null, // (br, us, it, ....)
		"custom_fields": [] // [{ "title": "...", "value": "..." }]
	},
	"Commissions": {
		"charge_amount": 12424,
		"currency": "BRL", // Moeda que o cliente pagou no checkout (USD, COP, EUR e etc);
		"product_base_price": 12424,
		"product_base_price_currency": "BRL",
		"kiwify_fee": 1117,
		"kiwify_fee_currency": "BRL",	// Moeda em que foi cobrada a taxa	
		"commissioned_stores": [
			{
				"id": "b34b0051-14c3-4998-af0c-25f0def7b4b4",
				"type": "producer",
				"custom_name": "New",
				"affiliate_id": "vchuoGzH",
				"email": "[email protected]",				
				"value": "11307"
			}
		],
		"my_commission": 11307,
		"funds_status": null,
		"estimated_deposit_date": null,
		"deposit_date": null
	},
	"TrackingParameters":{
		"src": null,
		"sck": null,
		"utm_source": null,
		"utm_medium": null,
		"utm_campaign": null,
		"utm_content": null,
		"utm_term": null,
		"s1": null,
		"s2": null,
		"s3": null
	},
	"Subscription":{
	   "id":"3a8d274e-1351-4678-b653-10be23d5d218",
	   "start_date":"2020-12-21T13:46:20.508Z",
	   "next_payment":"2021-01-20T13:46:19.913Z",
	   "status":"active",
	   "customer_access": {
        "has_access": true,
        "active_period": true,
        "access_until": "2021-11-20T16:33:08.616Z"
     },
	   "plan":{
	      "id":"cc8dae72-3927-4a45-909c-8b01482dc1fa",
	      "name":"7 Day",
	      "frequency":"monthly",
	      "qty_charges":0
	   },
     "charges":{
        "completed":[
           {
              "order_id":"da292c35-c6fc-44e7-ad19-ff7865bc2d89",
              "amount":11307,
              "status":"paid",
              "installments":1,
              "card_type":"mastercard",
              "card_last_digits":"6411",
              "card_first_digits":"553527",
              "created_at":"2020-12-21T13:46:20.596Z"
           }
        ],
        "future":[
					{
						"charge_date":"2021-01-20T13:46:19.913Z"
					},
					{
						"charge_date":"2021-02-20T13:46:19.913Z"
					},
					{
						"charge_date":"2021-03-20T13:46:19.913Z"
					}
				]
			}
    },
    "subscription_id":"3a8d274e-1351-4678-b653-10be23d5d218",
 "checkout_link": "DHOtfJC",	
 "access_url": "<https://dashboard.kiwify.com.br/student/password/TOXJPgwJ0NcapWz18sWsq0Nd2hk3SrLfsBxnA?redirect=/course/84a4b499-f888-4a41-ac44-38f53a86453d>"
}

<aside> ⚠️

Os objetos Subscription , charges e o parâmetro subscription_id só são enviados caso a venda seja ligada a uma assinatura recorrente.

</aside>

<aside> ⚠️

O objeto Discount só é enviado quando a venda usa um cupom de desconto: "Discount": { "coupon_code": "BLACK10", "discount_percentage": 10 }

</aside>

<aside> ⚠️

O objeto ShippingOption só é enviado quando a venda tem frete (produto físico): "ShippingOption": { "id": "...", "name": "PAC", "price": 2490 }

</aside>

<aside> ⚠️

Em vendas internacionais, Commissions também traz settlement_amount, settlement_amount_currency, sale_tax_rate e sale_tax_amount, e kiwify_fee_currency é USD.

</aside>

<aside> ⚠️

Customer é null quando o webhook é de um afiliado sem permissão para ver os dados do comprador. Os campos kiwify_fee e kiwify_fee_currency não são enviados para afiliados.

</aside>

<aside> ⚠️ Os objetos event_tickets e event_batch só são enviados caso a venda seja ligada a um produto de evento presencial.

</aside>