Table of Contents | ||||
---|---|---|---|---|
|
With Shopify, your bot can show and gather information during conversations, including customers, products, discounts and shop details.
Create a custom app
...
After you login your Shopify store, go to “Apps and sales channels”, and then you can create an app.
After you click “create an app” button, you will be redirect to below screenshot, give it a name, and then you will get the new app created.
...
Click the “Configure Admin API scopes”,
...
and then you need to give the permission to use the scopes below:
Write_customers
Read_customers
Write_discounts
Read_discounts
Read_files
Read_fulfillments
Write_orders
Read_orders
Write_product_listings
Read_product_listings
Write_products
Read_products
Write_script_tags
Read_script_tags
After you select all the scopes, save it.
Install the App
After you create the app, and select all the necessary scopes, now you can install this app to your store.
...
After you install the app, you will see the token as per screenshot below:
...
Now you can copy the token to the password in UChat. also copy the API key to the api key in UChat.
Last thing, you need to copy your shopify domain(the one like this xxx.myshopify.com), please note, it’s not your own domain.
...
Connect with UChat
Now after you login in your UChat account, you can go to integrations, and then go to Shopify.
After you put your API key, Token & Shopify domain, your connection will be done!
...
By following the above 4 steps, jumping to Shopify's website and logging in yourself, you can easily connect your Shopify account to UChat.
After connection, you will then be able to use Shopify in your Action step. As follow are the functions you can utilize. Descriptions for each field will be put on corresponding photos.
Info |
---|
TIP - The functions work via API calls. This means that, by giving some inputs, you get your outputs from the servers. The outputs are saved in custom fields for future uses. |
Note |
---|
WARNING - You might need to know how to build flow and use variables before you read the following functions. See links below for guidance. |
...
Right click on the flow builder and select action node. From the action node click on Integrations and scroll down and select Shopify.
Click on edit action , then select your desired shopify native action
...
UChat supports the following shopify native actions:
We will now dive into each action in detail.
...
This action is used for looking up customer details using various query parameters such a customer id, email, phone no etc.
...
...
{
"customers": [
{
"id": 5969354489922,
"email": null,
"first_name": null,
"last_name": "Siddiqui",
"orders_count": 18,
"last_order_id": 4862680858690,
"phone": "+923032320964"
},
{
"id": 554979819586,
"email": "matthew6688@gmail.com",
"first_name": "Matthew",
"last_name": "Miao",
"orders_count": 14,
"last_order_id": 4862144217154,
"phone": null
},
{
"id": 5969349214274,
"email": "hammadsiddiqui788@gmail.com",
"first_name": "Test",
"last_name": "test",
"orders_count": 1,
"last_order_id": 4861820502082,
"phone": null
}
]
}
...
This action is used to bring up information for a particular customer using their customer ID
...
...
{
"customer": {
"id": 5969349214274,
"email": "hammadsiddiqui788@gmail.com",
"first_name": "Test",
"last_name": "test",
"orders_count": 1,
"last_order_id": 4861820502082,
"phone": null
}
}
...
This action is used to bring up orders and their details of a particular customer using customer ID and other query parameters.
...
...
{
"orders": [
{
"id": 4861820502082,
"cancelled_at": null,
"closed_at": null,
"confirmed": true,
"contact_email": "hammadsiddiqui788@gmail.com",
"created_at": "2023-03-27T18:03:31-04:00",
"currency": "AUD",
"email": "hammadsiddiqui788@gmail.com",
"financial_status": "pending",
"fulfillment_status": null,
"name": "#1036",
"number": 36,
"order_number": 1036,
"order_status_url": "https://connectdots-demo-store.myshopify.com/1763672130/orders/b545a20096979e8912b3f5de5261521a/authenticate?key=37180e3cdc0c7e6f172cf33407b82a20 ",
"phone": null,
"processed_at": "2023-03-27T18:03:30-04:00",
"reference": "019761d686838bd5f9056c44b791e4ac",
"subtotal_price": "24.87",
"tax_lines": [...], // 0 items
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_price": "44.87",
"updated_at": "2023-03-27T18:03:32-04:00"
}
]
}
...
This action is used to bring up the abandoned checkouts of a particular customer using their customer Id
...
...
{
"checkouts": [
{
"id": 28111582265410,
"token": "d93e09414106f10844c62eba29f54d05",
"cart_token": "49c342195618f0d5a0625666ebe5e3ff",
"email": "matthew6688@gmail.com",
"gateway": "bogus",
"buyer_accepts_marketing": false,
"created_at": "2022-08-28T18:52:57-04:00",
"updated_at": "2022-08-29T08:21:33-04:00",
"landing_site": "/",
"note": null,
"note_attributes": [...], // 0 items
"referring_site": "",
"shipping_lines": [...], // 1 items
"taxes_included": false,
"total_weight": 0,
"currency": "AUD",
"completed_at": "2022-08-29T08:21:30-04:00",
"closed_at": null,
"user_id": null,
"location_id": null,
"source_identifier": null,
"source_url": null,
"device_id": null,
"phone": null,
"customer_locale": "en-AU",
"line_items": [...], // 3 items
"name": "#28111582265410",
"source": null,
"abandoned_checkout_url": "https://connectdots-demo-store.myshopify.com/1763672130/checkouts/d93e09414106f10844c62eba29f54d05/recover?key=aa8d82943a3f905e2127b24cf34f812f ",
"discount_codes": [...], // 0 items
"tax_lines": [...], // 0 items
"source_name": "web",
"presentment_currency": "AUD",
"buyer_accepts_sms_marketing": false,
"sms_marketing_phone": null,
"total_discounts": "0.00",
"total_line_items_price": "180.45",
"total_price": "190.45",
"total_tax": "0.00",
"subtotal_price": "180.45",
"total_duties": null,
"billing_address": {...}, // 15 keys
"shipping_address": {...}, // 15 keys
"customer": {...} // 25 keys
}
]
}
...
This action is used to bring up products available on your shopify store using various parameters such as product id, title, vendor etc
...
...
{
"products": [
{
"id": 1413101355074,
"title": "2 in 1 Gold MacBook Riser & Stand",
"body_html": "Model Number: For Tablet PC StandMaterial: MetalFeature: Tablet Holder Mount for iPad & phone &TabletModel number: For Macbook Pro 13 15Material: Aluminum alloytablet stands: For Macbook Retina 12 13 15Stand for Tablet: For Ipad mini 1 2 3 4 ",
"vendor": "hapans",
"product_type": "Electronics",
"handle": "2-in-1-gold-macbook-riser-stand",
"variants": [
{
"id": 12535571218498,
"product_id": 1413101355074,
"title": "silver",
"price": "47.99",
"sku": "9877410-silver",
"position": 1,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "silver",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2022-10-13T02:39:56-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679678018,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409401410,
"inventory_quantity": 989,
"old_inventory_quantity": 989,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571218498"
},
{
"id": 12535571251266,
"product_id": 1413101355074,
"title": "gold",
"price": "47.99",
"sku": "9877410-gold",
"position": 2,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "gold",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2022-09-09T13:26:56-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679678018,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409434178,
"inventory_quantity": 998,
"old_inventory_quantity": 998,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571251266"
},
{
"id": 12535571284034,
"product_id": 1413101355074,
"title": "rose gold",
"price": "47.99",
"sku": "9877410-rose-gold",
"position": 3,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "rose gold",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2018-09-12T00:53:05-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679710786,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409466946,
"inventory_quantity": 999,
"old_inventory_quantity": 999,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571284034"
}
],
"options": [
{
"id": 1864082522178,
"product_id": 1413101355074,
"name": "Color",
"position": 1,
"values": [
"silver",
"gold",
"rose gold"
]
}
],
"images": [
{
"id": 3736679645250,
"product_id": 1413101355074,
"position": 1,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/macbook_stand.png?v=1571715576",
"variant_ids": [
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679645250"
},
{
"id": 3736679678018,
"product_id": 1413101355074,
"position": 2,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004687.jpg?v=1571715576",
"variant_ids": [
12535571218498,
12535571251266
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679678018"
},
{
"id": 3736679710786,
"product_id": 1413101355074,
"position": 3,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004689.jpg?v=1571715576",
"variant_ids": [
12535571284034
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679710786"
},
{
"id": 3736679743554,
"product_id": 1413101355074,
"position": 4,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004701.jpg?v=1571715576",
"variant_ids": [...], // 0 items
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679743554"
},
{
"id": 3736679776322,
"product_id": 1413101355074,
"position": 5,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 632,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004699.jpg?v=1571715576",
"variant_ids": [...], // 0 items
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679776322"
}
],
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/macbook_stand.png?v=1571715576"
}
]
}
...
This action is used to bring up information regarding a particular product using its product ID.
...
...
{
"product": {
"id": 1413101355074,
"title": "2 in 1 Gold MacBook Riser & Stand",
"body_html": "Model Number: For Tablet PC StandMaterial: MetalFeature: Tablet Holder Mount for iPad & phone &TabletModel number: For Macbook Pro 13 15Material: Aluminum alloytablet stands: For Macbook Retina 12 13 15Stand for Tablet: For Ipad mini 1 2 3 4 ",
"vendor": "hapans",
"product_type": "Electronics",
"handle": "2-in-1-gold-macbook-riser-stand",
"variants": [
{
"id": 12535571218498,
"product_id": 1413101355074,
"title": "silver",
"price": "47.99",
"sku": "9877410-silver",
"position": 1,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "silver",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2022-10-13T02:39:56-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679678018,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409401410,
"inventory_quantity": 989,
"old_inventory_quantity": 989,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571218498",
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004687.jpg?v=1571715576"
},
{
"id": 12535571251266,
"product_id": 1413101355074,
"title": "gold",
"price": "47.99",
"sku": "9877410-gold",
"position": 2,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "gold",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2022-09-09T13:26:56-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679678018,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409434178,
"inventory_quantity": 998,
"old_inventory_quantity": 998,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571251266",
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004687.jpg?v=1571715576"
},
{
"id": 12535571284034,
"product_id": 1413101355074,
"title": "rose gold",
"price": "47.99",
"sku": "9877410-rose-gold",
"position": 3,
"inventory_policy": "deny",
"compare_at_price": null,
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "rose gold",
"option2": null,
"option3": null,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2018-09-12T00:53:05-04:00",
"taxable": false,
"barcode": null,
"grams": 0,
"image_id": 3736679710786,
"weight": 0,
"weight_unit": "kg",
"inventory_item_id": 12660409466946,
"inventory_quantity": 999,
"old_inventory_quantity": 999,
"requires_shipping": true,
"admin_graphql_api_id": "gid://shopify/ProductVariant/12535571284034",
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004689.jpg?v=1571715576"
}
],
"options": [
{
"id": 1864082522178,
"product_id": 1413101355074,
"name": "Color",
"position": 1,
"values": [
"silver",
"gold",
"rose gold"
]
}
],
"images": [
{
"id": 3736679645250,
"product_id": 1413101355074,
"position": 1,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/macbook_stand.png?v=1571715576",
"variant_ids": [
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679645250"
},
{
"id": 3736679678018,
"product_id": 1413101355074,
"position": 2,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004687.jpg?v=1571715576",
"variant_ids": [
12535571218498,
12535571251266
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679678018"
},
{
"id": 3736679710786,
"product_id": 1413101355074,
"position": 3,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004689.jpg?v=1571715576",
"variant_ids": [
12535571284034
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679710786"
},
{
"id": 3736679743554,
"product_id": 1413101355074,
"position": 4,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004701.jpg?v=1571715576",
"variant_ids": [...], // 0 items
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679743554"
},
{
"id": 3736679776322,
"product_id": 1413101355074,
"position": 5,
"created_at": "2018-06-18T08:20:46-04:00",
"updated_at": "2019-10-21T23:39:36-04:00",
"alt": null,
"width": 800,
"height": 632,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004699.jpg?v=1571715576",
"variant_ids": [
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736679776322"
}
],
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/macbook_stand.png?v=1571715576"
}
}
...
This action is used to fetch images of the product and its variants using the product IDs.
...
...
{
"images": [
{
"id": 3736679645250,
"product_id": 1413101355074,
"position": 1,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/macbook_stand.png?v=1571715576"
},
{
"id": 3736679678018,
"product_id": 1413101355074,
"position": 2,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004687.jpg?v=1571715576"
},
{
"id": 3736679710786,
"product_id": 1413101355074,
"position": 3,
"width": 640,
"height": 640,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004689.jpg?v=1571715576"
},
{
"id": 3736679743554,
"product_id": 1413101355074,
"position": 4,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004701.jpg?v=1571715576"
},
{
"id": 3736679776322,
"product_id": 1413101355074,
"position": 5,
"width": 800,
"height": 632,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/product-image-421004699.jpg?v=1571715576"
}
]
}
...
This action is used to bring up information regarding variants of a product using its product ID
...
...
{
"variants": [
{
"id": 12535571218498,
"product_id": 1413101355074,
"title": "silver",
"price": "47.99",
"sku": "9877410-silver",
"position": 1,
"compare_at_price": null,
"option1": "silver",
"option2": null,
"option3": null,
"barcode": null,
"grams": 0,
"image_id": 3736679678018,
"weight": 0,
"weight_unit": "kg",
"inventory_quantity": 989
}
]
}
...
This action is used to search up custom collections available for your products on your shopify store.
...
...
{
"custom_collections": [
{
"id": 34403156034,
"handle": "frontpage",
"title": "Best Selling Products",
"body_html": "<p>Here is our Best selling products.</p> <p>The tips & tricks will power your Shopify store with MUCH More AWESOME data!</p>",
"sort_order": "best-selling",
"image": {
"created_at": "2022-08-17T00:24:01-04:00",
"alt": null,
"width": 900,
"height": 900,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/collections/Custom_dimensions_900x900_px_8.jpg?v=1660710241"
}
}
]
}
...
This action is used to bring up smart collections of the products you have on your shopify stores.
...
...
{
"smart_collections": [
{
"id": 264802598978,
"handle": "backpack-collection",
"title": "Backpack collection",
"body_html": "get your backpack and start enjoying your life outdoors!",
"sort_order": "best-selling",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "backpack"
}
],
"image": {
"created_at": "2022-08-17T00:23:00-04:00",
"alt": null,
"width": 900,
"height": 900,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/collections/Custom_dimensions_900x900_px_7.jpg?v=1660710180"
}
},
{
"id": 264802631746,
"handle": "electronics",
"title": "Electronics",
"body_html": "Looks for the digital gadget you can't live out with. more information here.",
"sort_order": "best-selling",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "Electronics"
}
],
"image": {
"created_at": "2022-08-17T00:21:47-04:00",
"alt": null,
"width": 900,
"height": 900,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/collections/Custom_dimensions_900x900_px_6.jpg?v=1660710107"
}
}
]
}
...
This action is used to bring up information about a collection using its collection ID.
...
...
{
"collection": {
"id": 264802598978,
"handle": "backpack-collection",
"title": "Backpack collection",
"updated_at": "2023-02-25T07:42:25-05:00",
"body_html": "get your backpack and start enjoying your life outdoors!",
"published_at": "2022-07-28T21:07:11-04:00",
"sort_order": "best-selling",
"template_suffix": "",
"products_count": 7,
"disjunctive": false,
"collection_type": "smart",
"rules": [
{
"column": "tag",
"relation": "equals",
"condition": "backpack"
}
],
"published_scope": "web",
"admin_graphql_api_id": "gid://shopify/Collection/264802598978",
"image": {
"created_at": "2022-08-17T00:23:00-04:00",
"alt": null,
"width": 900,
"height": 900,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/collections/Custom_dimensions_900x900_px_7.jpg?v=1660710180"
}
}
}
...
This action is used to fetch products related to a particular collection using collection ID
...
...
{
"products": [
{
"id": 1413104205890,
"title": "Mochila Backpack",
"body_html": " ★LOTS OF STORAGE SPACE&POCKETS: One separate laptop compartment hold 15.6 Inch Laptop as well as 15 Inch,14 Inch and 13 Inch Macbook/Laptop. One spacious packing compartment roomy for daily necessities,tech electronics accessories. Front compartment with many pockets, pen pockets and key fob hook, make your items organized and easier to find ★COMFY&STURDY: Comfortable airflow back design with thick but soft multi-panel ventilated padding, gives you maximum back support. Breathable and adjustable shoulder straps relieve the stress of shoulder. Foam padded top handle for a long time carry on ★FUNCTIONAL&SAFE: A luggage strap allows backpack fit on luggage/suitcase, slide over the luggage upright handle tube for easier carrying. With a hidden anti theft pocket on the back protect your valuable items from thieves. Well made for international airplane travel and day trip ★USB PORT DESIGN: With built in USB charger outside and built in charging cable inside,this usb backpack offers you a more convenient way to charge your phone while walking. Please noted that this backpack doesn't power itself, usb charging port only offers an easy access to charge ★DURABLE MATERIAL&SOLID: Made of Water Resistant and Durable Polyester Fabric with metal zippers.Ensure a secure & long-lasting usage everyday & weekend.Serve you well as professional office work bag,slim USB charging bagpack,college high school big student backpack for boys,girls,teens,adults ",
"vendor": "hapans",
"product_type": "backpack",
"handle": "mochila-backpack",
"options": [
{
"id": 1864085733442,
"product_id": 1413104205890,
"name": "Color",
"position": 1
},
{
"id": 1864085766210,
"product_id": 1413104205890,
"name": "Size",
"position": 2
}
],
"images": [
{
"id": 3736686919746,
"product_id": 1413104205890,
"position": 1,
"created_at": "2018-06-18T08:22:39-04:00",
"updated_at": "2019-10-21T23:39:37-04:00",
"alt": null,
"width": 800,
"height": 800,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/Mochila_Backpack.png?v=1571715577",
"variant_ids": [
12535580164162
],
"admin_graphql_api_id": "gid://shopify/ProductImage/3736686919746"
},
{
"id": 3736686952514,
"product_id": 1413104205890,
"position": 2,
"created_at": "2018-06-18T08:22:39-04:00",
"updated_at": "2019-10-21T23:39:37-04:00",
"alt": null,
"width": 430,
"height": 430,
"src": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/Backpack_black.png?v=1571715577",
"variant_ids": [...], // 1 items
"admin_graphql_api_id": "gid://shopify/ProductImage/3736686952514"
}
],
"image": "https://cdn.shopify.com/s/files/1/0017/6367/2130/products/Mochila_Backpack.png?v=1571715577"
}
]
}
...
This action is used to bring up information about your shopify store.
...
...
{
"shop": {
"id": 1763672130,
"name": "CONNECTDOTS DEMO STORE",
"email": "matthew@uchat.com.au",
"domain": "http://connectdots-demo-store.myshopify.com ",
"province": "Queensland",
"country": "AU",
"address1": "49 payne st",
"zip": "4068",
"city": "indooroopilly",
"phone": "0422213688",
"latitude": -27.4940251,
"longitude": 152.9733169,
"primary_locale": "en",
"address2": "",
"country_code": "AU",
"country_name": "Australia",
"currency": "AUD",
"customer_email": "matthew@uchat.com.au",
"timezone": "(GMT-05:00) America/New_York",
"iana_timezone": "America/New_York",
"shop_owner": "CONNECTDOTS DEMO STORE Admin",
"myshopify_domain": "http://connectdots-demo-store.myshopify.com "
}
}
...
This action is used to create a draft order for a customer using their customer id and product variant id.
...
...
{
"draft_order": {
"id": 932211818562,
"note": "",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": null,
"created_at": "2023-04-06T23:21:38-04:00",
"updated_at": "2023-04-06T23:21:38-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D127",
"status": "open",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/149487cd2cd8c0dc0c6f0a02cea7570e ",
"applied_discount": null,
"order_id": null,
"shipping_line": null,
"tax_lines": [
],
"tags": "",
"note_attributes": [
],
"total_price": "45.90",
"subtotal_price": "45.90",
"total_tax": "0.00",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932211818562"
}
}
...
This action is used for creating a draft order that includes multiple products of customers using their customer ID
...
...
{
"draft_order": {
"id": 932213981250,
"note": "",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": null,
"created_at": "2023-04-07T00:18:51-04:00",
"updated_at": "2023-04-07T00:18:51-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D128",
"status": "open",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/9c7bf5e61895642a0ec653438b26015f ",
"applied_discount": null,
"order_id": null,
"shipping_line": null,
"tax_lines": [
],
"tags": "",
"note_attributes": [
],
"total_price": "45.90",
"subtotal_price": "45.90",
"total_tax": "0.00",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932213981250"
}
}
...
This action is used to create a draft order using a custom product.
...
...
{
"draft_order": {
"id": 932221059138,
"note": "",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": null,
"created_at": "2023-04-07T04:17:52-04:00",
"updated_at": "2023-04-07T04:17:52-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D129",
"status": "open",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/dde50cad201cc7a8b29434e65e517f00",
"applied_discount": null,
"order_id": null,
"shipping_line": null,
"tax_lines": [
{...} // 3 keys
],
"tags": "",
"note_attributes": [
],
"total_price": "22.00",
"subtotal_price": "20.00",
"total_tax": "2.00",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932221059138"
}
}
...
This action is used to send an invoice of the draft order created to the customer. Please note that the email id used to send the email should be of someone from the staff or someone who has staff privileges.
...
...
{
"draft_order_invoice": {
"to": "hammadsiddiqui788@gmail.com",
"from": "matthew6688@gmail.com",
"subject": "Invoice",
"custom_message": "This is a test message",
"bcc": [
]
}
}
...
This action is used to apply a discount offer or code to an existing draft order.
...
...
{
"draft_order": {
"id": 932221059138,
"note": "",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": "2023-04-07T04:24:24-04:00",
"created_at": "2023-04-07T04:17:52-04:00",
"updated_at": "2023-04-07T04:29:06-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D129",
"status": "invoice_sent",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/dde50cad201cc7a8b29434e65e517f00",
"applied_discount": {
"description": "Start of summer clearance",
"value": "20.0",
"title": "Summer sale",
"amount": "4.00",
"value_type": "percentage"
},
"order_id": null,
"shipping_line": null,
"tax_lines": [
{...} // 3 keys
],
"tags": "",
"note_attributes": [
],
"total_price": "17.60",
"subtotal_price": "16.00",
"total_tax": "1.60",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932221059138"
}
}
...
This action is used to either mark a draft order paid or unpaid.
...
...
{
"draft_order": {
"id": 932221059138,
"note": "",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": "2023-04-07T04:24:24-04:00",
"created_at": "2023-04-07T04:17:52-04:00",
"updated_at": "2023-04-07T04:35:41-04:00",
"tax_exempt": false,
"completed_at": "2023-04-07T04:35:41-04:00",
"name": "#D129",
"status": "completed",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/dde50cad201cc7a8b29434e65e517f00",
"applied_discount": {
"description": "Start of summer clearance",
"value": "20.0",
"title": "Summer sale",
"amount": "4.00",
"value_type": "percentage"
},
"order_id": 4877204291650,
"shipping_line": null,
"tax_lines": [
{...} // 3 keys
],
"tags": "",
"note_attributes": [
],
"total_price": "17.60",
"subtotal_price": "16.00",
"total_tax": "1.60",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932221059138"
}
}
Delete Draft Order
This action is used to delete the draft order using draft order Id.
Input
...
Respone Payload
[
]
...
This action is used to fetch information of a particular draft orde using draft orde ID
...
...
{
"draft_order": {
"id": 932222074946,
"note": "",
"email": null,
"currency": "AUD",
"invoice_sent_at": null,
"created_at": "2023-04-07T04:44:07-04:00",
"updated_at": "2023-04-07T04:44:07-04:00",
"status": "open",
"line_items": [
{...} // 20 keys
],
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/420d58624f2da6e77933e7918922d1bf ",
"subtotal_price": "20.00"
}
}
...
This action is used to fetch information regarding a particular order using Order Id.
...
...
{
"order": {
"id": 4861820502082,
"cancelled_at": null,
"closed_at": null,
"confirmed": true,
"contact_email": "hammadsiddiqui788@gmail.com",
"created_at": "2023-03-27T18:03:31-04:00",
"currency": "AUD",
"email": "hammadsiddiqui788@gmail.com",
"financial_status": "pending",
"fulfillment_status": null,
"name": "#1036",
"number": 36,
"order_number": 1036,
"order_status_url": "https://connectdots-demo-store.myshopify.com/1763672130/orders/b545a20096979e8912b3f5de5261521a/authenticate?key=37180e3cdc0c7e6f172cf33407b82a20 ",
"phone": null,
"processed_at": "2023-03-27T18:03:30-04:00",
"reference": "019761d686838bd5f9056c44b791e4ac",
"subtotal_price": "24.87",
"tax_lines": [
],
"total_discounts": "0.00",
"total_line_items_price": "24.87",
"total_price": "44.87",
"updated_at": "2023-03-27T18:03:32-04:00"
}
}
...
This action is used to add a product to a user’s cart using bot user’s NS and variant id of the product.
...
...
{
"variant_id": 12535571218498,
"product_id": 1413101355074,
"quantity": 2,
"previous_quantity": 1
}
...
This action is used to remove an item from the cart using user NS and variant Id.
...
...
{
"variant_id": 12535571218498,
"product_id": 1413101355074,
"quantity": 1,
"previous_quantity": 2
}
...
This action is used to completely empty a cart for a user using their user NS
...
...
{
"status": "ok"
}
...
This action is used to fetch cart information of a bot user , using their user NS
...
...
{
"note": "f12372u15376836",
"taxes_included": false,
"currency": "AUD",
"tax_exempt": false,
"name": "#D131",
"line_items": [
{
"id": 57423008071746,
"variant_id": 12535571218498,
"product_id": 1413101355074,
"title": "2 in 1 Gold MacBook Riser & Stand",
"variant_title": "silver",
"sku": "9877410-silver",
"vendor": "hapans",
"quantity": 3,
"requires_shipping": true,
"taxable": false,
"gift_card": false,
"fulfillment_service": "manual",
"grams": 0,
"tax_lines": [...], // 0 items
"applied_discount": null,
"name": "2 in 1 Gold MacBook Riser & Stand - silver",
"properties": [...], // 0 items
"custom": false,
"price": "47.99",
"admin_graphql_api_id": "gid://shopify/DraftOrderLineItem/57423008071746"
}
],
"tax_lines": [
],
"total_price": "143.97",
"subtotal_price": "143.97",
"total_tax": "0.00"
}
...
This action is used to create a draft order using line items available in the cart.
...
...
{
"draft_order": {
"id": 932223320130,
"note": "f12372u15376836",
"email": null,
"taxes_included": false,
"currency": "AUD",
"invoice_sent_at": null,
"created_at": "2023-04-07T05:13:45-04:00",
"updated_at": "2023-04-07T05:13:45-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D132",
"status": "open",
"line_items": [
{...} // 20 keys
],
"shipping_address": null,
"billing_address": null,
"invoice_url": "https://connectdots-demo-store.myshopify.com/1763672130/invoices/c79c6b0ed4125ded500ed427a00e2009 ",
"applied_discount": null,
"order_id": null,
"shipping_line": null,
"tax_lines": [
],
"tags": "",
"note_attributes": [
],
"total_price": "143.97",
"subtotal_price": "143.97",
"total_tax": "0.00",
"payment_terms": null,
"admin_graphql_api_id": "gid://shopify/DraftOrder/932223320130"
}
}
...
This action is used to create a metafield for a resource such as customer, draft order, order , product etc.
...
...
{
"metafield": {
"id": 20794390872130,
"namespace": "test metafield",
"key": "test_1",
"value": "test",
"value_type": "string",
"description": "This is a test metafield",
"owner_id": 932223320130,
"created_at": "2023-04-07T05:19:02-04:00",
"updated_at": "2023-04-07T05:19:02-04:00",
"owner_resource": "draft_order",
"type": "single_line_text_field",
"admin_graphql_api_id": "gid://shopify/Metafield/20794390872130"
}
}
...
This action is used to update the metafield
...
...
{
"metafield": {
"value": "test1",
"value_type": "string",
"owner_id": 932223320130,
"namespace": "test metafield",
"key": "test_1",
"id": 20794390872130,
"description": "This is a test metafield",
"created_at": "2023-04-07T05:19:02-04:00",
"updated_at": "2023-04-07T05:43:48-04:00",
"owner_resource": "draft_order",
"type": "single_line_text_field",
"admin_graphql_api_id": "gid://shopify/Metafield/20794390872130"
}
}
...
This action is used to bring up information regarding a particular metafield using metafield and resource ids.
...
...
{
"metafield": {
"id": 20794390872130,
"namespace": "test metafield",
"key": "test_1",
"value": "test1",
"description": "This is a test metafield",
"owner_id": 932223320130,
"owner_resource": "draft_order",
"type": "single_line_text_field"
}
}
...
This action is used to search for metafields associated with a resource.
...
...
{
"metafields": [
{
"id": 20794390872130,
"namespace": "test metafield",
"key": "test_1",
"value": "test1",
"description": "This is a test metafield",
"owner_id": 932223320130,
"owner_resource": "draft_order",
"type": "single_line_text_field"
}
]
}
...
This action is used to delete metafields using the metafield Id and resource Id
...
...
[
]
...
UChat now supports native webhook integration with Shopify. There is now no need to use inbound webhooks anymore as not only this native integration has any webhook limitations but also avoids other problems such a removal of webhooks from shopify store, unresponsive and empty payloads etc.
...
Re-establishing connection with shopify in an important step for this update to start working. Follow the steps below to establish the connection:
On Workspace dashboard, click on Integrations and then click on shopify. Afterwards click on Save button and your connection will be re-established.
...
Once inside your bot, follow the below steps to find and use the triggers.
Click on Automation from the left side of the scroll bar and then select Triggers from the top.
Click on “New Trigger” and scroll down till you see Shopify Webhook, select it.
...
UChat supports the following native actions as of now.
...
Follow the below visual guide for using the triggers
...
After adding the details and mapping the variable, attach the trigger to a subflow as:
We are now ready to use the triggers.
...
Cart Abandoned is triggered from shopify whenever any customer enter their billing details but does not continue to payment page or does not complete the payment. The response payload returns information regarding cart items, amount , checkout page url etc.
The response payload return the following 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
...
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": "https://connectdots-demo-store.myshopify.com/1763672130/orders/de745afb0f9e4ce033d41035ddd1f58c/authenticate?key=3016e4bcfd50202adb9219947e665765 ",
"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"
}
}
...
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": "https://connectdots-demo-store.myshopify.com/1763672130/orders/3e7b990cb48fb3908681618fdfd11cb8/authenticate?key=14cd6656da59e677a3db0b4464e50661 ",
"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"
}
}
...
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": "https://connectdots-demo-store.myshopify.com/1763672130/orders/de745afb0f9e4ce033d41035ddd1f58c/authenticate?key=3016e4bcfd50202adb9219947e665765 ",
"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"
}
}
...
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": "https://connectdots-demo-store.myshopify.com/1763672130/orders/de745afb0f9e4ce033d41035ddd1f58c/authenticate?key=3016e4bcfd50202adb9219947e665765 ",
"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": "https://appsrv.bondscouriers.com.au/bondsweb/track-job.htm?jobNo=23123123 ",
"tracking_urls": [
"https://appsrv.bondscouriers.com.au/bondsweb/track-job.htm?jobNo=23123123 "
],
"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 UChat. 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": "Pakistan",
"name": "Siddiqui",
"country_code": "PK",
"country_name": "Pakistan",
"default": true
}
}
}
...
The webhook identifies the users using phone number and email address and then matching it from the existing bot users already present. If the bot users are not found then phone number is used to create the user. If phone number is returned null, then email is used to create the user. When users are created using phone numbers, they are created under whatsapp channel by default, and when users are created using email, they are created under web channel.