{"id":90,"date":"2024-11-22T13:52:31","date_gmt":"2024-11-22T13:52:31","guid":{"rendered":"https:\/\/xendy.me\/create\/?p=90"},"modified":"2025-10-27T18:29:26","modified_gmt":"2025-10-27T18:29:26","slug":"custom-webshop-integration","status":"publish","type":"post","link":"https:\/\/support.xendy.me\/en\/custom-webshop-integration\/","title":{"rendered":"Connect a custom webshop with Xendy"},"content":{"rendered":"<div class=\"row\"  id=\"row-69165610\">\n\n\t<div id=\"col-937209666\" class=\"col medium-4 small-12 large-4\"  >\n\t\t<div class=\"is-sticky-column\" data-sticky-mode=\"javascript\"><div class=\"is-sticky-column__inner\">\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n<h3>Contents<\/h3>\n<div class=\"article-index\" style=\"margin-bottom: 20px;\"><style>\n        .article-index a:hover {\n            text-decoration: underline;\n        }\n    <\/style><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#introduction\">Introduction<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#what-do-you-need\">What do you need?<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#examples\">Examples<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#required-fields-and-additional-fields\">Required fields and additional fields<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#setting-up-a-custom-integration-in-xendy\">Setting up a custom integration in Xendy<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#how-often-is-data-retrieved\">How often is data retrieved?<\/a><\/div><div style=\"font-weight: 500; font-size: 12px;\"><a href=\"#frequently-asked-questions\">Frequently Asked Questions<\/a><\/div><\/div>\n\t\t<\/div>\n\t\t<\/div><\/div>\t\t\t<\/div>\n\n\t\n\n\t<div id=\"col-1351634885\" class=\"col medium-8 small-12 large-8\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n<h2 id=\"introduction\">Introduction<\/h2>\n<p>With the JSON integration, you can automatically send customer, order, and product data to Xendy from your own system or webshop. This keeps your data up to date daily and allows you to segment, personalize, and use automations based on real-time information.<\/p>\n<h2 id=\"what-do-you-need\">What do you need?<\/h2>\n<p>You provide three URLs where Xendy can retrieve the data in JSON format:<\/p>\n<ul>\n<li aria-level=\"1\">customers.json (customer data)<\/li>\n<li aria-level=\"1\">orders.json (order data)<\/li>\n<li aria-level=\"1\">products.json (product data)\n<\/li>\n<\/ul>\n<p>These URLs must be secured with an authentication header so that only verified systems have access.<\/p>\n<h2 id=\"examples\">Examples<\/h2>\n<h3>Example <b>customers.json<\/b><\/h3>\n[<\/p>\n<p>  {<\/p>\n<p>    &#8220;email&#8221;: &#8220;customer@example.com&#8221;,<\/p>\n<p>    &#8220;first_name&#8221;: &#8220;John&#8221;,<\/p>\n<p>    &#8220;last_name&#8221;: &#8220;Doe&#8221;,<\/p>\n<p>    &#8220;phone&#8221;: &#8220;+31612345678&#8221;,<\/p>\n<p>    &#8220;xendy_vip_status&#8221;: &#8220;gold&#8221;<\/p>\n<p>  }<\/p>\n<p>]\n<h3>Example <b>orders.json<\/b><\/h3>\n[<\/p>\n<p>  {<\/p>\n<p>    &#8220;email&#8221;: &#8220;customer@example.com&#8221;,<\/p>\n<p>    &#8220;order_date&#8221;: &#8220;2025-09-07&#8221;,<\/p>\n<p>    &#8220;order_id&#8221;: &#8220;12345&#8221;,<\/p>\n<p>    &#8220;product_id&#8221;: &#8220;sku123&#8221;,<\/p>\n<p>    &#8220;quantity&#8221;: 2,<\/p>\n<p>    &#8220;line_amount&#8221;: 49.98<\/p>\n<p>  },<\/p>\n<p>  {<\/p>\n<p>    &#8220;email&#8221;: &#8220;customer@example.com&#8221;,<\/p>\n<p>    &#8220;order_date&#8221;: &#8220;2025-09-07&#8221;,<\/p>\n<p>    &#8220;order_id&#8221;: &#8220;12345&#8221;,<\/p>\n<p>    &#8220;product_id&#8221;: &#8220;sku987&#8221;,<\/p>\n<p>    &#8220;quantity&#8221;: 1,<\/p>\n<p>    &#8220;line_amount&#8221;: 19.99<\/p>\n<p>  },<\/p>\n<p>  {<\/p>\n<p>    &#8220;email&#8221;: &#8220;anothercustomer@example.com&#8221;,<\/p>\n<p>    &#8220;order_date&#8221;: &#8220;2025-09-06&#8221;,<\/p>\n<p>    &#8220;order_id&#8221;: &#8220;54321&#8221;,<\/p>\n<p>    &#8220;product_id&#8221;: &#8220;sku555&#8221;,<\/p>\n<p>    &#8220;quantity&#8221;: 3,<\/p>\n<p>    &#8220;line_amount&#8221;: 74.97<\/p>\n<p>  }<\/p>\n<p>]\n<h3>Example <b>products.json<\/b><\/h3>\n[<\/p>\n<p>  {<\/p>\n<p>    &#8220;product_id&#8221;: &#8220;sku123&#8221;,<\/p>\n<p>    &#8220;name&#8221;: &#8220;Blue Hoodie&#8221;,<\/p>\n<p>    &#8220;price&#8221;: 24.99,<\/p>\n<p>    &#8220;product_link&#8221;: &#8220;https:\/\/yourstore.com\/product\/blue-hoodie&#8221;,<\/p>\n<p>    &#8220;image_url&#8221;: &#8220;https:\/\/yourstore.com\/media\/blue-hoodie.jpg&#8221;,<\/p>\n<p>    &#8220;xendy_category&#8221;: &#8220;winter collection&#8221;<\/p>\n<p>  }<\/p>\n<p>]\n<h2 id=\"required-fields-and-additional-fields\">Required fields and additional fields<\/h2>\n<p>The fields without the xendy_ prefix in the examples are required. These core fields (such as email, order_date, product_id, line_amount) are necessary for the integration to function properly and for the data to synchronize correctly with Xendy.<\/p>\n<p>You can add additional fields with the xendy_ prefix when you want to send more data to Xendy. Examples include xendy_vip_status, xendy_coupon, or xendy_channel.<\/p>\n<p>These additional fields are automatically recognized in Xendy and appear under \u2018<b>Filter rules<\/b>\u2019 in \u2018<b>Dynamic segments<\/b>\u2019. You can also use these fields in an email.<\/p>\n<h2 id=\"setting-up-a-custom-integration-in-xendy\">Setting up a custom integration in Xendy<\/h2>\n<p>You cannot set up a custom integration yourself yet. Once you have configured the three URLs plus authentication header, you can share them with <a href=\"mailto:support@xendy.me\">support@xendy.me<\/a>. Please also include the URL of your webshop. Setting up your integration takes approximately 1\u20132 days.<\/p>\n<h2 id=\"how-often-is-data-retrieved\">How often is data retrieved?<\/h2>\n<p>Xendy automatically retrieves the data from your custom webshop once per day during the night. This keeps your data up to date without you having to do anything. If the data cannot be retrieved, you will proactively receive a notification via email.<\/p>\n<h2 id=\"frequently-asked-questions\">Frequently Asked Questions<\/h2>\n<div class=\"accordion\">\n\t<div id=\"accordion-3308855915\" class=\"accordion-item\">\n\t\t<a id=\"accordion-3308855915-label\" class=\"accordion-title plain\" href=\"#accordion-item-how-often-is-data-retrieved?\" aria-expanded=\"false\" aria-controls=\"accordion-3308855915-content\" >\n\t\t\t<button class=\"toggle\" aria-label=\"Toggle\"><i class=\"icon-angle-down\"><\/i><\/button>\n\t\t\t<span>How often is data retrieved?<\/span>\n\t\t<\/a>\n\t\t<div id=\"accordion-3308855915-content\" class=\"accordion-inner\" aria-labelledby=\"accordion-3308855915-label\" >\n\t\t\t\n<p>Xendy automatically retrieves the data from your custom webshop once per day during the night. This keeps your data up to date without you having to do anything. If the data cannot be retrieved, you will proactively receive a notification via email.<\/p>\n\t\t<\/div>\n\t<\/div>\n\t\n<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-90","post","type-post","status-publish","format-standard","hentry","category-integrations"],"_links":{"self":[{"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/posts\/90","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/comments?post=90"}],"version-history":[{"count":11,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/posts\/90\/revisions"}],"predecessor-version":[{"id":1762,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/posts\/90\/revisions\/1762"}],"wp:attachment":[{"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/media?parent=90"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/categories?post=90"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.xendy.me\/en\/wp-json\/wp\/v2\/tags?post=90"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}