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.
https://share.getcloudapp.com/bLuBLRO5 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!
https://share.getcloudapp.com/kpu8xbAW
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.
How To Use Shopify Actions
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
Shopify Native Actions
UChat supports the following shopify native actions:
We will now dive into each action in detail.
Search For Customers
This action is used for looking up customer details using various query parameters such a customer id, email, phone no etc.
Response Payload
{ "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 } ] } |
Get Customer Info
This action is used to bring up information for a particular customer using their customer ID
Response Payload
{ "customer": { "id": 5969349214274, "email": "hammadsiddiqui788@gmail.com", "first_name": "Test", "last_name": "test", "orders_count": 1, "last_order_id": 4861820502082, "phone": null } } |
Get Customer Orders
This action is used to bring up orders and their details of a particular customer using customer ID and other query parameters.
Response Payload
{ "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" } ] } |
Get Customer Abandoned Checkouts
This action is used to bring up the abandoned checkouts of a particular customer using their customer Id
Response Payload
{ "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 } ] } |
Get Products
This action is used to bring up products available on your shopify store using various parameters such as product id, title, vendor etc
Response Payload
{ "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" } ] } |
Get Product Info
This action is used to bring up information regarding a particular product using its product ID.
Response Payload
{ "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" } } |
Get Product Images
This action is used to fetch images of the product and its variants using the product IDs.
Response Payload
{ "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" } ] } |
Get Product Variants
This action is used to bring up information regarding variants of a product using its product ID
Response Payload
{ "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 } ] } |
Search For Custom Collections
This action is used to search up custom collections available for your products on your shopify store.
Response Payload
Search For Smart Collections
This action is used to bring up smart collections of the products you have on your shopify stores.
Response Payload
{ "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" } } ] } |
Get Collection Info
This action is used to bring up information about a collection using its collection ID.
Reponse Payload
{ "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" } } } |
Get collection Products
This action is used to fetch products related to a particular collection using collection ID
Response Payload
{ "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" } ] } |
Get Shop Info
This action is used to bring up information about your shopify store.
Response Payload
{ "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 " } } |
Create Draft Order For One Product
This action is used to create a draft order for a customer using their customer id and product variant id.
Response Payload
{ "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
Response Payload
{ "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" } } |
Create Draft Order WIth Custom Product
This action is used to create a draft order using a custom product.
Reponse Payload
{ "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" } } |
Send An Invoice Of Draft Order
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.
Response Payload
Apply Discount To A Draft Order
This action is used to apply a discount offer or code to an existing draft order.
Response Payload
{ "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" } } |
Complete Draft Order
This action is used to either mark a draft order paid or unpaid.
Response Payload
{ "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
Get Draft Order Info
This action is used to fetch information of a particular draft orde using draft orde ID
Response Payload
{ "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" } } |
Get Order Info
This action is used to fetch information regarding a particular order using Order Id.
Response Payload
{ "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" } } |
Add To Cart
This action is used to add a product to a user’s cart using bot user’s NS and variant id of the product.
Response Payload
{ "variant_id": 12535571218498, "product_id": 1413101355074, "quantity": 2, "previous_quantity": 1 } |
Remove From Cart
This action is used to remove an item from the cart using user NS and variant Id.
Response Payload
{ "variant_id": 12535571218498, "product_id": 1413101355074, "quantity": 1, "previous_quantity": 2 } |
Empty Cart
This action is used to completely empty a cart for a user using their user NS
Response Payload
Get Cart Items
This action is used to fetch cart information of a bot user , using their user NS
Response Payload
{ "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" } |
Create Draft Order From Cart
This action is used to create a draft order using line items available in the cart.
Response Payload
{ "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.
Response Payload
{ "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
Resource Payload
{ "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.
Response Payload
{ "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.
Response Payload
{ "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
Response Payload
Shopify Triggers
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
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.
Finding & Selecting the Shopify Triggers
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.
Native Webhook Actions
UChat supports the following native actions as of now.
How To Use The Triggers
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.
Triggers & Response Payloads
Cart Abandoned
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
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": "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" } } |
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": "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" } } |
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": "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" } } |
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": "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" } } |
User Creation With Triggers
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.
0 Comments