Webhook Examples

Back to webhooks

orders.*

All orders.* webhooks will give you a complete order object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "orders.allocated", "event_triggered_at":"2013-07-17 16:02:14", "data": { "idorder": 6576, "idcustomer": 5633, "orderid": "20130012", "deliveryname": "Triangle B.V.", "deliverycontactname": "Jos Triepels", "deliveryaddress": "Koppeling 15", "deliveryaddress2": null, "deliveryzipcode": "6983 HX", "deliverycity": "Doesburg", "deliveryregion": null, "deliverycountry": "NL", "invoicename": "Triangle B.V.", "invoicecontactname": "Crediteurenadministratie", "invoiceaddress": "Koppeling 15", "invoiceaddress2": null, "invoicezipcode": "6983 HX", "invoicecity": "Doesburg", "invoiceregion": null, "invoicecountry": "NL", "reference": "", "partialdelivery": true, "discount": 15.60, "status": "concept", "public_status_page": "https://example.picqer.com/s/eB1KLYRIN41p5xt2", "created": "2013-07-17 16:01:42", "updated": "2013-07-17 16:02:14", "products": [ { "idproduct": 633, "idvatgroup": 18, "productcode": "6531-RB-7-9", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "remarks": "", "price": 64.46, "amount": 1, "weight": 9828 }, { "idproduct": 653, "idvatgroup": 18, "productcode": "6531-RE", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "remarks": "", "price": 164.46, "amount": 1, "weight": 1821 } ], "tags": { "TopWebshop": { "idtag": 1075, "title": "TopWebshop", "color": "#5993be", "inherit": true, "textColor": "#000000" }, "SummerProducts": { "idtag": 1156, "title": "SummerProducts", "color": "#c7b4f6", "inherit": true, "textColor": "#000000" } }, "orderfields": [ { "idorderfield": 35, "title": "Klantreferentie", "value": "1029371980276" } ] } }
HTTP/1.1 200 OK

orders.notes.created

When a note is created, you get the order object and the order note as payload.

This is only triggered on notes/comments, not on other types of order logs.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "orders.notes.created", "event_triggered_at":"2017-10-12 12:00:43", "data": { "order": { "idorder": 6576, "idcustomer": 5633, "orderid": "20130012", "deliveryname": "Triangle B.V.", "deliverycontactname": "Jos Triepels", "deliveryaddress": "Koppeling 15", "deliveryaddress2": null, "deliveryzipcode": "6983 HX", "deliverycity": "Doesburg", "deliveryregion": null, "deliverycountry": "NL", "invoicename": "Triangle B.V.", "invoicecontactname": "Crediteurenadministratie", "invoiceaddress": "Koppeling 15", "invoiceaddress2": null, "invoicezipcode": "6983 HX", "invoicecity": "Doesburg", "invoiceregion": null, "invoicecountry": "NL", "reference": "", "partialdelivery": true, "discount": 15.60, "status": "concept", "public_status_page": "https://example.picqer.com/s/eB1KLYRIN41p5xt2", "created": "2013-07-17 16:01:42", "updated": "2013-07-17 16:02:14", "products": [ { "idproduct": 633, "idvatgroup": 18, "productcode": "6531-RB-7-9", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "remarks": "", "price": 64.46, "amount": 1, "weight": 9828 }, { "idproduct": 653, "idvatgroup": 18, "productcode": "6531-RE", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "remarks": "", "price": 164.46, "amount": 1, "weight": 1821 } ] }, "note": { "idorder_log":31, "iduser":424, "idorder":349470, "idpicklist":null, "type":"comment", "action":null, "description":"This customer needs special attention", "details":null, "created_at":"2017-10-12 12:00:43" } } }
HTTP/1.1 200 OK

picklists.created, picklists.changed, picklists.closed, picklists.cancelled, picklists.snoozed and picklists.unsnoozed

These webhooks will give you a complete picklist object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "picklists.created", "event_triggered_at":"2014-08-19 12:13:38", "data": { "idpicklist":76859, "picklistid":"20140095", "idcustomer":5621, "idorder":119087, "idwarehouse":18, "deliveryname":"Desmonds Formal Wear", "deliverycontact":"", "deliveryaddress":"Emmerikseweg 57", "deliveryaddress2":"", "deliveryzipcode":"7077 AP", "deliverycity":"Netterden", "deliveryregion":null, "deliverycountry":"NL", "emailaddress":"YassinevanLingen@mailinator.com", "telephone": null, "reference": "", "assigned_to_iduser": null, "invoiced":false, "status":"new", "totalproducts":2, "totalpicked":0, "created":"2014-08-19 12:13:38", "updated":"2014-08-19 12:13:38", "products":[ { "idproduct":147, "idvatgroup":18, "productcode":"502.052.16", "name":"SUNDEROe", "remarks":"", "amount":1, "amount_picked":0, "price":69.95, "weight":10200, "stocklocation":"Plein C" }, { "idproduct":126654, "idvatgroup":18, "productcode":"1318512", "name":"4GB DDR3 PC10600\/1333Mhz REG ECC MEMORY (x4)", "remarks":null, "amount":1, "amount_picked":0, "price":0, "weight":0, "stocklocation":null } ] } }
HTTP/1.1 200 OK

picklists.shipments.created

This webhook will give you a special "picklist shipment" object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "picklists.shipments.created", "event_triggered_at":"2016-05-20 12:32:22", "data": { "idshipment": 8467299, "idpicklist": 7839816, "idorder": 6929712, "idreturn": null, "idshippingprovider": 2, "idcompany_shippingprovider": 928, "idcompany_shippingprovider_profile": 28123, "provider": "PostNL", "providername": "PostNL", "public_providername": "PostNL", "profile_name": "Nederland Pakket", "carrier_key": "postnl", "labelurl_pdf": "https://examples.com/labels/label_982878.pdf", "labelurl_zpl": "https://examples.com/labels/label_982878.zpl", "trackingcode": "3SPICQ019283726", "trackingurl": "https://example.com/postnl/tracking/3SPICQ019283726", "tracktraceurl": "https://example.com/postnl/tracking/3SPICQ019283726", "created_by_iduser": 23, "cancelled": false, "created": "2016-05-20 12:32:22", "updated": "2016-05-20 12:32:22" } }
HTTP/1.1 200 OK

picklist_batches.*

These webhooks will give you a complete picklist batch object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "picklist_batches.created", "event_triggered_at":"2022-07-19 12:13:38", "data": { "idpicklist_batch":3, "idwarehouse":1, "picklist_batchid":3, "type":"normal", "status":"completed", "assigned_to":null, "completed_by": { "iduser":2, "full_name":"Casper Bakker", "username":"casper" }, "total_products":4, "total_picklists":1, "completed_at":"2022-07-19 16:25:06", "created_at":"2022-07-19 16:24:54", "updated_at":"2022-07-19 16:25:06", "products": [ { "idproduct":77, "name":"Nikon Replacement XL", "productcode":"RL567047", "productcode_supplier":"NIK-RL567047", "image":null, "barcodes":["9957193306323"], "productfields":[], "stock_location":"A.3.7.4", "picklists": [ { "idpicklist":2, "amount":3, "amount_picked":3, "amount_collected":0 } ] }, { "idproduct":3, "name":"3com Calculator 1.5 MP Camcorder Photo Graphing Replacement S", "productcode":"ZM247832", "productcode_supplier":"3CO-ZM247832", "image": null, "barcodes":["2271965266111"], "productfields":[], "stock_location":"B.4.5.2", "picklists": [ { "idpicklist":2, "amount":1, "amount_picked":1, "amount_collected":0 } ] } ], "picklists": [ { "idpicklist":2, "picklistid":"P2022-1001", "reference":"skikoffer #397169", "status":"closed", "alias":"A", "picking_container":null, "total_products":4, "delivery_name":"Raf Sanders", "total_collected":0, "has_notes":false, "has_customer_remarks":false, "customer_remarks":null, "created_at":"2022-04-15 15:24:44" } ] } }
HTTP/1.1 200 OK

products.stock_changed

The products.stock_changed gives a "data" payload with a product object in the "product" key, and the stock change details in the "product_stock_history" key.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "products.stock_changed", "event_triggered_at":"2018-05-07 10:17:48", "data": { "product": { "idproduct": 633, "idvatgroup": 18, "idsupplier":null, "productcode": "6531-RB-7-9", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "price": 54.46, "fixedstockprice": 0, "productcode_supplier": "", "deliverytime": null, "description": "", "barcode": "857825001442", "type": "normal", "unlimitedstock": false, "weight": 200, "minimum_purchase_quantity": 0, "purchase_in_quantities_of": 0, "hs_code": null, "country_of_origin": null, "active": true, "productfields": [ { "idproductfield": 11, "title": "Eenheid", "value": "liter" } ], "images": [ "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original" ], "stock": [ { "idwarehouse": 18, "stock": 112, "reserved": 0, "reservedbackorders": 0, "reservedpicklists": 0, "reservedallocations": 0, "freestock": 112, "freepickablestock": 112 } ] }, "product_stock_history": { "idproduct_stock_history": 8, "idproduct": 633, "idwarehouse": 18, "iduser": 2, "old_stock": 115, "stock_change": -3, "new_stock": 112, "reason": "No reason given", "change_type": "manual", "changed_at": "2018-05-07 10:17:48" } } }
HTTP/1.1 200 OK

products.stock_on_location_changed

The products.stock_on_location_changed gives a "data" payload with a location-stock-history object.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "products.stock_on_location_changed", "event_triggered_at":"2022-09-19 16:37:42", "data": { "idproduct_location_stock_history": 34, "idproduct": 2615, "idlocation": 438, "contra_idlocation": null, "old_stock": 0, "stock_change": 7, "new_stock": 7, "change_type": "mutation", "changed_at": "2022-09-19 16:37:42" } }
HTTP/1.1 200 OK

products.parts.changed

The products.parts.changed payload gives the core fields of the main product, and a "parts" key with a list of all parts after the change.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "products.parts.changed", "event_triggered_at":"2023-05-07 10:17:48", "data": [ "idproduct": 2, "productcode": "EKJ9828", "name": "Sony Multi Pack", "type": "virtual_composition", "parts": [ { "idproduct_part": 3, "idproduct": 64, "amount": 1, "productcode": "AA388046", "name": "Sony Standard Tripple", "type": "normal" }, { "idproduct_part": 4, "idproduct": 228, "amount": 1, "productcode": "abl006", "name": "Classic Hardshell Suitcase 21 inch", "type": "virtual_composition" } ] ] }
HTTP/1.1 200 OK

products.*

All other products.* webhooks will give you a complete product object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "products.free_stock_changed", "event_triggered_at":"2018-05-07 10:17:48", "data": { "idproduct": 633, "idvatgroup": 18, "idsupplier":null, "productcode": "6531-RB-7-9", "name": "Hyperkewl Evaporative Cooling Vest Ultra Blue 7-9yr", "price": 54.46, "fixedstockprice": 0, "productcode_supplier": "", "deliverytime": null, "description": "", "barcode": "857825001442", "type": "normal", "unlimitedstock": false, "weight": 200, "minimum_purchase_quantity": 0, "purchase_in_quantities_of": 0, "hs_code": null, "country_of_origin": null, "active": true, "productfields": [ { "idproductfield": 11, "title": "Eenheid", "value": "liter" } ], "images": [ "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original", "https:\/\/link-to-image.com/image2867\/original" ], "stock": [ { "idwarehouse": 18, "stock": 112, "reserved": 0, "reservedbackorders": 0, "reservedpicklists": 0, "reservedallocations": 0, "freestock": 112, "freepickablestock": 112 } ], "tags": { "SummerProducts": { "idtag": 1156, "title": "SummerProducts", "color": "#c7b4f6", "inherit": true, "textColor": "#000000" } } } }
HTTP/1.1 200 OK

purchase_orders.created, purchase_orders.changed, purchase_orders.purchased

This webhook will give a purchase order object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 1, "name": "Your name for this hook", "event": "purchase_orders.created", "event_triggered_at": "2019-10-23 11:55:37", "data": { "idpurchaseorder": 31, "idsupplier": 12, "idwarehouse": 1, "idtemplate": 1, "purchaseorderid": "PO2019-1045", "supplier_orderid": null, "supplier_name": null, "status": "concept", "remarks": null, "delivery_date": "2019-10-31", "language": "nl", "purchased_by_iduser": null, "purchased_at": null, "completed_by_iduser": null, "completed_at": null, "created_by_iduser": 1, "created": "2019-10-23 11:55:36", "updated": "2019-10-23 11:55:36", "products": [ { "idpurchaseorder_product": 641, "idproduct": 207, "idvatgroup": 1, "productcode": "AI503757", "productcode_supplier": "PHI-AI503757", "name": "Philips Photo Wide-Format XL", "price": 525.25, "amount": 6, "amountreceived": 0, "delivery_date": null, "weight": 2444 } ], "idfulfilment_customer": null } }
HTTP/1.1 200 OK

purchase_orders.receipts.created

Deprecated: please use receipts.completed webhook.

This webhook will give a purchase order receipt object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 228, "name": "Your name for this hook", "event": "purchase_orders.receipts.created", "event_triggered_at":"2016-07-25 13:21:28", "data": { "idpurchaseorder_receipt": 2934, "idpurchaseorder": 18393, "iduser": 424, "purchaseorder_receiptid": "PO2016-1005-2", "remarks": null, "received_at": "2016-07-25 13:21:28", "products": [ { "idpurchaseorder_product": 18287, "idproduct": 1105248, "amount": 2 } ] } }
HTTP/1.1 200 OK

receipts.*

All receipts.* webhooks will give you a complete receipt object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idreceipt": 469364, "idwarehouse": 18, "supplier": { "idsupplier": 55151, "name": "Schoenmaker Kramer" }, "purchaseorder": { "idpurchaseorder": 612084, "purchaseorderid": "20201023" }, "receiptid": "RC2020-1071", "status": "processing", "remarks": null, "completed_by": null, "amount_received": 5, "amount_received_excessive": 0, "completed_at": null, "created": "2020-11-11 14:18:42", "updated": "2020-11-11 14:18:42", "products": [ { "idreceipt_product": 14959405, "idpurchaseorder_product": 9473892, "idproduct": 13177709, "idpurchaseorder": 612084, "productcode": "AA568904", "productcode_supplier": "SEC-AA568904", "name": "Secrid Eco Drive Calculator Lumix", "barcode": "5480962989264", "amount": 0, "amount_ordered": 5, "amount_receiving": 0, "added_by_receipt": false, "abc_classification": null, "amount_previously_received": 5, "amount_more_than_ordered": 0, "amount_backorders": 0, "image": null, "stock": 53, "stock_location": { "idlocation": 2059474, "idwarehouse": 18, "type": "location", "parent_idlocation": 2059472, "name": "A.2.1.2", "remarks": null, "unlink_on_empty": false, "location_type": { "idlocation_type": 1, "name": "Standaard", "default": true, "color": "#0000f0" }, "is_bulk_location": false } }, { "idreceipt_product": 14959407, "idpurchaseorder_product": 9473893, "idproduct": 13177679, "idpurchaseorder": 612084, "productcode": "AT298759", "productcode_supplier": "NES-AT298759", "name": "Nestle Watch Graphing Lumix S", "barcode": "3376627429184", "amount": 0, "amount_ordered": 5, "amount_receiving": 0, "added_by_receipt": false, "abc_classification": null, "amount_previously_received": 5, "amount_more_than_ordered": 0, "amount_backorders": 0, "image": null, "stock": 228, "stock_location": { "idlocation": 2060036, "idwarehouse": 18, "type": "location", "parent_idlocation": 2060035, "name": "B.6.3.1", "remarks": null, "unlink_on_empty": false, "location_type": { "idlocation_type": 1, "name": "Standaard", "default": true, "color": "#0000f0" }, "is_bulk_location": false } } ] }
HTTP/1.1 200 OK

returns.status_changed

The returns.status_changed gives a "data" payload with a return object in the "return" key and the status change details in the "return_log" key.

POST http(s)://example.com/your-endpoint
{ "idhook": 5202, "name": "Your name for this hook", "event": "returns.status_changed", "event_triggered_at": "2022-12-27 10:51:41", "data": { "return": { "idreturn": 333748, "idreturn_status": 7556, "idcustomer": 32659481, "idorder": 112720777, "idtemplate": 6200, "returnid": "R2022-1071", "name": "Elin van Waas", "contactname": "", "address": "Farahring 74y", "address2": "", "zipcode": "3055AK", "city": "Netterden", "region": "Limburg", "country": "NL", "full_address": "Elin van Waas\nFarahring 74y\n3055AK Netterden\nNederland", "telephone": "", "emailaddress": "", "language": "nl", "reference": "skikoffer #930518", "tracking_code": null, "received_at": null, "completed_at": "2022-12-27 10:51:41", "created_at": "2022-12-27 10:50:39", "updated_at": "2022-12-27 10:51:41", "idfulfilment_customer": null, "return_status": { "idreturn_status": 7556, "name": "Completed", "default": false, "completed": true, "color": "5cb85c", "created_at": "2021-06-02 09:41:01", "updated_at": "2021-07-26 14:15:07", "deleted_at": null }, "customer": { "idcustomer": 32659481, "customerid": null, "name": "Elin van Waas", "contactname": "", "comment_count": 0 }, "order": { "idorder": 112720777, "orderid": "O2022-2122", "reference": "skikoffer #930518", "created_at": "2022-12-23 09:50:09", "comment_count": 0 }, "returned_products": [ { "idreturn_product": 3690214, "idreturn": 2306293, "idreturn_reason": 5396, "idproduct": 19624340, "idwarehouse": null, "price": 5.31, "amount": 1, "status": "received", "changeable": true, "product": { "idproduct": 19624340, "image_url": "https:\/\/link-to-image.com/image2867\/original", "productcode": "QU325476", "name": "HP R3000 Tripple" }, "return_reason": { "idreturn_reason": 5396, "name": "Wrong product" } } ], "replacement_products": [ { "idreturn_product_replacement": 347745, "idreturn": 2306293, "idproduct": 18863793, "idpicklist": 76961661, "price": 34.56, "amount": 1, "status": "on_picklist", "changeable": false, "product": { "idproduct": 18863793, "image_url": "https:\/\/link-to-image.com/image2867\/original", "productcode": "TT819682", "name": "Kraft Record Needle Banana Beach Replacement XL" } } ], "totals": { "returned_products_count": 1, "returned_products_value": 5.31, "returned_products_value_vat": 1.05, "replacement_products_count": 1, "replacement_products_value": 34.56, "replacement_products_value_vat": 7.26, "days_after_order_shipped": null }, "comment_count": 1 }, "return_log": { "idreturn_log": 7590479, "idreturn_status": 7556, "iduser": 13089, "type": "completed", "message": "Return completed", "notified_customer": false, "created_at": "2022-12-27 10:51:41", "updated_at": "2022-12-27 10:51:41", "return_status": { "idreturn_status": 7556, "name": "Completed", "color": "5cb85c" }, "user": { "iduser": 13089, "name": "Casper Bakker" } } } }
HTTP/1.1 200 OK

returns.*

All other returns.* webhooks will give you a complete return object as "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 5201, "name": "Your name for this hook", "event": "returns.products_received", "event_triggered_at": "2019-12-04 10:14:33", "data": { "idreturn": 333748, "idreturn_status": 3722, "idcustomer": 12840632, "idorder": 27491572, "idtemplate": 2, "returnid": "R2019-1179", "name": "Elin van Waas", "contactname": null, "address": "Farahring 74y", "address2": null, "zipcode": "3055AK", "city": "Netterden", "region": "Limburg", "country": "NL", "full_address": "Elin van Waas\nFarahring 74y\n3055AK Netterden\nNederland", "telephone": null, "emailaddress": null, "language": "nl", "reference": "skikoffer #930518", "tracking_code": null, "received_at": null, "completed_at": null, "created_at": "2019-12-04 10:14:10", "updated_at": "2019-12-04 10:14:23", "idfulfilment_customer": null, "return_status": { "idreturn_status": 3722, "name": "In repair", "default": false, "completed": false, "color": "ff4444", "created_at": "2018-02-19 15:38:43", "updated_at": "2018-05-02 16:08:18", "deleted_at": null }, "customer": { "idcustomer": 12840632, "customerid": "67", "name": "Elin van Waas", "contactname": null }, "order": { "idorder": 27491572, "orderid": "ORD20199213", "reference": "skikoffer #930518", "created_at": "2019-11-09 13:57:48", "comment_count": 0 }, "returned_products": [ { "idreturn_product": 576833, "idreturn": 333748, "idreturn_reason": 2008, "idproduct": 11059182, "idwarehouse": null, "price": 5.31, "amount": 1, "status": "received", "changeable": true, "product": { "idproduct": 11059182, "image_url": "https://link-to-image.com/image2867/original", "productcode": "QU325476", "name": "HP R3000 Tripple" }, "return_reason": { "idreturn_reason": 2008, "name": "Wrong size" } } ], "replacement_products": [ { "idreturn_product_replacement": 122390, "idreturn": 333748, "idproduct": 11059176, "idpicklist": null, "price": 297.45, "amount": 1, "status": "concept", "changeable": true, "product": { "idproduct": 11059176, "image_url": "https://link-to-image.com/image2867/original", "productcode": "TT819682", "name": "Kraft Record Needle Banana Beach Replacement XL" } } ], "totals": { "returned_products_count": 1, "returned_products_value": 5.31, "returned_products_value_vat": 0.29, "replacement_products_count": 1, "replacement_products_value": 297.45, "replacement_products_value_vat": 51.62, "days_after_order_shipped": null } } }
HTTP/1.1 200 OK

comments.created

The comments.created webhook will give you a complete comment object as the "data" payload.

POST http(s)://example.com/your-endpoint
{ "idhook": 5201, "name": "Your name for this hook", "event": "comments.created", "event_triggered_at": "2023-09-25 10:14:33", "data": { "idcomment": 25612312, "body": "@Bob Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis maximus arcu.", "author_type": "user", "author": { "iduser": 2671, "username": "alice", "full_name": "Alice", "image_url": "https://example.picqer.com/api/v1/users/2671/avatar" }, "source_type": "picklist", "source": { "idpicklist": 1025721, "picklistid": "P2023-2056" }, "mentions": [ { "text": "@Bob", "mentioned_type": "user", "mentioned": { "iduser": 3056, "username": "bob", "full_name": "Bob", "image_url": "https://example.picqer.com/api/v1/users/3056/avatar" } } ], "show_at_related": true, "created_at": "2023-09-18 10:23:07", "updated_at": "2023-09-18 10:23:07" } }
HTTP/1.1 200 OK