Gatilhos da Shopify

O WiiChat agora suporta integração nativa de webhook com o Shopify. Agora não há mais necessidade de usar webhooks de entrada, pois essa integração nativa não só tem limitações de webhook, mas também evita outros problemas, como remoção de webhooks da loja do Shopify, payloads vazios e sem resposta, etc.

Reestabelecendo a conexão com o Shopify

Reestabelecer a conexão com o shopify é um passo importante para que esta atualização comece a funcionar. Siga os passos abaixo para estabelecer a conexão:

 

No painel do Workspace, clique em Integrations e depois em shopify. Depois, clique no botão Save e sua conexão será restabelecida.

 

Encontrando e selecionando os gatilhos do Shopify

Uma vez dentro do seu bot, siga os passos abaixo para encontrar e usar os gatilhos.

Clique em Automação no lado esquerdo da barra de rolagem e selecione Gatilhos na parte superior.

 

 

Clique em “Novo gatilho” e role para baixo até ver o Shopify Webhook, selecione-o.

 

 

Ações nativas do Webhook

 

O WiiChat suporta as seguintes ações nativas no momento.

Como usar os gatilhos

 

Siga o guia visual abaixo para usar os gatilhos

 

Depois de adicionar os detalhes e mapear a variável, anexe o gatilho a um subfluxo como:

 

 

 

 

Agora estamos prontos para usar os gatilhos.

Gatilhos e cargas úteis de resposta

Carrinho abandonado

O carrinho abandonado é acionado pelo Shopify sempre que um cliente insere suas informações de cobrança, mas não avança para a página de pagamento ou não conclui o pagamento.

 

A carga útil da resposta retorna informações sobre itens do carrinho, valor, URL da página de checkout, etc.

 

A carga útil da resposta retorna o seguinte JSON.

 

{
"id": 31436486049858,
"token": "5f47abde83b5d4a079cd5489c9bc6fa2",
"buyer_accepts_marketing": false,
"buyer_accepts_sms_marketing": false,
"created_at": "2023-03-28T04:56:22+00:00",
"updated_at": "2023-03-28T00:57:03-04:00",
"note": "f12372u15376836",
"taxes_included": false,
"total_weight": 0,
"currency": "AUD",
"phone": "+923032320964",
"customer_locale": "en",
"line_items": [
{
"key": "12535578755138",
"fulfillment_service": "manual",
"gift_card": false,
"grams": 0,
"presentment_variant_title": "Black",
"product_id": 1413103583298,
"quantity": 1,
"requires_shipping": true,
"sku": "11797017-1",
"taxable": false,
"title": "Pink Leather Quartz Watch",
"variant_id": 12535578755138,
"variant_title": "Black",
"variant_price": "14.99",
"vendor": "hapans",
"line_price": "14.99",
"price": "14.99"
}
],
"name": "#31436486049858",
"source_name": "5092638721",
"total_line_items_price": "14.99",
"total_tax": "0.00",
"total_discounts": "0.00",
"subtotal_price": "14.99",
"total_price": "34.99",
"total_duties": "0.00",
"billing_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"last_name": "Siddiqui",
"orders_count": 6,
"state": "disabled",
"total_spent": "204.59",
"last_order_id": 4862145101890,
"verified_email": true,
"tax_exempt": false,
"phone": "+923032320964",
"currency": "AUD",
"default_address": {
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Pakistan",
"zip": "78601",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
}
}

 

Note : The minimum time limit before the cart abandoned webhook triggered is 30 minutes by default

Order Creation (Cash On Delivery & Credit Card)

 

This webhook is triggered whenever someone completes the checkout process and places an order. The only difference between the two triggers is that when using Cash on Delivery, the order is by default marked unpaid and when using credit card, the order is by default marked as paid.

 

The response payload returns the following JSON

 

{
"id": 4862145101890,
"app_id": 5092638721,
"browser_ip": "119.160.34.14",
"buyer_accepts_marketing": false,
"checkout_id": 31435950030914,
"checkout_token": "3b34065898c1c679e0283b3c8c7d5da0",
"confirmed": true,
"created_at": "2023-03-27T23:16:50-04:00",
"currency": "AUD",
"current_subtotal_price": "24.87",
"current_total_discounts": "0.00",
"current_total_price": "44.87",
"current_total_tax": "0.00",
"customer_locale": "en",
"estimated_taxes": false,
"financial_status": "pending",
"gateway": "Cash on Delivery (COD)",
"location_id": 5833621570,
"name": "#1044",
"note": "f12372u15376836",
"number": 44,
"order_number": 1044,
"order_status_url": "Thank you! - CONNECTDOTS DEMO STORE - Checkout ",
"payment_gateway_names": [
"Cash on Delivery (COD)"
],
"phone": "+923032320964",
"processed_at": "2023-03-27T23:16:49-04:00",
"processing_method": "manual",
"reference": "a05cd2354ac4540796e3fe1e3c161553",
"source_identifier": "a05cd2354ac4540796e3fe1e3c161553",
"source_name": "5092638721",
"subtotal_price": "24.87",
"taxes_included": false,
"test": false,
"token": "de745afb0f9e4ce033d41035ddd1f58c",
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_outstanding": "44.87",
"total_price": "44.87",
"total_price_usd": "29.86",
"total_tax": "0.00",
"total_tip_received": "0.00",
"total_weight": 0,
"updated_at": "2023-03-27T23:16:50-04:00",
"billing_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"created_at": "2023-03-27T18:09:49-04:00",
"updated_at": "2023-03-27T23:16:50-04:00",
"last_name": "Siddiqui",
"state": "disabled",
"verified_email": true,
"tax_exempt": false,
"phone": "+923032320964",
"sms_marketing_consent": {
"state": "not_subscribed",
"opt_in_level": "single_opt_in",
"consent_collected_from": "SHOPIFY"
},
"currency": "AUD",
"accepts_marketing_updated_at": "2023-03-27T23:16:50-04:00",
"default_address": {
"id": 7363751346242,
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Pakistan",
"zip": "78601",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
},
"line_items": [
{
"id": 12241816059970,
"fulfillable_quantity": 1,
"fulfillment_service": "manual",
"gift_card": false,
"grams": 0,
"name": "Classic Nato Strap Watch - CH 0221",
"price": "24.87",
"product_exists": true,
"product_id": 1413102731330,
"quantity": 1,
"requires_shipping": true,
"sku": "1097285-ch-0221",
"taxable": false,
"title": "Classic Nato Strap Watch",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "AUD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "AUD"
}
},
"variant_id": 12535576723522,
"variant_inventory_management": "shopify",
"variant_title": "CH 0221",
"vendor": "hapans"
}
],
"shipping_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
}
}

Order Cancelled

 

This webhook is triggered whenever the order is cancelled from the shopify admin console.

The response payload returns the following JSON.

{
"id": 4862123409474,
"app_id": 5092638721,
"browser_ip": "119.160.34.14",
"buyer_accepts_marketing": false,
"cancel_reason": "customer",
"cancelled_at": "2023-03-28T00:50:11-04:00",
"checkout_id": 31435774623810,
"checkout_token": "d30a2d9c71d12d4ff8a154b4b140774e",
"closed_at": "2023-03-28T00:50:10-04:00",
"confirmed": true,
"created_at": "2023-03-27T22:46:04-04:00",
"currency": "AUD",
"current_subtotal_price": "0.00",
"current_total_discounts": "0.00",
"current_total_price": "0.00",
"current_total_tax": "0.00",
"customer_locale": "en",
"estimated_taxes": false,
"financial_status": "voided",
"gateway": "Cash on Delivery (COD)",
"location_id": 5833621570,
"name": "#1041",
"note": "f12372u15376836",
"number": 41,
"order_number": 1041,
"order_status_url": "Thank you! - CONNECTDOTS DEMO STORE - Checkout ",
"payment_gateway_names": [
"Cash on Delivery (COD)"
],
"phone": "+923032320964",
"processed_at": "2023-03-27T22:46:02-04:00",
"processing_method": "manual",
"reference": "934715d25490a701d19d0afb46e2e73a",
"source_identifier": "934715d25490a701d19d0afb46e2e73a",
"source_name": "5092638721",
"subtotal_price": "24.87",
"taxes_included": false,
"test": false,
"token": "3e7b990cb48fb3908681618fdfd11cb8",
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_outstanding": "0.00",
"total_price": "44.87",
"total_price_usd": "29.86",
"total_tax": "0.00",
"total_tip_received": "0.00",
"total_weight": 0,
"updated_at": "2023-03-28T00:50:11-04:00",
"billing_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"created_at": "2023-03-27T18:09:49-04:00",
"updated_at": "2023-03-27T23:16:50-04:00",
"last_name": "Siddiqui",
"state": "disabled",
"verified_email": true,
"tax_exempt": false,
"phone": "+923032320964",
"sms_marketing_consent": {
"state": "not_subscribed",
"opt_in_level": "single_opt_in",
"consent_collected_from": "SHOPIFY"
},
"currency": "AUD",
"accepts_marketing_updated_at": "2023-03-27T23:16:50-04:00",
"default_address": {
"id": 7363751346242,
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Pakistan",
"zip": "78601",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
},
"line_items": [
{
"id": 12241758912578,
"fulfillable_quantity": 0,
"fulfillment_service": "manual",
"gift_card": false,
"grams": 0,
"name": "Classic Nato Strap Watch - CH 0222",
"price": "24.87",
"product_exists": true,
"product_id": 1413102731330,
"quantity": 1,
"requires_shipping": true,
"sku": "1097285-ch-0222",
"taxable": false,
"title": "Classic Nato Strap Watch",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "AUD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "AUD"
}
},
"variant_id": 12535576133698,
"variant_inventory_management": "shopify",
"variant_title": "CH 0222",
"vendor": "hapans"
}
],
"shipping_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
}
}

Order Paid

 

This webhook is triggered whenever the order is marked from the shopify admin console.

 

The response payload returns the following JSON.

 

{
"id": 4862145101890,
"app_id": 5092638721,
"browser_ip": "119.160.34.14",
"buyer_accepts_marketing": false,
"checkout_id": 31435950030914,
"checkout_token": "3b34065898c1c679e0283b3c8c7d5da0",
"confirmed": true,
"created_at": "2023-03-27T23:16:50-04:00",
"currency": "AUD",
"current_subtotal_price": "24.87",
"current_total_discounts": "0.00",
"current_total_price": "44.87",
"current_total_tax": "0.00",
"customer_locale": "en",
"estimated_taxes": false,
"financial_status": "paid",
"gateway": "Cash on Delivery (COD)",
"location_id": 5833621570,
"name": "#1044",
"note": "f12372u15376836",
"number": 44,
"order_number": 1044,
"order_status_url": "Thank you! - CONNECTDOTS DEMO STORE - Checkout ",
"payment_gateway_names": [
"Cash on Delivery (COD)"
],
"phone": "+923032320964",
"processed_at": "2023-03-27T23:16:49-04:00",
"processing_method": "manual",
"reference": "a05cd2354ac4540796e3fe1e3c161553",
"source_identifier": "a05cd2354ac4540796e3fe1e3c161553",
"source_name": "5092638721",
"subtotal_price": "24.87",
"taxes_included": false,
"test": false,
"token": "de745afb0f9e4ce033d41035ddd1f58c",
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_outstanding": "0.00",
"total_price": "44.87",
"total_price_usd": "29.86",
"total_tax": "0.00",
"total_tip_received": "0.00",
"total_weight": 0,
"updated_at": "2023-03-28T00:42:02-04:00",
"billing_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"created_at": "2023-03-27T18:09:49-04:00",
"updated_at": "2023-03-27T23:16:50-04:00",
"last_name": "Siddiqui",
"state": "disabled",
"verified_email": true,
"tax_exempt": false,
"phone": "+923032320964",
"sms_marketing_consent": {
"state": "not_subscribed",
"opt_in_level": "single_opt_in",
"consent_collected_from": "SHOPIFY"
},
"currency": "AUD",
"accepts_marketing_updated_at": "2023-03-27T23:16:50-04:00",
"default_address": {
"id": 7363751346242,
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Pakistan",
"zip": "78601",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
},
"line_items": [
{
"id": 12241816059970,
"fulfillable_quantity": 1,
"fulfillment_service": "manual",
"gift_card": false,
"grams": 0,
"name": "Classic Nato Strap Watch - CH 0221",
"price": "24.87",
"product_exists": true,
"product_id": 1413102731330,
"quantity": 1,
"requires_shipping": true,
"sku": "1097285-ch-0221",
"taxable": false,
"title": "Classic Nato Strap Watch",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "AUD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "AUD"
}
},
"variant_id": 12535576723522,
"variant_inventory_management": "shopify",
"variant_title": "CH 0221",
"vendor": "hapans"
}
],
"shipping_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
}
}

Order Fulfilled

This webhook is triggered whenever the order is fulfilled from the shopify admin console. It return information such as order details and shipping tracking from merchants etc.

 

The response payload returns the following JSON.

 

{
"id": 4862145101890,
"app_id": 5092638721,
"browser_ip": "119.160.34.14",
"buyer_accepts_marketing": false,
"checkout_id": 31435950030914,
"checkout_token": "3b34065898c1c679e0283b3c8c7d5da0",
"closed_at": "2023-03-28T00:47:58-04:00",
"confirmed": true,
"created_at": "2023-03-27T23:16:50-04:00",
"currency": "AUD",
"current_subtotal_price": "24.87",
"current_total_discounts": "0.00",
"current_total_price": "44.87",
"current_total_tax": "0.00",
"customer_locale": "en",
"estimated_taxes": false,
"financial_status": "paid",
"fulfillment_status": "fulfilled",
"gateway": "Cash on Delivery (COD)",
"location_id": 5833621570,
"name": "#1044",
"note": "f12372u15376836",
"number": 44,
"order_number": 1044,
"order_status_url": "Thank you! - CONNECTDOTS DEMO STORE - Checkout ",
"payment_gateway_names": [
"Cash on Delivery (COD)"
],
"phone": "+923032320964",
"processed_at": "2023-03-27T23:16:49-04:00",
"processing_method": "manual",
"reference": "a05cd2354ac4540796e3fe1e3c161553",
"source_identifier": "a05cd2354ac4540796e3fe1e3c161553",
"source_name": "5092638721",
"subtotal_price": "24.87",
"taxes_included": false,
"test": false,
"token": "de745afb0f9e4ce033d41035ddd1f58c",
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_outstanding": "0.00",
"total_price": "44.87",
"total_price_usd": "29.86",
"total_tax": "0.00",
"total_tip_received": "0.00",
"total_weight": 0,
"updated_at": "2023-03-28T00:47:58-04:00",
"billing_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"created_at": "2023-03-27T18:09:49-04:00",
"updated_at": "2023-03-27T23:16:50-04:00",
"last_name": "Siddiqui",
"state": "disabled",
"verified_email": true,
"tax_exempt": false,
"phone": "+923032320964",
"sms_marketing_consent": {
"state": "not_subscribed",
"opt_in_level": "single_opt_in",
"consent_collected_from": "SHOPIFY"
},
"currency": "AUD",
"accepts_marketing_updated_at": "2023-03-27T23:16:50-04:00",
"default_address": {
"id": 7363751346242,
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Pakistan",
"zip": "78601",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
},
"fulfillments": [
{
"id": 4365623230530,
"created_at": "2023-03-28T00:47:58-04:00",
"location_id": 5833621570,
"name": "#1044.1",
"order_id": 4862145101890,
"service": "manual",
"status": "success",
"tracking_company": "Bonds",
"tracking_number": "23123123",
"tracking_numbers": [
"23123123"
],
"tracking_url": "Bonds Express Couriers ",
"tracking_urls": [
"Bonds Express Couriers "
],
"updated_at": "2023-03-28T00:47:58-04:00",
"line_items": [
{
"id": 12241816059970,
"fulfillable_quantity": 0,
"fulfillment_service": "manual",
"fulfillment_status": "fulfilled",
"gift_card": false,
"grams": 0,
"name": "Classic Nato Strap Watch - CH 0221",
"price": "24.87",
"product_exists": true,
"product_id": 1413102731330,
"quantity": 1,
"requires_shipping": true,
"sku": "1097285-ch-0221",
"taxable": false,
"title": "Classic Nato Strap Watch",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "AUD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "AUD"
}
},
"variant_id": 12535576723522,
"variant_inventory_management": "shopify",
"variant_title": "CH 0221",
"vendor": "hapans"
}
]
}
],
"line_items": [
{
"id": 12241816059970,
"fulfillable_quantity": 0,
"fulfillment_service": "manual",
"fulfillment_status": "fulfilled",
"gift_card": false,
"grams": 0,
"name": "Classic Nato Strap Watch - CH 0221",
"price": "24.87",
"product_exists": true,
"product_id": 1413102731330,
"quantity": 1,
"requires_shipping": true,
"sku": "1097285-ch-0221",
"taxable": false,
"title": "Classic Nato Strap Watch",
"total_discount": "0.00",
"total_discount_set": {
"shop_money": {
"amount": "0.00",
"currency_code": "AUD"
},
"presentment_money": {
"amount": "0.00",
"currency_code": "AUD"
}
},
"variant_id": 12535576723522,
"variant_inventory_management": "shopify",
"variant_title": "CH 0221",
"vendor": "hapans"
}
],
"shipping_address": {
"address1": "test",
"city": "test",
"zip": "78601",
"country": "Pakistan",
"last_name": "Siddiqui",
"name": "Siddiqui",
"country_code": "PK"
}
}

 

Draft Order Creation

The webhook is triggered whenever a draft order is created either via an API call through the bot or from Shopify admin console directly.

 

An important note here is that the trigger uses the personal information provided by Shopify upon creation of draft order to match the bot user inside WiiChat. If the provided with the payload is incorrect or doesnt exist the payload is simply wasted without the trigger being fired.

 

Following response payload is received whenever the trigger is successfully fired.

{
"id": 932436770882,
"taxes_included": false,
"currency": "AUD",
"created_at": "2023-04-10T12:51:09-04:00",
"updated_at": "2023-04-10T12:51:09-04:00",
"tax_exempt": false,
"name": "#D142",
"status": "open",
"line_items": [
{
"id": 57423868919874,
"variant_id": 12535571710018,
"product_id": 1413101748290,
"title": "Tetris Console iPhone Case",
"variant_title": "White / For IP 6 6s",
"sku": "12686347-white-for-ip-6-6s",
"vendor": "hapans",
"quantity": 1,
"requires_shipping": true,
"taxable": false,
"gift_card": false,
"fulfillment_service": "manual",
"grams": 0,
"name": "Tetris Console iPhone Case - White / For IP 6 6s",
"custom": false,
"price": "25.60"
}
],
"shipping_address": {
"address1": "test",
"city": "test",
"country": "Pakistan",
"last_name": "Siddiqui",
"latitude": 30.375321,
"longitude": 69.34511599999999,
"name": "Siddiqui",
"country_code": "PK"
},
"billing_address": {
"address1": "test",
"city": "test",
"country": "Pakistan",
"last_name": "Siddiqui",
"latitude": 30.375321,
"longitude": 69.34511599999999,
"name": "Siddiqui",
"country_code": "PK"
},
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/ba420962c10eb92c52c0d933afae8d19",
"total_price": "25.60",
"subtotal_price": "25.60",
"total_tax": "0.00",
"payment_terms": {
"id": 5674041410,
"payment_terms_name": "Due on receipt",
"payment_terms_type": "receipt",
"created_at": "2023-04-10T12:51:09-04:00",
"updated_at": "2023-04-10T12:51:09-04:00"
},
"customer": {
"id": 5969354489922,
"accepts_marketing": false,
"created_at": "2023-03-27T18:09:49-04:00",
"updated_at": "2023-04-09T22:08:00-04:00",
"last_name": "Siddiqui",
"orders_count": 23,
"state": "disabled",
"total_spent": "1322.87",
"last_order_id": 4881087299650,
"verified_email": true,
"tax_exempt": false,
"last_order_name": "#1065",
"currency": "AUD",
"phone": "+923032320964",
"accepts_marketing_updated_at": "2023-04-09T22:08:00-04:00",
"sms_marketing_consent": {
"state": "not_subscribed",
"opt_in_level": "single_opt_in",
"consent_collected_from": "SHOPIFY"
},
"default_address": {
"id": 7364628021314,
"customer_id": 5969354489922,
"last_name": "Siddiqui",
"address1": "test",
"city": "test",
"country": "Paquistão",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Paquistão",
"default": true
}
}
}

Criação de usuário com gatilhos

O webhook identifica os usuários usando número de telefone e endereço de e-mail e, em seguida, comparando-os com os usuários de bot existentes já presentes. Se os usuários de bot não forem encontrados, o número de telefone será usado para criar o usuário. Se o número de telefone for retornado nulo, o e-mail será usado para criar o usuário. Quando os usuários são criados usando números de telefone, eles são criados no canal do WhatsApp por padrão, e quando os usuários são criados usando e-mail, eles são criados no canal da Web.