Difference between revisions of "API Webhook"
From Spiffy Stores Knowledge Base
| Line 286: | Line 286: | ||
</pre> | </pre> | ||
|- | |- | ||
| − | | | + | | DraftOrder |
| − | |<code> | + | |<code>draft_orders/create, draft_orders/delete, draft_orders/update</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 123456, | ||
| + | "note": null, | ||
| + | "email": "jon@doe.ca", | ||
| + | "taxes_included": false, | ||
| + | "currency": "USD", | ||
| + | "subtotal_price": "2537.00", | ||
| + | "total_tax": "0.00", | ||
| + | "total_price": "2702.22", | ||
| + | "invoice_sent_at": null, | ||
| + | "created_at": "2017-03-20T16:04:28-04:00", | ||
| + | "updated_at": "2017-03-20T16:04:28-04:00", | ||
| + | "tax_exempt": false, | ||
| + | "completed_at": null, | ||
| + | "name": "#D234", | ||
| + | "status": "open", | ||
| + | "line_items": [ | ||
| + | { | ||
| + | "variant_id": 808950810, | ||
| + | "product_id": 632910392, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "variant_title": "Pink", | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "vendor": "Apple", | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "quantity": 3, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "fulfillment_service": "manual", | ||
| + | "tax_lines": [ | ||
| + | ], | ||
| + | "applied_discount": null, | ||
| + | "name": "IPod Nano - 8GB - Pink", | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "custom": false | ||
| + | }, | ||
| + | { | ||
| + | "variant_id": 808950810, | ||
| + | "product_id": 632910392, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "variant_title": "Pink", | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "vendor": "Apple", | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "quantity": 1, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "fulfillment_service": "manual", | ||
| + | "tax_lines": [ | ||
| + | ], | ||
| + | "applied_discount": null, | ||
| + | "name": "IPod Nano - 8GB - Pink", | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "custom": false | ||
| + | }, | ||
| + | { | ||
| + | "variant_id": 457924702, | ||
| + | "product_id": 632910392, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "variant_title": "Black", | ||
| + | "sku": "IPOD2008BLACK", | ||
| + | "vendor": "Apple", | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "quantity": 10, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "fulfillment_service": "manual", | ||
| + | "tax_lines": [ | ||
| + | ], | ||
| + | "applied_discount": { | ||
| + | "description": "bulk discount", | ||
| + | "value": "10.0", | ||
| + | "title": "Bulk Discount", | ||
| + | "amount": "199.00", | ||
| + | "value_type": "percentage" | ||
| + | }, | ||
| + | "name": "IPod Nano - 8GB - Black", | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "custom": false | ||
| + | } | ||
| + | ], | ||
| + | "shipping_address": { | ||
| + | "first_name": "Steve", | ||
| + | "address1": "123 Shipping Street", | ||
| + | "phone": "555-555-SHIP", | ||
| + | "city": "Shippington", | ||
| + | "zip": "40150", | ||
| + | "province": "Kentucky", | ||
| + | "country": "United States", | ||
| + | "last_name": "Shipper", | ||
| + | "address2": null, | ||
| + | "company": "Shipping Company", | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "name": "Steve Shipper", | ||
| + | "country_code": "US", | ||
| + | "province_code": "KY" | ||
| + | }, | ||
| + | "billing_address": { | ||
| + | "first_name": "Bob", | ||
| + | "address1": "123 Billing Street", | ||
| + | "phone": "555-555-BILL", | ||
| + | "city": "Billtown", | ||
| + | "zip": "K2P0B0", | ||
| + | "province": "Kentucky", | ||
| + | "country": "United States", | ||
| + | "last_name": "Biller", | ||
| + | "address2": null, | ||
| + | "company": "My Company", | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "name": "Bob Biller", | ||
| + | "country_code": "US", | ||
| + | "province_code": "KY" | ||
| + | }, | ||
| + | "invoice_url": "https:\/\/checkout.local\/690933842\/invoices\/abcd1234abcd1234abcd1234abcd1234", | ||
| + | "applied_discount": { | ||
| + | "description": "loyalty", | ||
| + | "value": "50.0", | ||
| + | "title": "Loyalty", | ||
| + | "amount": "50.00", | ||
| + | "value_type": "fixed_amount" | ||
| + | }, | ||
| + | "order_id": null, | ||
| + | "shipping_line": { | ||
| + | "title": "Generic Shipping", | ||
| + | "price": "10.00", | ||
| + | "custom": true, | ||
| + | "handle": null | ||
| + | }, | ||
| + | "tax_lines": [ | ||
| + | { | ||
| + | "price": "35.82", | ||
| + | "rate": 0.06, | ||
| + | "title": "State Tax" | ||
| + | }, | ||
| + | { | ||
| + | "price": "11.94", | ||
| + | "rate": 0.06, | ||
| + | "title": "State Tax" | ||
| + | }, | ||
| + | { | ||
| + | "price": "107.46", | ||
| + | "rate": 0.06, | ||
| + | "title": "State Tax" | ||
| + | } | ||
| + | ], | ||
| + | "tags": "", | ||
| + | "note_attributes": [ | ||
| + | ], | ||
| + | "customer": { | ||
| + | "id": null, | ||
| + | "email": "john@doe.ca", | ||
| + | "accepts_marketing": false, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "first_name": "John", | ||
| + | "last_name": "Smith", | ||
| + | "orders_count": 0, | ||
| + | "state": "disabled", | ||
| + | "total_spent": "0.00", | ||
| + | "last_order_id": null, | ||
| + | "note": null, | ||
| + | "verified_email": true, | ||
| + | "multipass_identifier": null, | ||
| + | "tax_exempt": false, | ||
| + | "phone": null, | ||
| + | "tags": "", | ||
| + | "last_order_name": null, | ||
| + | "default_address": { | ||
| + | "id": null, | ||
| + | "first_name": null, | ||
| + | "last_name": null, | ||
| + | "company": null, | ||
| + | "address1": "123 Elm St.", | ||
| + | "address2": null, | ||
| + | "city": "Ottawa", | ||
| + | "province": "Ontario", | ||
| + | "country": "Canada", | ||
| + | "zip": "K2H7A8", | ||
| + | "phone": "123-123-1234", | ||
| + | "name": "", | ||
| + | "province_code": "ON", | ||
| + | "country_code": "CA", | ||
| + | "country_name": "Canada", | ||
| + | "default": true | ||
| + | } | ||
| + | } | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Fulfillment |
| − | |<code> | + | |<code>fulfillments/create, fulfillments/update</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 123456, | ||
| + | "order_id": 123456, | ||
| + | "status": "pending", | ||
| + | "created_at": "2017-03-20T16:04:32-04:00", | ||
| + | "service": null, | ||
| + | "updated_at": "2017-03-20T16:04:32-04:00", | ||
| + | "tracking_company": "UPS", | ||
| + | "shipment_status": null, | ||
| + | "email": "jon@doe.ca", | ||
| + | "destination": { | ||
| + | "first_name": "Steve", | ||
| + | "address1": "123 Shipping Street", | ||
| + | "phone": "555-555-SHIP", | ||
| + | "city": "Shippington", | ||
| + | "zip": "K2P0S0", | ||
| + | "province": "Kentucky", | ||
| + | "country": "United States", | ||
| + | "last_name": "Shipper", | ||
| + | "address2": null, | ||
| + | "company": "Shipping Company", | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "name": "Steve Shipper", | ||
| + | "country_code": "US", | ||
| + | "province_code": "KY" | ||
| + | }, | ||
| + | "tracking_number": "1z827wk74630", | ||
| + | "tracking_numbers": [ | ||
| + | "1z827wk74630" | ||
| + | ], | ||
| + | "tracking_url": "http:\/\/wwwapps.ups.com\/etracking\/tracking.cgi?InquiryNumber1=1z827wk74630&TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track", | ||
| + | "tracking_urls": [ | ||
| + | "http:\/\/wwwapps.ups.com\/etracking\/tracking.cgi?InquiryNumber1=1z827wk74630&TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track" | ||
| + | ], | ||
| + | "receipt": { | ||
| + | }, | ||
| + | "line_items": [ | ||
| + | { | ||
| + | "id": 808950810, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "0.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | }, | ||
| + | { | ||
| + | "id": 199, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "5.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | } | ||
| + | ] | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | FulfillmentEvent |
| − | |<code> | + | |<code>fulfillment_events/create, fulfillment_events/delete</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 1234567, | ||
| + | "fulfillment_id": 123456, | ||
| + | "status": "in_transit", | ||
| + | "message": "Item is now in transit", | ||
| + | "happened_at": "2017-03-20T16:04:31-04:00", | ||
| + | "city": "Montreal", | ||
| + | "province": "QC", | ||
| + | "country": "CA", | ||
| + | "zip": null, | ||
| + | "address1": null, | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "shop_id": 690933842, | ||
| + | "created_at": "2017-03-20T16:04:31-04:00", | ||
| + | "updated_at": "2017-03-20T16:04:31-04:00", | ||
| + | "estimated_delivery_at": null, | ||
| + | "order_id": 123456 | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Order |
| − | |<code> | + | |<code>orders/cancelled, orders/create, orders/delete, orders/fulfilled, orders/paid, orders/partially_fulfilled, orders/updated</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 123456, | ||
| + | "email": "jon@doe.ca", | ||
| + | "closed_at": null, | ||
| + | "created_at": "2017-03-20T16:02:31-04:00", | ||
| + | "updated_at": "2017-03-20T16:02:31-04:00", | ||
| + | "number": 234, | ||
| + | "note": null, | ||
| + | "token": "123456abcd", | ||
| + | "gateway": null, | ||
| + | "test": true, | ||
| + | "total_price": "403.00", | ||
| + | "subtotal_price": "393.00", | ||
| + | "total_weight": 0, | ||
| + | "total_tax": "0.00", | ||
| + | "taxes_included": false, | ||
| + | "currency": "USD", | ||
| + | "financial_status": "voided", | ||
| + | "confirmed": false, | ||
| + | "total_discounts": "5.00", | ||
| + | "total_line_items_price": "398.00", | ||
| + | "cart_token": null, | ||
| + | "buyer_accepts_marketing": true, | ||
| + | "name": "#9999", | ||
| + | "referring_site": null, | ||
| + | "landing_site": null, | ||
| + | "cancelled_at": "2017-03-20T16:02:31-04:00", | ||
| + | "cancel_reason": "customer", | ||
| + | "total_price_usd": null, | ||
| + | "checkout_token": null, | ||
| + | "reference": null, | ||
| + | "user_id": null, | ||
| + | "location_id": null, | ||
| + | "source_identifier": null, | ||
| + | "source_url": null, | ||
| + | "processed_at": null, | ||
| + | "device_id": null, | ||
| + | "browser_ip": null, | ||
| + | "landing_site_ref": null, | ||
| + | "order_number": 1234, | ||
| + | "discount_codes": [ | ||
| + | ], | ||
| + | "note_attributes": [ | ||
| + | ], | ||
| + | "payment_gateway_names": [ | ||
| + | "visa", | ||
| + | "bogus" | ||
| + | ], | ||
| + | "processing_method": "", | ||
| + | "checkout_id": null, | ||
| + | "source_name": "web", | ||
| + | "fulfillment_status": "pending", | ||
| + | "tax_lines": [ | ||
| + | ], | ||
| + | "tags": "", | ||
| + | "contact_email": "jon@doe.ca", | ||
| + | "order_status_url": null, | ||
| + | "line_items": [ | ||
| + | { | ||
| + | "id": 808950810, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "0.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | }, | ||
| + | { | ||
| + | "id": 199, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "5.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | } | ||
| + | ], | ||
| + | "shipping_lines": [ | ||
| + | { | ||
| + | "id": 1234567, | ||
| + | "title": "Generic Shipping", | ||
| + | "price": "10.00", | ||
| + | "code": null, | ||
| + | "source": "shopify", | ||
| + | "phone": null, | ||
| + | "requested_fulfillment_service_id": null, | ||
| + | "delivery_category": null, | ||
| + | "carrier_identifier": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | } | ||
| + | ], | ||
| + | "billing_address": { | ||
| + | "first_name": "Bob", | ||
| + | "address1": "123 Billing Street", | ||
| + | "phone": "555-555-BILL", | ||
| + | "city": "Billtown", | ||
| + | "zip": "K2P0B0", | ||
| + | "province": "Kentucky", | ||
| + | "country": "United States", | ||
| + | "last_name": "Biller", | ||
| + | "address2": null, | ||
| + | "company": "My Company", | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "name": "Bob Biller", | ||
| + | "country_code": "US", | ||
| + | "province_code": "KY" | ||
| + | }, | ||
| + | "shipping_address": { | ||
| + | "first_name": "Steve", | ||
| + | "address1": "123 Shipping Street", | ||
| + | "phone": "555-555-SHIP", | ||
| + | "city": "Shippington", | ||
| + | "zip": "K2P0S0", | ||
| + | "province": "Kentucky", | ||
| + | "country": "United States", | ||
| + | "last_name": "Shipper", | ||
| + | "address2": null, | ||
| + | "company": "Shipping Company", | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "name": "Steve Shipper", | ||
| + | "country_code": "US", | ||
| + | "province_code": "KY" | ||
| + | }, | ||
| + | "fulfillments": [ | ||
| + | ], | ||
| + | "refunds": [ | ||
| + | ], | ||
| + | "customer": { | ||
| + | "id": 1234567, | ||
| + | "email": "john@test.com", | ||
| + | "accepts_marketing": false, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "first_name": "John", | ||
| + | "last_name": "Smith", | ||
| + | "orders_count": 0, | ||
| + | "state": "disabled", | ||
| + | "total_spent": "0.00", | ||
| + | "last_order_id": null, | ||
| + | "note": null, | ||
| + | "verified_email": true, | ||
| + | "multipass_identifier": null, | ||
| + | "tax_exempt": false, | ||
| + | "phone": null, | ||
| + | "tags": "", | ||
| + | "last_order_name": null, | ||
| + | "default_address": { | ||
| + | "id": 1234567, | ||
| + | "first_name": null, | ||
| + | "last_name": null, | ||
| + | "company": null, | ||
| + | "address1": "123 Elm St.", | ||
| + | "address2": null, | ||
| + | "city": "Ottawa", | ||
| + | "province": "Ontario", | ||
| + | "country": "Canada", | ||
| + | "zip": "K2H7A8", | ||
| + | "phone": "123-123-1234", | ||
| + | "name": "", | ||
| + | "province_code": "ON", | ||
| + | "country_code": "CA", | ||
| + | "country_name": "Canada", | ||
| + | "default": false | ||
| + | } | ||
| + | } | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | OrderTransaction |
| − | |<code> | + | |<code>order_transactions/create</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 23456, | ||
| + | "order_id": 123456, | ||
| + | "amount": "11.50", | ||
| + | "kind": "authorization", | ||
| + | "gateway": "visa", | ||
| + | "status": "success", | ||
| + | "message": null, | ||
| + | "created_at": "2017-03-20T16:02:33-04:00", | ||
| + | "test": false, | ||
| + | "authorization": "1001", | ||
| + | "currency": null, | ||
| + | "location_id": null, | ||
| + | "user_id": null, | ||
| + | "parent_id": null, | ||
| + | "device_id": null, | ||
| + | "receipt": { | ||
| + | }, | ||
| + | "error_code": null, | ||
| + | "source_name": "web", | ||
| + | "payment_details": { | ||
| + | "credit_card_bin": null, | ||
| + | "avs_result_code": null, | ||
| + | "cvv_result_code": null, | ||
| + | "credit_card_number": "•••• •••• •••• 1234", | ||
| + | "credit_card_company": "Visa" | ||
| + | } | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Product |
| − | |<code> | + | |<code>products/create, products/delete, products/update</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 327475578523353102, | ||
| + | "title": "Example T-Shirt", | ||
| + | "body_html": null, | ||
| + | "vendor": "Acme", | ||
| + | "product_type": "Shirts", | ||
| + | "created_at": null, | ||
| + | "handle": "example-t-shirt", | ||
| + | "updated_at": null, | ||
| + | "published_at": "2017-03-20T16:04:28-04:00", | ||
| + | "template_suffix": null, | ||
| + | "published_scope": "global", | ||
| + | "tags": "mens t-shirt example", | ||
| + | "variants": [ | ||
| + | { | ||
| + | "id": 1234567, | ||
| + | "product_id": 327475578523353102, | ||
| + | "title": "", | ||
| + | "price": "19.99", | ||
| + | "sku": "example-shirt-s", | ||
| + | "position": 0, | ||
| + | "grams": 200, | ||
| + | "inventory_policy": "deny", | ||
| + | "compare_at_price": "24.99", | ||
| + | "fulfillment_service": "manual", | ||
| + | "inventory_management": null, | ||
| + | "option1": "Small", | ||
| + | "option2": null, | ||
| + | "option3": null, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "taxable": true, | ||
| + | "barcode": null, | ||
| + | "image_id": null, | ||
| + | "inventory_quantity": 75, | ||
| + | "weight": 0.44, | ||
| + | "weight_unit": "lb", | ||
| + | "old_inventory_quantity": 75, | ||
| + | "requires_shipping": true | ||
| + | }, | ||
| + | { | ||
| + | "id": 1234568, | ||
| + | "product_id": 327475578523353102, | ||
| + | "title": "", | ||
| + | "price": "19.99", | ||
| + | "sku": "example-shirt-m", | ||
| + | "position": 0, | ||
| + | "grams": 200, | ||
| + | "inventory_policy": "deny", | ||
| + | "compare_at_price": "24.99", | ||
| + | "fulfillment_service": "manual", | ||
| + | "inventory_management": "shopify", | ||
| + | "option1": "Medium", | ||
| + | "option2": null, | ||
| + | "option3": null, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "taxable": true, | ||
| + | "barcode": null, | ||
| + | "image_id": null, | ||
| + | "inventory_quantity": 50, | ||
| + | "weight": 0.44, | ||
| + | "weight_unit": "lb", | ||
| + | "old_inventory_quantity": 50, | ||
| + | "requires_shipping": true | ||
| + | } | ||
| + | ], | ||
| + | "options": [ | ||
| + | { | ||
| + | "id": 12345, | ||
| + | "product_id": 327475578523353102, | ||
| + | "name": "Title", | ||
| + | "position": 1, | ||
| + | "values": [ | ||
| + | "Small", | ||
| + | "Medium" | ||
| + | ] | ||
| + | } | ||
| + | ], | ||
| + | "images": [ | ||
| + | { | ||
| + | "id": 1234567, | ||
| + | "product_id": 327475578523353102, | ||
| + | "position": 0, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png", | ||
| + | "variant_ids": [ | ||
| + | ] | ||
| + | } | ||
| + | ], | ||
| + | "image": null | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | ProductPublication |
| − | |<code> | + | |<code>product_listings/add, product_listings/remove, product_listings/update</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "product_listing": { | ||
| + | "product_id": 327475578523353102, | ||
| + | "created_at": null, | ||
| + | "updated_at": null, | ||
| + | "body_html": null, | ||
| + | "handle": "example-t-shirt", | ||
| + | "product_type": "Shirts", | ||
| + | "title": "Example T-Shirt", | ||
| + | "vendor": "Acme", | ||
| + | "available": true, | ||
| + | "tags": "mens t-shirt example", | ||
| + | "published_at": "2017-03-20T16:02:34-04:00", | ||
| + | "images": [ | ||
| + | { | ||
| + | "id": 1234567, | ||
| + | "created_at": null, | ||
| + | "position": 0, | ||
| + | "updated_at": null, | ||
| + | "product_id": 327475578523353102, | ||
| + | "src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png", | ||
| + | "variant_ids": [ | ||
| + | ] | ||
| + | } | ||
| + | ], | ||
| + | "options": [ | ||
| + | { | ||
| + | "id": 12345, | ||
| + | "name": "Title", | ||
| + | "product_id": 327475578523353102, | ||
| + | "position": 1 | ||
| + | } | ||
| + | ], | ||
| + | "variants": [ | ||
| + | { | ||
| + | "id": 1234567, | ||
| + | "title": "", | ||
| + | "option_values": [ | ||
| + | { | ||
| + | "option_id": 12345, | ||
| + | "name": "Title", | ||
| + | "value": "Small" | ||
| + | } | ||
| + | ], | ||
| + | "price": "19.99", | ||
| + | "formatted_price": "$19.99", | ||
| + | "compare_at_price": "24.99", | ||
| + | "grams": 200, | ||
| + | "requires_shipping": true, | ||
| + | "sku": "example-shirt-s", | ||
| + | "barcode": null, | ||
| + | "taxable": true, | ||
| + | "position": 0, | ||
| + | "available": true, | ||
| + | "inventory_policy": "deny", | ||
| + | "inventory_quantity": 75, | ||
| + | "inventory_management": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "weight": 0.44, | ||
| + | "weight_unit": "lb", | ||
| + | "image_id": null, | ||
| + | "created_at": null, | ||
| + | "updated_at": null | ||
| + | }, | ||
| + | { | ||
| + | "id": 1234568, | ||
| + | "title": "", | ||
| + | "option_values": [ | ||
| + | { | ||
| + | "option_id": 12345, | ||
| + | "name": "Title", | ||
| + | "value": "Medium" | ||
| + | } | ||
| + | ], | ||
| + | "price": "19.99", | ||
| + | "formatted_price": "$19.99", | ||
| + | "compare_at_price": "24.99", | ||
| + | "grams": 200, | ||
| + | "requires_shipping": true, | ||
| + | "sku": "example-shirt-m", | ||
| + | "barcode": null, | ||
| + | "taxable": true, | ||
| + | "position": 0, | ||
| + | "available": true, | ||
| + | "inventory_policy": "deny", | ||
| + | "inventory_quantity": 50, | ||
| + | "inventory_management": "shopify", | ||
| + | "fulfillment_service": "manual", | ||
| + | "weight": 0.44, | ||
| + | "weight_unit": "lb", | ||
| + | "image_id": null, | ||
| + | "created_at": null, | ||
| + | "updated_at": null | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Refund |
| − | |<code> | + | |<code>refunds/create</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 1234567, | ||
| + | "order_id": 123456, | ||
| + | "created_at": "2017-03-20T16:02:33-04:00", | ||
| + | "note": "Things were damaged", | ||
| + | "restock": true, | ||
| + | "user_id": 799407056, | ||
| + | "processed_at": "2017-03-20T16:02:33-04:00", | ||
| + | "refund_line_items": [ | ||
| + | { | ||
| + | "id": 808950883, | ||
| + | "quantity": 1, | ||
| + | "line_item_id": 808950810, | ||
| + | "subtotal": 199.0, | ||
| + | "total_tax": 0.0, | ||
| + | "line_item": { | ||
| + | "id": 808950810, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "0.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | } | ||
| + | }, | ||
| + | { | ||
| + | "id": 272, | ||
| + | "quantity": 1, | ||
| + | "line_item_id": 199, | ||
| + | "subtotal": 194.0, | ||
| + | "total_tax": 0.0, | ||
| + | "line_item": { | ||
| + | "id": 199, | ||
| + | "variant_id": null, | ||
| + | "title": "IPod Nano - 8GB", | ||
| + | "quantity": 1, | ||
| + | "price": "199.00", | ||
| + | "grams": 567, | ||
| + | "sku": "IPOD2008PINK", | ||
| + | "variant_title": null, | ||
| + | "vendor": null, | ||
| + | "fulfillment_service": "manual", | ||
| + | "product_id": 632910392, | ||
| + | "requires_shipping": true, | ||
| + | "taxable": true, | ||
| + | "gift_card": false, | ||
| + | "name": "IPod Nano - 8GB", | ||
| + | "variant_inventory_management": null, | ||
| + | "properties": [ | ||
| + | ], | ||
| + | "product_exists": true, | ||
| + | "fulfillable_quantity": 1, | ||
| + | "total_discount": "5.00", | ||
| + | "fulfillment_status": null, | ||
| + | "tax_lines": [ | ||
| + | ] | ||
| + | } | ||
| + | } | ||
| + | ], | ||
| + | "transactions": [ | ||
| + | { | ||
| + | "id": 42424242, | ||
| + | "order_id": 123456, | ||
| + | "amount": "75.00", | ||
| + | "kind": "refund", | ||
| + | "gateway": "bogus", | ||
| + | "status": "success", | ||
| + | "message": "This is a refund", | ||
| + | "created_at": null, | ||
| + | "test": false, | ||
| + | "authorization": null, | ||
| + | "currency": null, | ||
| + | "location_id": null, | ||
| + | "user_id": null, | ||
| + | "parent_id": null, | ||
| + | "device_id": null, | ||
| + | "receipt": { | ||
| + | }, | ||
| + | "error_code": null, | ||
| + | "source_name": "web" | ||
| + | }, | ||
| + | { | ||
| + | "id": 42424243, | ||
| + | "order_id": 123456, | ||
| + | "amount": "10.00", | ||
| + | "kind": "refund", | ||
| + | "gateway": "bogus", | ||
| + | "status": "success", | ||
| + | "message": null, | ||
| + | "created_at": null, | ||
| + | "test": false, | ||
| + | "authorization": null, | ||
| + | "currency": null, | ||
| + | "location_id": null, | ||
| + | "user_id": null, | ||
| + | "parent_id": null, | ||
| + | "device_id": null, | ||
| + | "receipt": { | ||
| + | }, | ||
| + | "error_code": null, | ||
| + | "source_name": "web" | ||
| + | } | ||
| + | ], | ||
| + | "order_adjustments": [ | ||
| + | ] | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Shop |
| − | |<code> | + | |<code>app/uninstalled, shop/update</code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": 1234567, | ||
| + | "name": "Super Toys", | ||
| + | "email": "super@supertoys.com", | ||
| + | "domain": null, | ||
| + | "created_at": null, | ||
| + | "province": "Tennessee", | ||
| + | "country": "US", | ||
| + | "address1": "190 MacLaren Street", | ||
| + | "zip": "37178", | ||
| + | "city": "Houston", | ||
| + | "source": null, | ||
| + | "phone": "3213213210", | ||
| + | "updated_at": null, | ||
| + | "customer_email": null, | ||
| + | "latitude": null, | ||
| + | "longitude": null, | ||
| + | "primary_location_id": null, | ||
| + | "primary_locale": "en", | ||
| + | "address2": null, | ||
| + | "country_code": "US", | ||
| + | "country_name": "United States", | ||
| + | "currency": "USD", | ||
| + | "timezone": "(GMT-05:00) Eastern Time (US & Canada)", | ||
| + | "iana_timezone": null, | ||
| + | "shop_owner": "N\/A", | ||
| + | "money_format": "$", | ||
| + | "money_with_currency_format": "$ USD", | ||
| + | "weight_unit": "kg", | ||
| + | "province_code": "TN", | ||
| + | "taxes_included": null, | ||
| + | "tax_shipping": null, | ||
| + | "county_taxes": null, | ||
| + | "plan_display_name": null, | ||
| + | "plan_name": null, | ||
| + | "has_discounts": null, | ||
| + | "has_gift_cards": false, | ||
| + | "myshopify_domain": null, | ||
| + | "google_apps_domain": null, | ||
| + | "google_apps_login_enabled": null, | ||
| + | "money_in_emails_format": "$", | ||
| + | "money_with_currency_in_emails_format": "$ USD", | ||
| + | "eligible_for_payments": true, | ||
| + | "requires_extra_payments_agreement": false, | ||
| + | "password_enabled": null, | ||
| + | "has_storefront": false, | ||
| + | "eligible_for_card_reader_giveaway": false, | ||
| + | "finances": true, | ||
| + | "setup_required": false, | ||
| + | "force_ssl": false | ||
| + | } | ||
</pre> | </pre> | ||
|- | |- | ||
|- | |- | ||
| − | | | + | | Theme |
| − | |<code> | + | |<code> themes/create, themes/delete, themes/publish, themes/update </code><br/> |
<pre> | <pre> | ||
| − | + | { | |
| + | "id": null, | ||
| + | "name": "Comfort", | ||
| + | "created_at": "2017-03-20T16:02:33-04:00", | ||
| + | "updated_at": "2017-03-20T16:02:33-04:00", | ||
| + | "role": "main", | ||
| + | "theme_store_id": 1234, | ||
| + | "previewable": true, | ||
| + | "processing": false | ||
| + | } | ||
</pre> | </pre> | ||
|} | |} | ||
Revision as of 14:44, 12 April 2017
Webhooks are a useful tool for apps that want to execute code after a specific event happens on a store, for example, after a customer creates a cart on the storefront, or a merchant creates a new product in their admin.
Instead of telling your app to make an API call every X number of minutes to check if a specific event has occurred on a shop, you can register webhooks, which send an HTTP request from the store telling your app that the event has occurred. This uses far less API requests overall, allowing you to build more robust apps, and update your app instantly after a webhook is received.
Webhooks are scoped to the app they're registered to. This means that when a webhook is registered to an app, other apps can't view, modify, or delete it.
Anatomy of a Webhook
When an event occurs in a shop that corresponds to a registered webhook, Spiffy Stores sends a webhook notification to the specified URL. The webhook contains a payload formatted as JSON, as well applicable HTTP headers. For example, the following headers are sent as part of the
orders/create
webhook.
- X-Spiffy-Topic: orders/create
- X-Spiffy-Hmac-Sha256: XWmrwMey6OsLMeiZKwP4FppHH3cmAiiJJAweH5Jo4bM=
- X-Spiffy-Shop-Domain: johns-apparel.spiffystores.com
etc.
Some of the returned HTTP headers can be useful for your app. For example, X-Spiffy-Hmac-Sha256 is used to authenticate webhooks, and X-Spiffy-Shop-Domain is useful for determining the store context. See the webhooks tutorial for more information concerning authenticating webhooks, and the OAuth docs for general information concerning authentication.
List of Supported Webhook Topics
Event data can be stored as JSON or XML. Webhooks can be registered for the following events:
| Events | Topics |
| Cart | carts/create, carts/update{
"id": "eeafa272cebfd4b22385bc4b645e762c",
"token": "eeafa272cebfd4b22385bc4b645e762c",
"line_items": [
{
"id": 1234567,
"properties": {
},
"quantity": 3,
"variant_id": 1234567,
"key": "1234567:f816dcc3b2e26822a28626a786eac953",
"title": "Example T-Shirt - ",
"price": "19.99",
"original_price": "19.99",
"discounted_price": "19.99",
"line_price": "59.97",
"original_line_price": "59.97",
"total_discount": "0.00",
"discounts": [
],
"sku": "example-shirt-s",
"grams": 200,
"vendor": "Acme",
"product_id": 327475578523353102,
"gift_card": false
}
]
}
|
| Checkout | checkouts/create, checkouts/delete, checkouts/update{
"id": 327474488104976385,
"token": "123123123",
"cart_token": "eeafa272cebfd4b22385bc4b645e762c",
"email": "example@email.com",
"gateway": null,
"buyer_accepts_marketing": false,
"created_at": "2017-03-20T16:02:28-04:00",
"updated_at": "2017-03-20T16:02:28-04:00",
"landing_site": null,
"note": null,
"note_attributes": [
],
"referring_site": null,
"shipping_lines": [
],
"subtotal_price": "398.00",
"taxes_included": false,
"total_discounts": "0.00",
"total_line_items_price": "398.00",
"total_price": "398.00",
"total_tax": "0.00",
"total_weight": 1134,
"currency": "USD",
"completed_at": null,
"closed_at": null,
"user_id": null,
"location_id": null,
"source_identifier": null,
"source_url": null,
"device_id": null,
"line_items": [
{
"applied_discounts": [
],
"key": "620af35986d9bf455f434f064144c570",
"compare_at_price": null,
"destination_location_id": 938998167,
"fulfillment_service": "manual",
"gift_card": false,
"grams": 567,
"line_price": "199.00",
"origin_location_id": 938998166,
"price": "199.00",
"product_id": 632910392,
"properties": null,
"quantity": 1,
"requires_shipping": true,
"sku": "IPOD2008PINK",
"tax_lines": [
],
"taxable": true,
"title": "IPod Nano - 8GB",
"variant_id": null,
"variant_title": "",
"vendor": "Apple"
},
{
"applied_discounts": [
],
"key": "620af35986d9bf455f434f064144c570",
"compare_at_price": null,
"destination_location_id": 938998167,
"fulfillment_service": "manual",
"gift_card": false,
"grams": 567,
"line_price": "199.00",
"origin_location_id": 938998166,
"price": "199.00",
"product_id": 632910392,
"properties": null,
"quantity": 1,
"requires_shipping": true,
"sku": "IPOD2008PINK",
"tax_lines": [
],
"taxable": true,
"title": "IPod Nano - 8GB",
"variant_id": null,
"variant_title": "",
"vendor": "Apple"
}
],
"name": "#327474488104976385",
"source": null,
"discount_codes": [
],
"abandoned_checkout_url": "https:\/\/checkout.local\/690933842\/checkouts\/123123123\/recover",
"tax_lines": [
],
"source_name": "web",
"billing_address": {
"first_name": "Bob",
"address1": "123 Billing Street",
"phone": "555-555-BILL",
"city": "Billtown",
"zip": "K2P0B0",
"province": "Kentucky",
"country": "United States",
"last_name": "Biller",
"address2": null,
"company": "My Company",
"latitude": null,
"longitude": null,
"name": "Bob Biller",
"country_code": "US",
"province_code": "KY"
},
"shipping_address": {
"first_name": "Steve",
"address1": "123 Shipping Street",
"phone": "555-555-SHIP",
"city": "Shippington",
"zip": "K2P0S0",
"province": "Kentucky",
"country": "United States",
"last_name": "Shipper",
"address2": null,
"company": "Shipping Company",
"latitude": null,
"longitude": null,
"name": "Steve Shipper",
"country_code": "US",
"province_code": "KY"
},
"customer": {
"id": 1234567,
"email": "john@test.com",
"accepts_marketing": false,
"created_at": null,
"updated_at": null,
"first_name": "John",
"last_name": "Smith",
"orders_count": 0,
"state": "disabled",
"total_spent": "0.00",
"last_order_id": null,
"note": null,
"verified_email": true,
"multipass_identifier": null,
"tax_exempt": false,
"phone": null,
"tags": "",
"last_order_name": null
}
}
|
| Collection | collections/create, collections/delete, collections/update{
"id": 327474488104976386,
"handle": "mynewcollection",
"title": "My New Collection",
"updated_at": "2017-03-20T16:04:30-04:00",
"body_html": "<b>Some HTML<\/b>",
"published_at": "2017-03-20T13:04:30-04:00",
"sort_order": "manual",
"template_suffix": null,
"published_scope": "global"
}
|
| CollectionPublication | collection_listings/add, collection_listings/remove, collection_listings/update{
"collection_listing": {
"collection_id": 327474488104976386,
"updated_at": null,
"body_html": "<b>Some HTML<\/b>",
"default_product_image": null,
"handle": "mynewcollection",
"image": null,
"title": "My New Collection",
"sort_order": "manual",
"published_at": "2017-03-20T16:04:30-04:00"
}
}
|
| Customer | customers/create, customers/delete, customers/disable, customers/enable, customers/update{
"id": 1234567,
"email": "bob@biller.com",
"accepts_marketing": true,
"created_at": null,
"updated_at": null,
"first_name": "Bob",
"last_name": "Biller",
"orders_count": 0,
"state": "disabled",
"total_spent": "0.00",
"last_order_id": null,
"note": "This customer loves ice cream",
"verified_email": true,
"multipass_identifier": null,
"tax_exempt": false,
"phone": null,
"tags": "",
"last_order_name": null,
"addresses": [
]
}
|
| CustomerSavedSearch | customer_groups/create, customer_groups/delete, customer_groups/update{
"id": 775454534,
"name": "Repeat Customers",
"created_at": "2017-03-20T16:04:30-04:00",
"updated_at": "2017-03-20T16:04:30-04:00",
"query": "orders_count:>1"
}
|
| DraftOrder | draft_orders/create, draft_orders/delete, draft_orders/update{
"id": 123456,
"note": null,
"email": "jon@doe.ca",
"taxes_included": false,
"currency": "USD",
"subtotal_price": "2537.00",
"total_tax": "0.00",
"total_price": "2702.22",
"invoice_sent_at": null,
"created_at": "2017-03-20T16:04:28-04:00",
"updated_at": "2017-03-20T16:04:28-04:00",
"tax_exempt": false,
"completed_at": null,
"name": "#D234",
"status": "open",
"line_items": [
{
"variant_id": 808950810,
"product_id": 632910392,
"title": "IPod Nano - 8GB",
"variant_title": "Pink",
"sku": "IPOD2008PINK",
"vendor": "Apple",
"price": "199.00",
"grams": 567,
"quantity": 3,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"fulfillment_service": "manual",
"tax_lines": [
],
"applied_discount": null,
"name": "IPod Nano - 8GB - Pink",
"properties": [
],
"custom": false
},
{
"variant_id": 808950810,
"product_id": 632910392,
"title": "IPod Nano - 8GB",
"variant_title": "Pink",
"sku": "IPOD2008PINK",
"vendor": "Apple",
"price": "199.00",
"grams": 567,
"quantity": 1,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"fulfillment_service": "manual",
"tax_lines": [
],
"applied_discount": null,
"name": "IPod Nano - 8GB - Pink",
"properties": [
],
"custom": false
},
{
"variant_id": 457924702,
"product_id": 632910392,
"title": "IPod Nano - 8GB",
"variant_title": "Black",
"sku": "IPOD2008BLACK",
"vendor": "Apple",
"price": "199.00",
"grams": 567,
"quantity": 10,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"fulfillment_service": "manual",
"tax_lines": [
],
"applied_discount": {
"description": "bulk discount",
"value": "10.0",
"title": "Bulk Discount",
"amount": "199.00",
"value_type": "percentage"
},
"name": "IPod Nano - 8GB - Black",
"properties": [
],
"custom": false
}
],
"shipping_address": {
"first_name": "Steve",
"address1": "123 Shipping Street",
"phone": "555-555-SHIP",
"city": "Shippington",
"zip": "40150",
"province": "Kentucky",
"country": "United States",
"last_name": "Shipper",
"address2": null,
"company": "Shipping Company",
"latitude": null,
"longitude": null,
"name": "Steve Shipper",
"country_code": "US",
"province_code": "KY"
},
"billing_address": {
"first_name": "Bob",
"address1": "123 Billing Street",
"phone": "555-555-BILL",
"city": "Billtown",
"zip": "K2P0B0",
"province": "Kentucky",
"country": "United States",
"last_name": "Biller",
"address2": null,
"company": "My Company",
"latitude": null,
"longitude": null,
"name": "Bob Biller",
"country_code": "US",
"province_code": "KY"
},
"invoice_url": "https:\/\/checkout.local\/690933842\/invoices\/abcd1234abcd1234abcd1234abcd1234",
"applied_discount": {
"description": "loyalty",
"value": "50.0",
"title": "Loyalty",
"amount": "50.00",
"value_type": "fixed_amount"
},
"order_id": null,
"shipping_line": {
"title": "Generic Shipping",
"price": "10.00",
"custom": true,
"handle": null
},
"tax_lines": [
{
"price": "35.82",
"rate": 0.06,
"title": "State Tax"
},
{
"price": "11.94",
"rate": 0.06,
"title": "State Tax"
},
{
"price": "107.46",
"rate": 0.06,
"title": "State Tax"
}
],
"tags": "",
"note_attributes": [
],
"customer": {
"id": null,
"email": "john@doe.ca",
"accepts_marketing": false,
"created_at": null,
"updated_at": null,
"first_name": "John",
"last_name": "Smith",
"orders_count": 0,
"state": "disabled",
"total_spent": "0.00",
"last_order_id": null,
"note": null,
"verified_email": true,
"multipass_identifier": null,
"tax_exempt": false,
"phone": null,
"tags": "",
"last_order_name": null,
"default_address": {
"id": null,
"first_name": null,
"last_name": null,
"company": null,
"address1": "123 Elm St.",
"address2": null,
"city": "Ottawa",
"province": "Ontario",
"country": "Canada",
"zip": "K2H7A8",
"phone": "123-123-1234",
"name": "",
"province_code": "ON",
"country_code": "CA",
"country_name": "Canada",
"default": true
}
}
}
|
| Fulfillment | fulfillments/create, fulfillments/update{
"id": 123456,
"order_id": 123456,
"status": "pending",
"created_at": "2017-03-20T16:04:32-04:00",
"service": null,
"updated_at": "2017-03-20T16:04:32-04:00",
"tracking_company": "UPS",
"shipment_status": null,
"email": "jon@doe.ca",
"destination": {
"first_name": "Steve",
"address1": "123 Shipping Street",
"phone": "555-555-SHIP",
"city": "Shippington",
"zip": "K2P0S0",
"province": "Kentucky",
"country": "United States",
"last_name": "Shipper",
"address2": null,
"company": "Shipping Company",
"latitude": null,
"longitude": null,
"name": "Steve Shipper",
"country_code": "US",
"province_code": "KY"
},
"tracking_number": "1z827wk74630",
"tracking_numbers": [
"1z827wk74630"
],
"tracking_url": "http:\/\/wwwapps.ups.com\/etracking\/tracking.cgi?InquiryNumber1=1z827wk74630&TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track",
"tracking_urls": [
"http:\/\/wwwapps.ups.com\/etracking\/tracking.cgi?InquiryNumber1=1z827wk74630&TypeOfInquiryNumber=T&AcceptUPSLicenseAgreement=yes&submit=Track"
],
"receipt": {
},
"line_items": [
{
"id": 808950810,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "0.00",
"fulfillment_status": null,
"tax_lines": [
]
},
{
"id": 199,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "5.00",
"fulfillment_status": null,
"tax_lines": [
]
}
]
}
|
| FulfillmentEvent | fulfillment_events/create, fulfillment_events/delete{
"id": 1234567,
"fulfillment_id": 123456,
"status": "in_transit",
"message": "Item is now in transit",
"happened_at": "2017-03-20T16:04:31-04:00",
"city": "Montreal",
"province": "QC",
"country": "CA",
"zip": null,
"address1": null,
"latitude": null,
"longitude": null,
"shop_id": 690933842,
"created_at": "2017-03-20T16:04:31-04:00",
"updated_at": "2017-03-20T16:04:31-04:00",
"estimated_delivery_at": null,
"order_id": 123456
}
|
| Order | orders/cancelled, orders/create, orders/delete, orders/fulfilled, orders/paid, orders/partially_fulfilled, orders/updated{
"id": 123456,
"email": "jon@doe.ca",
"closed_at": null,
"created_at": "2017-03-20T16:02:31-04:00",
"updated_at": "2017-03-20T16:02:31-04:00",
"number": 234,
"note": null,
"token": "123456abcd",
"gateway": null,
"test": true,
"total_price": "403.00",
"subtotal_price": "393.00",
"total_weight": 0,
"total_tax": "0.00",
"taxes_included": false,
"currency": "USD",
"financial_status": "voided",
"confirmed": false,
"total_discounts": "5.00",
"total_line_items_price": "398.00",
"cart_token": null,
"buyer_accepts_marketing": true,
"name": "#9999",
"referring_site": null,
"landing_site": null,
"cancelled_at": "2017-03-20T16:02:31-04:00",
"cancel_reason": "customer",
"total_price_usd": null,
"checkout_token": null,
"reference": null,
"user_id": null,
"location_id": null,
"source_identifier": null,
"source_url": null,
"processed_at": null,
"device_id": null,
"browser_ip": null,
"landing_site_ref": null,
"order_number": 1234,
"discount_codes": [
],
"note_attributes": [
],
"payment_gateway_names": [
"visa",
"bogus"
],
"processing_method": "",
"checkout_id": null,
"source_name": "web",
"fulfillment_status": "pending",
"tax_lines": [
],
"tags": "",
"contact_email": "jon@doe.ca",
"order_status_url": null,
"line_items": [
{
"id": 808950810,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "0.00",
"fulfillment_status": null,
"tax_lines": [
]
},
{
"id": 199,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "5.00",
"fulfillment_status": null,
"tax_lines": [
]
}
],
"shipping_lines": [
{
"id": 1234567,
"title": "Generic Shipping",
"price": "10.00",
"code": null,
"source": "shopify",
"phone": null,
"requested_fulfillment_service_id": null,
"delivery_category": null,
"carrier_identifier": null,
"tax_lines": [
]
}
],
"billing_address": {
"first_name": "Bob",
"address1": "123 Billing Street",
"phone": "555-555-BILL",
"city": "Billtown",
"zip": "K2P0B0",
"province": "Kentucky",
"country": "United States",
"last_name": "Biller",
"address2": null,
"company": "My Company",
"latitude": null,
"longitude": null,
"name": "Bob Biller",
"country_code": "US",
"province_code": "KY"
},
"shipping_address": {
"first_name": "Steve",
"address1": "123 Shipping Street",
"phone": "555-555-SHIP",
"city": "Shippington",
"zip": "K2P0S0",
"province": "Kentucky",
"country": "United States",
"last_name": "Shipper",
"address2": null,
"company": "Shipping Company",
"latitude": null,
"longitude": null,
"name": "Steve Shipper",
"country_code": "US",
"province_code": "KY"
},
"fulfillments": [
],
"refunds": [
],
"customer": {
"id": 1234567,
"email": "john@test.com",
"accepts_marketing": false,
"created_at": null,
"updated_at": null,
"first_name": "John",
"last_name": "Smith",
"orders_count": 0,
"state": "disabled",
"total_spent": "0.00",
"last_order_id": null,
"note": null,
"verified_email": true,
"multipass_identifier": null,
"tax_exempt": false,
"phone": null,
"tags": "",
"last_order_name": null,
"default_address": {
"id": 1234567,
"first_name": null,
"last_name": null,
"company": null,
"address1": "123 Elm St.",
"address2": null,
"city": "Ottawa",
"province": "Ontario",
"country": "Canada",
"zip": "K2H7A8",
"phone": "123-123-1234",
"name": "",
"province_code": "ON",
"country_code": "CA",
"country_name": "Canada",
"default": false
}
}
}
|
| OrderTransaction | order_transactions/create{
"id": 23456,
"order_id": 123456,
"amount": "11.50",
"kind": "authorization",
"gateway": "visa",
"status": "success",
"message": null,
"created_at": "2017-03-20T16:02:33-04:00",
"test": false,
"authorization": "1001",
"currency": null,
"location_id": null,
"user_id": null,
"parent_id": null,
"device_id": null,
"receipt": {
},
"error_code": null,
"source_name": "web",
"payment_details": {
"credit_card_bin": null,
"avs_result_code": null,
"cvv_result_code": null,
"credit_card_number": "•••• •••• •••• 1234",
"credit_card_company": "Visa"
}
}
|
| Product | products/create, products/delete, products/update{
"id": 327475578523353102,
"title": "Example T-Shirt",
"body_html": null,
"vendor": "Acme",
"product_type": "Shirts",
"created_at": null,
"handle": "example-t-shirt",
"updated_at": null,
"published_at": "2017-03-20T16:04:28-04:00",
"template_suffix": null,
"published_scope": "global",
"tags": "mens t-shirt example",
"variants": [
{
"id": 1234567,
"product_id": 327475578523353102,
"title": "",
"price": "19.99",
"sku": "example-shirt-s",
"position": 0,
"grams": 200,
"inventory_policy": "deny",
"compare_at_price": "24.99",
"fulfillment_service": "manual",
"inventory_management": null,
"option1": "Small",
"option2": null,
"option3": null,
"created_at": null,
"updated_at": null,
"taxable": true,
"barcode": null,
"image_id": null,
"inventory_quantity": 75,
"weight": 0.44,
"weight_unit": "lb",
"old_inventory_quantity": 75,
"requires_shipping": true
},
{
"id": 1234568,
"product_id": 327475578523353102,
"title": "",
"price": "19.99",
"sku": "example-shirt-m",
"position": 0,
"grams": 200,
"inventory_policy": "deny",
"compare_at_price": "24.99",
"fulfillment_service": "manual",
"inventory_management": "shopify",
"option1": "Medium",
"option2": null,
"option3": null,
"created_at": null,
"updated_at": null,
"taxable": true,
"barcode": null,
"image_id": null,
"inventory_quantity": 50,
"weight": 0.44,
"weight_unit": "lb",
"old_inventory_quantity": 50,
"requires_shipping": true
}
],
"options": [
{
"id": 12345,
"product_id": 327475578523353102,
"name": "Title",
"position": 1,
"values": [
"Small",
"Medium"
]
}
],
"images": [
{
"id": 1234567,
"product_id": 327475578523353102,
"position": 0,
"created_at": null,
"updated_at": null,
"src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png",
"variant_ids": [
]
}
],
"image": null
}
|
| ProductPublication | product_listings/add, product_listings/remove, product_listings/update{
"product_listing": {
"product_id": 327475578523353102,
"created_at": null,
"updated_at": null,
"body_html": null,
"handle": "example-t-shirt",
"product_type": "Shirts",
"title": "Example T-Shirt",
"vendor": "Acme",
"available": true,
"tags": "mens t-shirt example",
"published_at": "2017-03-20T16:02:34-04:00",
"images": [
{
"id": 1234567,
"created_at": null,
"position": 0,
"updated_at": null,
"product_id": 327475578523353102,
"src": "\/\/cdn.shopify.com\/s\/assets\/shopify_shirt-39bb555874ecaeed0a1170417d58bbcf792f7ceb56acfe758384f788710ba635.png",
"variant_ids": [
]
}
],
"options": [
{
"id": 12345,
"name": "Title",
"product_id": 327475578523353102,
"position": 1
}
],
"variants": [
{
"id": 1234567,
"title": "",
"option_values": [
{
"option_id": 12345,
"name": "Title",
"value": "Small"
}
],
"price": "19.99",
"formatted_price": "$19.99",
"compare_at_price": "24.99",
"grams": 200,
"requires_shipping": true,
"sku": "example-shirt-s",
"barcode": null,
"taxable": true,
"position": 0,
"available": true,
"inventory_policy": "deny",
"inventory_quantity": 75,
"inventory_management": null,
"fulfillment_service": "manual",
"weight": 0.44,
"weight_unit": "lb",
"image_id": null,
"created_at": null,
"updated_at": null
},
{
"id": 1234568,
"title": "",
"option_values": [
{
"option_id": 12345,
"name": "Title",
"value": "Medium"
}
],
"price": "19.99",
"formatted_price": "$19.99",
"compare_at_price": "24.99",
"grams": 200,
"requires_shipping": true,
"sku": "example-shirt-m",
"barcode": null,
"taxable": true,
"position": 0,
"available": true,
"inventory_policy": "deny",
"inventory_quantity": 50,
"inventory_management": "shopify",
"fulfillment_service": "manual",
"weight": 0.44,
"weight_unit": "lb",
"image_id": null,
"created_at": null,
"updated_at": null
}
]
}
}
|
| Refund | refunds/create{
"id": 1234567,
"order_id": 123456,
"created_at": "2017-03-20T16:02:33-04:00",
"note": "Things were damaged",
"restock": true,
"user_id": 799407056,
"processed_at": "2017-03-20T16:02:33-04:00",
"refund_line_items": [
{
"id": 808950883,
"quantity": 1,
"line_item_id": 808950810,
"subtotal": 199.0,
"total_tax": 0.0,
"line_item": {
"id": 808950810,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "0.00",
"fulfillment_status": null,
"tax_lines": [
]
}
},
{
"id": 272,
"quantity": 1,
"line_item_id": 199,
"subtotal": 194.0,
"total_tax": 0.0,
"line_item": {
"id": 199,
"variant_id": null,
"title": "IPod Nano - 8GB",
"quantity": 1,
"price": "199.00",
"grams": 567,
"sku": "IPOD2008PINK",
"variant_title": null,
"vendor": null,
"fulfillment_service": "manual",
"product_id": 632910392,
"requires_shipping": true,
"taxable": true,
"gift_card": false,
"name": "IPod Nano - 8GB",
"variant_inventory_management": null,
"properties": [
],
"product_exists": true,
"fulfillable_quantity": 1,
"total_discount": "5.00",
"fulfillment_status": null,
"tax_lines": [
]
}
}
],
"transactions": [
{
"id": 42424242,
"order_id": 123456,
"amount": "75.00",
"kind": "refund",
"gateway": "bogus",
"status": "success",
"message": "This is a refund",
"created_at": null,
"test": false,
"authorization": null,
"currency": null,
"location_id": null,
"user_id": null,
"parent_id": null,
"device_id": null,
"receipt": {
},
"error_code": null,
"source_name": "web"
},
{
"id": 42424243,
"order_id": 123456,
"amount": "10.00",
"kind": "refund",
"gateway": "bogus",
"status": "success",
"message": null,
"created_at": null,
"test": false,
"authorization": null,
"currency": null,
"location_id": null,
"user_id": null,
"parent_id": null,
"device_id": null,
"receipt": {
},
"error_code": null,
"source_name": "web"
}
],
"order_adjustments": [
]
}
|
| Shop | app/uninstalled, shop/update{
"id": 1234567,
"name": "Super Toys",
"email": "super@supertoys.com",
"domain": null,
"created_at": null,
"province": "Tennessee",
"country": "US",
"address1": "190 MacLaren Street",
"zip": "37178",
"city": "Houston",
"source": null,
"phone": "3213213210",
"updated_at": null,
"customer_email": null,
"latitude": null,
"longitude": null,
"primary_location_id": null,
"primary_locale": "en",
"address2": null,
"country_code": "US",
"country_name": "United States",
"currency": "USD",
"timezone": "(GMT-05:00) Eastern Time (US & Canada)",
"iana_timezone": null,
"shop_owner": "N\/A",
"money_format": "$",
"money_with_currency_format": "$ USD",
"weight_unit": "kg",
"province_code": "TN",
"taxes_included": null,
"tax_shipping": null,
"county_taxes": null,
"plan_display_name": null,
"plan_name": null,
"has_discounts": null,
"has_gift_cards": false,
"myshopify_domain": null,
"google_apps_domain": null,
"google_apps_login_enabled": null,
"money_in_emails_format": "$",
"money_with_currency_in_emails_format": "$ USD",
"eligible_for_payments": true,
"requires_extra_payments_agreement": false,
"password_enabled": null,
"has_storefront": false,
"eligible_for_card_reader_giveaway": false,
"finances": true,
"setup_required": false,
"force_ssl": false
}
|
| Theme | themes/create, themes/delete, themes/publish, themes/update {
"id": null,
"name": "Comfort",
"created_at": "2017-03-20T16:02:33-04:00",
"updated_at": "2017-03-20T16:02:33-04:00",
"role": "main",
"theme_store_id": 1234,
"previewable": true,
"processing": false
}
|