Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This document is written to give input on the best way of integrate a external webshop agains Extend plattform via Extends REST API. There are some important general information and general best practice info in this documet that you also need to reed.

Code of Conduct & Best Practice, Extend API


Set the scope

First you need to decide the big picture process in the integration. This is about how many datapoints that should be integrated.  Orders and Balances are often mandatory, dosen´t realy make sence to integrate without those 2 datapoints.
But you need to take descision about :

  • Masterdata Customer
    If you should get masterdata about customer from Extend (normally used if there is a clear B2B process and that the customer needs to be establish in Extend first, to connect to right pricelists, customer groups, salespersons etc.
    Or if you should establish customers in Extend from the webshop.
    Or if no sync of customer masterdata should be done at all.
  • Masterdata Products.
    The products must exists in both systems, should there be any masterdata sync about this.
  • Prices
    When the order is placed from webshop into extend the price on the order is handled exact as the webshop says. But If you want to have a "push" of standrad prices from Extend to the webshop, then this must be one of the data points to integrate as well. 



Orders

Create order

in Extend from the webshop

Use POST  on the method CustomerOrders


Get update on order


We recoment that you activate webhook from Extend to the webshop. when this is written we support

order picked (equal to order shipped out from warehouse)

order reserved ( when picking is started, after this no adjustmen is allowed)

Order cancelled

OrderDeliveryDataChanged ( if expected deliverydate is changed on an order)


If you get this hooks, then use the GET customerorders/{id} method to fetch all details about the shipment of the order.


If you can´t use the webhook as trigger to fetch data, then use the GET CustomerOrders (you get a list of ordernumber there) here you can use different parameters to find orders that has been changed shipped etc. 




Balance

If you want your webshop to have info about the avaiable balance in the warehouse you should call

GET ProductAvailability

In this method you can add some parameters to find balance for products with changed balance since a timestamp, specific products and on different warehouses.


Due to that balance is a real time data we also strongly recommend that you use a webhook called AvaiableBalanceChanged from Extend.

in this hook we will send you itemnumber and new balance.  This is as near real time you can get. every change in avaiable balance will trigger a hook.




Use the webhook as a trigger to call the ProductAvailabilty method. You could use the info in the hook to update you balance, but we recommend that you use it as a trigger to call us.

We will not accept you to call every xx minut for each product to update the balance.




Products


If you want to get product masterdata from Extend. then use the


GET Products method.


this is also build with a logic of you can get a list with a lot of parameters, including last change date of product masterdata. Use this to get the a list of productnumbers that you want to get data on. then call the GET single product to fetch all data.


Customers


If you want to get customer masterdata from Extend. then use the


GET Customers method.


this is also build with a logic of you can get a list with a lot of parameters, including last change date of customer masterdata. Use this to get the a list of customers that you want to get data on. then call the GET single product to fetch all data.


If you want to create customers then use the POST Customers method.


Prices


If you want to get prices you use the

GET ProductPrices method.

In Extend the prices are a net list of best price for a customer number. Meaning that if there are one pricelist, one discountlist, one special campaign pricelist active at the same time. Extend will respond in the ProductPrice Method with a list of "right now" best price for a customer.

So you need to put in a parameter of a customer number to fetch prices.


Contents

  • No labels