{"id":5167,"date":"2026-07-15T15:40:32","date_gmt":"2026-07-15T13:40:32","guid":{"rendered":"https:\/\/guides.heyloyalty.com\/help\/webhook-output\/"},"modified":"2026-07-15T15:42:46","modified_gmt":"2026-07-15T13:42:46","slug":"webhook-output","status":"publish","type":"ht_kb","link":"https:\/\/guides.heyloyalty.com\/en\/help\/webhook-output\/","title":{"rendered":"Webhook output"},"content":{"rendered":"<div class=\"wp-block-post-date__modified-date wp-block-post-date\"><time datetime=\"2026-07-15T15:42:46+02:00\">15. July 2026<\/time><\/div>\n<p class=\"wp-block-paragraph\">If an event has occurred in a field, the data is sent. This applies to both standard and custom fields. See the examples below.  <\/p>\n\n<p class=\"wp-block-paragraph\">Please note that our webhooks can be configured as raw JSON or as a data element containing a webhook.  <\/p>\n\n<p class=\"wp-block-paragraph\">Further down, you can see examples of our JSON objects. You can choose whether to use raw JSON or a data element: <\/p>\n\n<pre class=\"wp-block-preformatted\">\"data\": \"{\"member_id\":\"0a2737...\" <em>more info from your list<\/em> \".....72c\"}\"<\/pre>\n\n<h3 class=\"wp-block-heading\">Sign Up Example with Custom Fields<\/h3>\n\n<p class=\"wp-block-paragraph\"><br\/><\/p><pre><code class=\"language-json\">{\"member_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\",\"list_id\":1,\"type\":\"subscribe\",\"signature\":\"a96cb5a5d8e45af7310adbfe14aab9e0\",\"member\":{\"list_id\":1,\"status\":{\"status\":\"active\",\"email\":null,\"mobile\":null},\"fields\":{\"firstname\":\"John\",\"lastname\":\"Doe\",\"email\":\"johndoe@loyalitetsbureuet.dk\",\"mobile\":\"000000\",\"birthdate\":\"1973-06-26T00:00:00+0000\",\"address\":\"Loyalitetsvej 1\",\"postalcode\":8200,\"country\":{\"id\":53,\"value\":\"Danmark\"},\"sko\":[{\"id\":5835,\"value\":\"43\"}],\"bluse\":[{\"id\":2,\"value\":\"L\"},{\"id\":4,\"value\":\"s\"}],\"sent_mail\":0,\"sent_sms\":0,\"open_rate\":0,\"imported\":false,\"created_at\":\"2015-03-04T06:46:45+0000\",\"updated_at\":\"2015-03-04T06:46:45+0000\",\"created_by\":null,\"created_from\":{\"type\":\"internal\"},\"_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\"}}}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<h3 class=\"wp-block-heading\">Update Member Example with Custom Fields<\/h3>\n\n<p class=\"wp-block-paragraph\"><br\/><\/p><pre><code class=\"language-json\">{\"member_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\",\"list_id\":1,\"type\":\"update\",\"signature\":\"a96cb5a5d8e45af7310adbfe14aab9e0\",\"member\":{\"list_id\":1,\"status\":{\"status\":\"active\",\"email\":null,\"mobile\":null},\"fields\":{\"postalcode\":8260,\"email\":\"johndoe@loyalitetsbureauet.dk\",\"address\":\"loyaltyvej\",\"birthdate\":\"1973-06-26T00:00:00+0000\",\"lastname\":\"Jensen\",\"firstname\":\"John\",\"mobile\":\"00000000\",\"country\":{\"value\":\"Danmark\",\"id\":53},\"sko\":[{\"id\":5835,\"value\":\"43\"}],\"bluse\":[{\"id\":2,\"value\":\"L\"},{\"id\":4,\"value\":\"s\"}],\"sent_mail\":0,\"sent_sms\":0,\"open_rate\":0,\"imported\":false,\"created_at\":\"2015-03-04T06:46:45+0000\",\"updated_at\":\"2015-03-04T07:36:36+0000\",\"created_by\":null,\"created_from\":{\"type\":\"internal\"},\"_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\",\"updated_from\":[{\"type\":\"internal\",\"updated_at\":\"2015-03-04T07:36:36+0000\"}]}}}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<h3 class=\"wp-block-heading\">Update example with a store<\/h3>\n\n<p class=\"wp-block-paragraph\"><br\/><\/p><pre><code class=\"language-json\">{\"member_id\":\"e8760a00-18de-437b-8b31-0539ccd3ea41\",\"list_id\":1,\"type\":\"update\",\"signature\":\"4ae32890ce58e23492f1e12e348e0dd2\",\"member\":{\"list_id\":1,\"status\":{\"status\":\"active\",\"email\":null,\"mobile\":null},\"fields\":{\"shop\":[{\"value\":\"Min butik\",\"id\":1}],\"postalcode\":8200,\"address\":\"loyalitetsvej\",\"email\":\"johndoe@loyalitetsbureauet.dk\",\"lastname\":\"Doe\",\"firstname\":\"John\",\"mobile\":\"00000000\"},\"sent_mail\":0,\"sent_sms\":0,\"open_rate\":0,\"imported\":true,\"created_at\":\"2015-03-02T09:04:25+0000\",\"updated_at\":\"2015-03-04T07:55:51+0000\",\"created_by\":null,\"_id\":\"e8760a00-18de-437b-8b31-0539ccd3ea41\",\"created_from\":{\"type\":\"import\"},\"updated_from\":[{\"type\":\"internal\",\"updated_at\":\"2015-03-04T07:55:51+0000\"}]}}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<h3 class=\"wp-block-heading\">Example of a membership cancellation<\/h3>\n\n<p class=\"wp-block-paragraph\"><br\/><\/p><pre><code class=\"language-json\">{\"member_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\",\"list_id\":1,\"type\":\"unsubscribe\",\"signature\":\"a96cb5a5d8e45af7310adbfe14aab9e0\",\"member\":{\"list_id\":1,\"status\":{\"status\":\"removed\",\"email\":null,\"mobile\":null},\"fields\":{\"postalcode\":8200,\"email\":\"Johndoe@loyalitetsbureauet.dk\",\"address\":\"Loyaltyvej\",\"birthdate\":\"1973-06-26T00:00:00+0000\",\"lastname\":\"Jensen\",\"firstname\":\"John\",\"mobile\":\"52335040\",\"country\":{\"value\":\"Danmark\",\"id\":53},\"sko\":[{\"id\":5835,\"value\":\"43\"}],\"bluse\":[{\"id\":2,\"value\":\"L\"},{\"id\":4,\"value\":\"s\"}]},\"sent_mail\":0,\"sent_sms\":0,\"open_rate\":0,\"imported\":false,\"created_at\":\"2015-03-04T06:46:45+0000\",\"updated_at\":\"2015-03-04T07:41:40+0000\",\"created_by\":null,\"created_from\":{\"type\":\"internal\"},\"_id\":\"aacd0c54-fb21-46c5-823c-a1bb1703d713\",\"updated_from\":[{\"type\":\"internal\",\"updated_at\":\"2015-03-04T07:36:36+0000\"}],\"deleted_from\":{\"type\":\"internal\"}}}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\">To save you the trouble of testing spam complaints and hard bounces, we&#8217;ve created a sample example where you can see what the data looks like for these events.<\/p>\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Example of a spam complaint:<\/strong><br\/><\/p><pre><code class=\"language-json\">{\"member_id\": \"e8760a00-18de-437b-8b31-0539ccd3ea41\", \"list_id\": \"1\", \"ref_id\": \"AutoresponderID\/campaignId\", \"message_type\": \"Autoresponder\/Campaign\", \"name\": \"AutoresponderName\/campaignName\", \"type\": \"spamComplaint\", \u00a0\"signature\": \"37dafeb256992064429a6c6e6ac83617\", \"member\": {\"list_id\": 1, \"status\": {\"status\": \"active\", \"email\": \"complaint\", \"mobile\": null}, \"fields\": {\"email\": \"example@heyloyalty.com\",<br\/>\"sent_mail\": 0, \"sent_sms\": 0, \"open_rate\": 0, \"imported\": false, \"created_at\": \"2016-08-30T13:18:58+0000\", \"updated_at\": \"2016-08-30T13:18:58+0000\", \"created_by\": null, \"updated_fields\": [], \"current_fields\": [], \"created_from\": {\"type\": \"internal\"}, \"_id\": \"2\"}}}<\/code><\/pre>\n\n<p class=\"wp-block-paragraph\"><strong>Hard bounce example:<\/strong><br\/><\/p><pre><code class=\"language-json\">{\"member_id\": \"e8760a00-18de-437b-8b31-0539ccd3ea41\", \"list_id\": \"1\", \"ref_id\": \"AutoresponderID\/campaignId\", \"message_type\": \"Autoresponder\/Campaign\", \"name\": \"AutoresponderName\/campaignName\", \"type\": \"hardbounce\", \u00a0\"signature\": \"37dafeb256992064429a6c6e6ac83617\", \"member\": {\"list_id\": 1, \"status\": {\"status\": \"active\", \"email\": \"complaint\", \"mobile\": null}, \"fields\": {\"email\": \"example@heyloyalty.com\",<br\/>\"sent_mail\": 0, \"sent_sms\": 0, \"open_rate\": 0, \"imported\": false, \"created_at\": \"2016-08-30T13:18:58+0000\", \"updated_at\": \"2016-08-30T13:18:58+0000\", \"created_by\": null, \"updated_fields\": [], \"current_fields\": [], \"created_from\": {\"type\": \"internal\"}, \"_id\": \"2\"}}}<\/code><\/pre><br\/>\n\n<h3 class=\"wp-block-heading\">Webhook Test<\/h3>\n\n<p class=\"wp-block-paragraph\">For each webhook, you can send a test request that takes a member ID and returns sample events for &#8220;create,&#8221; &#8220;update,&#8221; and &#8220;delete.&#8221;<\/p>\n\n<p class=\"wp-block-paragraph\">When you do this, the event will include an additional field, &#8220;isAdvancedTest,&#8221; which may have the value &#8220;test.&#8221;  <br\/>You should filter this out so that hooks with this value are not processed.<\/p>\n\n<p class=\"wp-block-paragraph\"><br\/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If an event has occurred in a field, the data is sent. This applies to both standard and custom fields. See the examples below. Please note that our webhooks can be configured as raw JSON or as a data element containing a webhook. Further down, you can see examples of&#8230;<\/p>\n","protected":false},"author":7,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[],"ht-kb-tag":[],"class_list":["post-5167","ht_kb","type-ht_kb","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb\/5167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/comments?post=5167"}],"version-history":[{"count":2,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb\/5167\/revisions"}],"predecessor-version":[{"id":5170,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb\/5167\/revisions\/5170"}],"wp:attachment":[{"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/media?parent=5167"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb-category?post=5167"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/guides.heyloyalty.com\/en\/wp-json\/wp\/v2\/ht-kb-tag?post=5167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}