Article

Article API route options

API route optionsDescription
GET api/article/parameterconfig

Parameterconfig to ensure that you are using the correct style and sourceVariant properties for the correct type of information: style => (season, brand, ect.), sourceVariant => (color, size, etc.)

POST api/article/create/style

IMPORTANT! use the parameter config you get from GET: /api/article/parameterconfig to ensure that you are using the correct style property for the correct type of information(season, brand, ect.). This does not create a style, but its creates a job that BackOffice executes. This means that the style is not created instantly but can be delayed.

POST api/article/create/bulk

IMPORTANT!: See /api/article/parameterconfig for correct parameter value assignment. This runs in a batch process and the articles are not created instantly and will be delayed.

PUT api/article/variant/{variantId}/barcode/{barcode}

Inserts a barcode with reference to a variant, given variant id and barcode.

GET api/article/ean/{barcode}

Provides an Article, given a barocde.

GET api/article/ean/multi/{barcode}

Provides an Article, given a barocde. Looks in multi barcode variant table.

GET api/article/styles/{page}

DEPRECATED use GET /api/article/page/{page}/pagesize/{pagesize} instead. Gets all styles in your Group. Header containes next page number and how many is remaning

GET api/article/page/{page}/pagesize/{pagesize}

Provides all articles, as PAGED.

GET api/article/page/{page}/pagesize/{pagesize}/created/since?since={since}

Provides all articles created since, given timestamp, page and pagesize, as PAGED.

GET api/article/page/{page}/pagesize/{pagesize}/modified/since?since={since}

Provides all articles modified since, given timestamp, page and pagesize, as PAGED.

GET api/article/page/{page}/pagesize/{pagesize}/supplier/{supplier}

Provides all articles, by supplier id, as PAGED.

GET api/article/style/{id}

Get a style and all its variants.

PUT api/article/update/styleintersection

Updates a style intersection A ∩ B (everthing but the list of variants)

POST api/article/add/sourceVariant/{styleId}

IMPORTANT! use the parameterconfig you get from GET: /api/article/parameterconfig to ensure that you are using the correct style property for the correct type of information(season, brand, ect.).

PUT api/article/update/sourceVariant/{targetVariantId}

Updates Variant with targetId with the given sourceVariant model.

PUT api/article/update/sourceVariant

Updates Variant with targetId with the given sourceVariant model.

GET api/article/{id}

Gets the sourceVariant + its style flattened(articel) matching the Id with the VariantId

GET api/article/search-ean/{ean}

Searches for a flattned sourceVariant + its style(articel) matching the EAN provided to the Variant EAN

POST api/article/style/parameter/match

Provides a list of articles, given list of style parameter key and values for matching.

Clerk

Clerk API route options. Uses UTC datetime.

API route optionsDescription
GET api/clerk/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_token [token]".

POST api/clerk/shop/{shopId}

Provide true/false on creation of a clerk, given shop id and a clerk model. Give clerk model in body. More information regarding language and userRights can be found in the documentation

GET api/clerk/{clerkId}/shop/{shopId}/terminal/{terminal}

Provides a clerk model, given a clerk id, a shop id and a teminal id.

GET api/clerk/shop/{shopId}

Provides all clerks for a shop

PUT api/clerk/shop/{shopId}

Please use the route shop/update/{shopId:int} instead. If return value is false use route shop/{shopId:int} Provide true/false on update of a clerk, given a clerk model. Give clerk model in body.

PUT api/clerk/shop/update/{shopId}

Provide true/false on update of a clerk, given a clerk model. Give clerk model in body. More information regarding language and userRights can be found in the documentation

DELETE api/clerk/{clerkId}/shop/{shopId}/terminal/{terminal}

Provide true/false on deletion of a clerk, given a clerk id, a shop id and a teminal id.

CreditNote

Credit note API route options

API route optionsDescription
GET api/creditnote/issued/timespan?dateFrom={dateFrom}&dateTo={dateTo}

Provides all issued credit notes in a given timespan, regardless of current state.

GET api/creditnote/redeemed/timespan?dateFrom={dateFrom}&dateTo={dateTo}

Provides all redeemed credit notes in a given timespan.

Debtor

Debtor API route options

API route optionsDescription
POST api/debtor

Creates debtor.

POST api/debtor/bulk

Bulk creates debtors.

GET api/debtor/{customerNumber}

Provides debtor.

GET api/debtor/all

Provides list of debtors.

GET api/debtor/created/since?since={since}

Provides list of debtors, created since timestamp.

GET api/debtor/modified/since_test

No documentation available.

GET api/debtor/modified/since?since={since}

Provides list of debtors, modified since timestamp.

PUT api/debtor

Updates debtor.

DELETE api/debtor/{customerNumber}

Deletes debtor.

GiftCertificate

GiftCertificate API route options

API route optionsDescription
GET api/giftcertificate/generatenumber/shopId/{shopId}/amount/{amount}/terminalId/{terminalId}

Generates unique GiftCertificate number NOTE: This is only generation. Persistence occurs when sold.

GET api/giftcertificate/validate/certificateNumber/{certificateNumber}

Validates a GiftCertificate. Returns true for valid and false for not valid.

GET api/giftcertificate/{certificateNumber}/information

Provides gift certificate information.

GET api/giftcertificate/issued/timespan?dateFrom={dateFrom}&dateTo={dateTo}

Provides all issued gift certificates in a given timespan, regardless of current state.

GET api/giftcertificate/redeemed/timespan?dateFrom={dateFrom}&dateTo={dateTo}

Provides all redeemed gift certificates in a given timespan.

Group

TransactionType API route options

API route optionsDescription
GET api/group/transactiontypes

Provides the current setup for transactionTypes

GET api/group/transactiontypes/{transactionNumber}

Provides a single transactiontype description given TransactionNumber

Information

Information API route options.

API route optionsDescription
GET api/information/tokentype/{token}

Provide information for which area of the API can be accessed and for which Group/Club/Webshop, given only the token.

GET api/information/group/{token}

Provides group information, given a group token.

GET api/information/shops/{token}

Provides a list of shops, given a group token.

GET api/information/webshop/{token}

Provides a list of shops in the webshop, given a webshop token.

GET api/information/loyalty/{token}

Provides a list of shops in the club, given a loyalty token.

ItemGroup

Item group API route options

API route optionsDescription
GET api/itemgroups/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_token [token]"

GET api/itemgroups

Provides a list of item groups

POST api/itemgroups/sku

Creates a Stock Keeping Unit (SKU)Item Group. This type of item group is used as a grouping of articles. All articles belonging an item group inherits it's VAT configuration and barcode label setup.

PUT api/itemgroups/sku/{id}

Update an existing Stock Keeping Unit (SKU)Item Group.

POST api/itemgroups/nonsku

Creates a Non Stock Keeping Unit (NonSKU)Item Group. This type of item group is used when selling something where the shop is not interesteded in keeping stock and linking the sale to specific articles. No articles are associated with this type of item group.

PUT api/itemgroups/nonsku/{id}

Update an existing Stock Keeping Unit (SKU)Item Group.

GET api/itemgroups/vat

Gets the different VAT configuration options for item groups.

GET api/itemgroups/barcodes

Get the different barcode configuration options for item groups.

Loyalty2

Loyalty version 2 API routes for general Loyalty data. NOTE: memberId and customerNumber are two different fields on a Member.

API route optionsDescription
GET api/loyalty2/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_loyalty_token [token]. A token is club specific."

GET api/loyalty2/shop/{shopId}/clubId

Provides club id, given shop id.

GET api/loyalty2/group/{groupId}/clubId

Provides club id, given group id.

GET api/loyalty2/club/shops

Provides shops for club.

GET api/loyalty2/shop/{shopId}

Provides a shop, given shop id.

GET api/loyalty2/club/isocurrency

Provides iso-currency code for club.

GET api/loyalty2/club/transactions/{fromId}?maxResults={maxResults}

Gets transaction of a club. Important: Transactions can consist of multiple transaction lines. Because of this, it's possible that the returned results do not contain all lines of the last transaction, due to being cut-off by "maxResults". Therefore it's essential to fetch until no more results are returned, to ensure that all lines of all transactions are being obtained.

Loyalty2Engine

Loyalty version 2 API routes for general Loyalty-Engine data. NOTE: memberId and customerNumber are two different fields on a Member.

API route optionsDescription
GET api/loyalty2/engine/enginetypes

Provides all types of Loyalty engines.

GET api/loyalty2/engine/club/engines

Provides the engine(s) of a club.

GET api/loyalty2/engine/club/enginetype/{engineType}

Provides the engine id, given an engine type identifier.

GET api/loyalty2/engine/shop/{shopId}/enginetype/{engineType}

Provides the engine id, given a shop id and type identifier.

GET api/loyalty2/engine/club/levelrules/active/enginetype/{engineType}

Provides active level rule(s) for club, given engine type identifier.

GET api/loyalty2/engine/shop/{shopId}/levelrules/active/enginetype/{engineType}

Provides active level rule(s) for shop, given engine type identifier and shop id.

GET api/loyalty2/engine/levelengine/money/transactionlineids

Provides the used/returned "bonus money" for each provided transaction line id. This method only applies on "LevelEngines" (DiscountLevelEngine, BonusLevelEngine..). Give loyalty transaction line id(s) in body.

GET api/loyalty2/engine/club/staticdiscountengine/discountrules

Provides all static discount rules of a club. The club needs to have a StaticDiscountEngine assigned!

GET api/loyalty2/engine/shop/{shopId}/staticdiscountengine/discountrules

Provides all static discount rules of a club, by a shop. The club to which the shop belongs, needs to have a StaticDiscountEngine assigned!

GET api/loyalty2/engine/club/enginetype/{engineType}/totalMoneyToUse

Gets the total money to use of all members of a "Level-Engine" within a Club. Note: This is an expensive call, which might take some time to return. Avoid high frequency usage.

GET api/loyalty2/engine/club/enginetype/{engineType}/totalPoints

Gets the total points of all members of a "Level-Engine" within a Club. Note: This is an expensive call, which might take some time to return. Avoid high frequency usage.

Loyalty2Member

Loyalty version 2 API routes for Loyalty members. NOTE: memberId and customerNumber are two different fields on a Member.

API route optionsDescription
GET api/loyalty2/member/changes/since/page/{page}/pagesize/{pageSize}?sinceUtcDateTime={sinceUtcDateTime}

Provides all members that have changes to: profile, transactions and point logs, since given datetime, as PAGED. NOTE: When total number of records is exceeding one page, the total number of records does NOT reflect the true number of members. As this request is a consolidation of multiple look-ups, consider the total an approximation of a total. Members can occur across multiple pages.

GET api/loyalty2/member/{memberId}/clubId

Provides club id, given member id.

POST api/loyalty2/member

Creates and provides member. Give member in body. If the given member has a CustomerNumber assigned, this number will be used.

POST api/loyalty2/member/v2

Creates and provides member. Give member in body. If the given member has a CustomerNumber assigned, this number will be used.

POST api/loyalty2/member/shop/{shopId}

Creates and provides member, given shop id. Give member in body. If the given member has a CustomerNumber assigned, this number will be used.

POST api/loyalty2/member/{shopId}

Creates and provides member, given shop id. Give member in body. If the given member has a CustomerNumber assigned, this number will be used.

GET api/loyalty2/member/{memberId}

Provides member, given member id.

GET api/loyalty2/member/shop/{shopId}/username/{userName}

Provides member, given shop id and user name.

GET api/loyalty2/member/shop/{shopId}/customernumber/{customerNumber}

Provides member, given shop id and customer number.

GET api/loyalty2/member/group/{groupId}/customernumber/{customerNumber}

Provides member, given group id and customer number.

PUT api/loyalty2/member

Updates member. Note: This does NOT update the Login of a member (User/Password)!

PUT api/loyalty2/member/v2

Updates member. Note: This does NOT update the Login of a member (User/Password)!

PATCH api/loyalty2/member/v2

Patches member. NOTE: Will only update optional properties that are not omitted and hold valid data.

PUT api/loyalty2/member/{memberId}/update/username/{newUserName}

Updates user name, given member id and new user name.

PUT api/loyalty2/member/{memberId}/update/password/{newPassword}

Updates the password, given member id and new password. Attention: Use this only when you know, that it is valid to change the password, without having the original password. Note: use "api/loyalty2/member/{memberId:int}/update/password/newonly" instead.

PUT api/loyalty2/member/{memberId}/update/password/{currentPassword}/{newPassword}

Updates the password, given member id, existing password and new password. Note: use "api/loyalty2/member/{memberId:int}/update/password" instead.

PUT api/loyalty2/member/{memberId}/update/password/newonly?newPassword={newPassword}

Updates the password, given member id and new password. Attention: Use this only when you know, that it is valid to change the password, without having the original password.

PUT api/loyalty2/member/{memberId}/update/password?currentPassword={currentPassword}&newPassword={newPassword}

Updates the password, given member id, existing password and new password.

DELETE api/loyalty2/member/{memberId}

Deletes member, given member id.

GET api/loyalty2/member/check/shop/{shopId}/user/{userName}

Checks the existance of a member and provides a result, given user name and shop id.

GET api/loyalty2/member/shop/{shopId}/validate/user/{userName}/password/{password}

Validates username and password and provides member, given user name, password and shop id. Note: use "api/loyalty2/member/shop/{shopId:int}/validate/user/{userName}/password" instead.

GET api/loyalty2/member/shop/{shopId}/validate/user/{userName}/password?password={password}

Validates username and password and provides member, given user name, password and shop id.

GET api/loyalty2/member/{memberId}/validate/password/{password}

Validates password and provides member, given member id and password. Note: use "api/loyalty2/member/{memberId:int}/validate/password" instead.

GET api/loyalty2/member/{memberId}/validate/password?password={password}

Validates password and provides member, given member id and password.

GET api/loyalty2/member/club/page/{page}/size/{pageSize}

Provides member(s) of a club as PAGED, given page and size.

GET api/loyalty2/member/club/page/{page}/size/{pageSize}/{memberDateProperty}?fromDate={fromDate}&toDate={toDate}

Provides member(s) of a club paged.

GET api/loyalty2/member/club/page/{page}/size/{pageSize}/term/{searchTerm}

Provides member(s) of a club as PAGED, given page, size and search term. The search is run against the properties of a member. It's possible to have a concatenated search term, containing multiple property-values of a member, seperated by space (' '). Properties can be omitted, but in case of multiple values they must be present in the order CustomerNumber, FirstName, LastName, Address, PostalCode, City, Country ,Phone, Email.

GET api/loyalty2/member/group/{groupId}/page/{page}/size/{pageSize}

Provides member(s) of a club as PAGED, given page, size and group id.

GET api/loyalty2/member/group/{groupId}/page/{page}/size/{pageSize}/term/{searchTerm}

Provides member(s) of a club as PAGED, given page, size, search term and group id. The search is run against the properties of a member. It's possible to have a concatenated search term, containing multiple property-values of a member, seperated by space (' '). Properties can be omitted, but in case of multiple values they must be present in the order CustomerNumber, FirstName, LastName, Address, PostalCode, City, Country ,Phone, Email.

GET api/loyalty2/member/shop/{shopId}/page/{page}/size/{pageSize}

Provides member(s) of a club as PAGED, given page, size and shop id.

GET api/loyalty2/member/shop/{shopId}/page/{page}/size/{pageSize}/term/{searchTerm}

Provides member(s) of a club as PAGED, given page, size, search term and shop id. The search is run against the properties of a member. It's possible to have a concatenated search term, containing multiple property-values of a member, seperated by space (' '). Properties can be omitted, but in case of multiple values they must be present in the order CustomerNumber, FirstName, LastName, Address, PostalCode, City, Country ,Phone, Email.

GET api/loyalty2/member/shop/{shopId}/term/{searchTerm}

Provides member(s) of a club, given shop id and search term. The search is run against the properties of a member. It's possible to have a concatenated search term, containing multiple property-values of a member, seperated by space (' '). Properties can be omitted, but in case of multiple values they must be present in the order CustomerNumber, FirstName, LastName, Address, PostalCode, City, Country ,Phone, Email.

GET api/loyalty2/member/group/{groupId}/term/{searchTerm}

Provides member(s) of a club, given group id and search term. The search is run against the properties of a member. It's possible to have a concatenated search term, containing multiple property-values of a member, seperated by space (' '). Properties can be omitted, but in case of multiple values they must be present in the order CustomerNumber, FirstName, LastName, Address, PostalCode, City, Country ,Phone, Email.

GET api/loyalty2/member/{memberId}/transactions

Provides transaction line(s), given member id.

GET api/loyalty2/member/shop/{shopId}/{customerNumber}/transactions

Provides transaction line(s), given a shop and customer number.

Loyalty2MemberEngine

Loyalty version 2 API routes for Loyalty member/engine-specific data. NOTE: memberId and customerNumber are two different fields on a Member.

API route optionsDescription
POST api/loyalty2/member/{memberId}/points/{points}

Adds points manually to member, given member id and points.

POST api/loyalty2/member/{memberId}/{points}/points

Adds points manually to member, given member id and points.

POST api/loyalty2/member/{memberId}/money/{money}

Adds money manually to member, given member id and money.

POST api/loyalty2/member/{memberId}/{money}/money

Adds money manually to member, given member id and money.

GET api/loyalty2/member/{memberId}/enginetype

Provides the engine type identifier of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/money

Provides the amount of money to use of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/points

Provides the current total points of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/points/pending

Provides the pending points of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/pointlogs

Provides all point log(s) of a member, given a member id.

GET api/loyalty2/member/shop/{shopId}/customernumber/{customerNumber}/levelengine/pointlogs

Provides all point log(s) of a member, given a shop and customer number.

GET api/loyalty2/member/{memberId}/bonuslevelengine/pointlogs

Provides point log(s) of the "BonusLevelEngine", given a member id.

GET api/loyalty2/member/shop/{shopId}/customernumber/{customerNumber}/bonuslevelengine/pointlogs

Provides point log(s) of the "BonusLevelEngine", given a shop and customer number.

GET api/loyalty2/member/{memberId}/levelengine/levelrules/active

Provides all active level rule(s) of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/levelrule/current

Provides the current level of a member, given a member id.

GET api/loyalty2/member/{memberId}/levelengine/levelrule/next

Provides the next level of a member, given a member id.

GET api/loyalty2/member/{memberId}/staticdiscountengine/discountrule

Provides the static discount (rule) of a member, given a member id.

PUT api/loyalty2/member/{memberId}/staticdiscountengine/discountrule

Saves a static discount rule on a member. One of the club's static discount rules can be used as an argument to this call.

PeopleCounter

API route optionsDescription
GET api/peoplecounter/peoplecounter/shopid/{shopId}

Provides all records for specific shopId

GET api/peoplecounter/peoplecounter/shopid/{shopId}/from/{from}/to/{to}

Provides all records for specific shopId, within a given timespan

GET api/peoplecounter/{shopId}

Provides all records for specific shopId.

GET api/peoplecounter/{shopId}/{from}/{to}

Provides all records for specific shopId, within a given timespan.

POST api/peoplecounter/{shopId}

Creates a new record.

PUT api/peoplecounter/{shopId}

Updates the count of a record.

PUT api/peoplecounter/{shopId}/updatecreate

Updates the count of a record if it exists, otherwise it creates a new record.

ReasonCode

Reason code API route options

API route optionsDescription
GET api/reasoncode/test/token

Method for testing if access is granted and connection can be made. Remember token in header. ATM = "Authorization ddd_token [token]."

POST api/reasoncode/discount

Provides true/false on creation of a discount reason code.

POST api/reasoncode/return

Provides true/false on creation of a return reason code.

GET api/reasoncode/discount

Provides discount reason code(s).

GET api/reasoncode/return

Provides return reason code(s).

PUT api/reasoncode/discount

Please use Put: /discount/update and Post: /discount/ instead Provides true if reason code is updated or inserted false otherwise

PUT api/reasoncode/discount/update

Provides true if reason code is updated, false otherwise

PUT api/reasoncode/return

Please use Put: /return/update and Post: /return/ instead Provides true if reason code is updated or inserted false otherwise

PUT api/reasoncode/return/update

Provides true if reason code is updated, false otherwise

DELETE api/reasoncode/discount/id/{id}

Provides true/false on deletion of the discount reason code.

DELETE api/reasoncode/return/id/{id}

Provides true/false on deletion of the return reason code.

Receipt

Sale Controller

API route optionsDescription
GET api/receipt/gift/exchange/generate?variantId={variantId}&price={price}

Generates receipt for gift exchange.

Sale

Sale Controller

API route optionsDescription
GET api/sale/itemgroups

Provides a list of item groups

GET api/sale/discountcodes

Provides a list of discount reason codes.

GET api/sale/returncodes

Provides a list of return reason codes.

GET api/sale/transactiontypes

Provides a list of transaction types. NOTE: Common card types start at 600.

GET api/sale/generate/giftcertificate/{amount}/{shopId}/{terminalId}

Generates unique gift certificate identifier. NOTE: This is only generation. Persistence occurs when sold.

POST api/sale

Provides true/exception on post of sale.

Stock

Stock API route options

API route optionsDescription
GET api/stocks/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_token [token]"

GET api/stocks/{valueOption}/variants?variantIdList[0]={variantIdList[0]}&variantIdList[1]={variantIdList[1]}

Provides a list of VariantIds, each with a list of stock quantity, per ShopId, given a stock value option and a list of variant ids.

GET api/stocks/{valueOption}/eans?eanList[0]={eanList[0]}&eanList[1]={eanList[1]}

Provides a list of EANs, each with a list of stock quantity, per ShopId, given a stock value option and a list of Eans.

GET api/stocks/{shopId}/variants/{variantId}

Provides stock quantity, given shop id and variant id.

GET api/stocks/{shopId}/variants/{barcode}

Provides stock quantity, given shop id and barcode.

GET api/stocks/{shopId}/page/{page}/size/{pagesize}

Provides combined stock quantity for all variant ids with EAN, as PAGED, given shop id and variant id.

GET api/stocks/actual/{shopId}/page/{page}/size/{pagesize}

Provides combined non-zero stock quantity, as PAGED, given shop id

GET api/stocks/actual/{shopId}/supplier/{supplierId}/page/{page}/size/{pagesize}

Provides combined non-zero stock quantity by supplier, as PAGED, given shop id

GET api/stocks/transactionNumber/{shopId}

Provides the latest used transaction number for the given shop id.

GET api/stocks/{shopId}/transactionnumber/{transactionNumber}/page/{page}/size/{pagesize}

Provides stock quantity for all variant ids with EAN, as PAGED, BEFORE transaction number, given shop id and transaction number. DEPRECATED: Use /api/stocks/{shopId}/{valueOption}/{page}/{pagesize} instead.

GET api/stocks/{shopId}/transactionnumber/{transactionNumber}/{page}/{pagesize}/after

Provides stock quantity for all variant ids with EAN, as PAGED, AFTER and including transaction number, given shop id and transaction number. DEPRECATED: Use /api/stocks/{shopId}/{valueOption}/{page}/{pagesize} instead.

GET api/stocks/{shopId}/{valueOption}/from/{transactionNumber}/page/{page}/{pagesize}

Provides stock quantity for all variant ids with EAN, as PAGED, from transaction number, given shop id, transaction number and stock value option. DEPRECATED: Use /api/stocks/{shopId}/{valueOption}/{page}/{pagesize} instead.

GET api/stocks/{shopId}/{valueOption}/{page}/{pagesize}

Provides stock quantity for all variant ids with EAN, as PAGED, given shop id and stock value option.

GET api/stocks/{shopId}/{valueOption}/{page}/{pagesize}/since?since={since}

Provides stock quantity, since date for all variant ids with EAN, as PAGED, given shop id, stock value option and date.

GET api/stocks/{shopId}/combined/{variantId}

Provides combined stock quantities, given shop id and variant id. Stock at shop, stock in transfer and stock purchased.

GET api/stocks/{shopId}/combined/{barcode}

Provides combined stock quantities, given shop id and barcode. Stock at shop, stock in transfer and stock purchased.

GET api/stocks/{shopId}/combinedstock/{variantId}

Provides combined stock quantities, given shop id and variant id. Stock at shop, stock in transfer and stock purchased.

GET api/stocks/{shopId}/combinedstock/{barcode}

Provides combined stock quantities, given shop id and barcode. Stock at shop, stock in transfer and stock purchased.

GET api/stocks/{shopId}/transfers/drafts

Provides item transfer draft(s), given shop id.

GET api/stocks/{shopId}/transfers/drafts/{shopOption}

Provides list of item transfer drafts, given shop id and shop selection.

GET api/stocks/{shopId}/transfers/drafts/{receiptNo}

Provides item transfer draft(s), given shop id and receipt number.

GET api/stocks/{shopId}/purchases/drafts

Provides purchase drafts(s), given shop id.

GET api/stocks/{shopId}/purchases/drafts/{invoiceNo}

Provides purchase draft(s), given shop id and invoice number.

GET api/stocks/{shopId}/timesearch/supplier/{supplierId}/start/{periodStart}/end/{periodEnd}

Provides a Dictionary(VaiantId, Ean), of stock movements in a timespan, for a the given shop id and supplier id. Maximum timespan is 14 days.

StockAdjustment

Stock adjustment controller

API route optionsDescription
POST api/stockadjustment/receipt/of/goods/initiate

Initiates a receipt of goods.

PATCH api/stockadjustment/receipt/of/goods/{shopIdDraftOwner}/{shopIdDraftRecipient}/{invoiceIdentifier}/approve

Updates a receipt of goods draft, to a fully approved state. NOTE: All lines, which have not been approved yet, will be affected. This can lead to approving a remainder of the draft.

POST api/stockadjustment/item/transfer/initiate

Initiates an item transfer of item quantities, from sender ShopId to recipient ShopId.

PATCH api/stockadjustment/item/transfer/{shopIdDraftOwner}/{shopIdDraftRecipient}/{invoiceIdentifier}/approve

Updates an item transfer draft, to a fully approved state. NOTE: All lines, which have not been approved yet, will be affected. This can lead to approving a remainder of the draft.

Supplier

Supplier API route options

API route optionsDescription
GET api/supplier/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_token [token]"

POST api/supplier/create

Creates a new Supplier. Note: Include only properties which hold information.

POST api/supplier/create/{supplierId}

Please use Post: /create/ instead

GET api/supplier

PUT api/supplier

Updates a Supplier. Note: Include only properties which hold information.

Transactions

Transaction API route options.

API route optionsDescription
GET api/transactions/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_token [token]"

GET api/transactions/{shopId}/{from}/{to}

Provides multi model of transaction lists, given a shop id, a from date and a to date.

GET api/transactions/{shopId}/{from}

Provides a multi model of transaction lists, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/{shopId}/{transactionNumber}

Provides a multi model of transaction lists, given a shop id and a transaction number. NOTE: This route can give lists that are skewed, relative to each other.

GET api/transactions/transferes/{shopId}/{transactionNumber}

Provides a list of transfer transactions, given a shop id and a transaction number.

GET api/transactions/purchases/{shopId}/{transactionNumber}

Provides a list of purchase transactions, given a shop id and a transaction number.

GET api/transactions/corrections/{shopId}/{transactionNumber}

Provides a list of correction transactions, given a shop id and a transaction number.

GET api/transactions/sales/{shopId}/{transactionNumber}

Provides a list of sales transactions, given a shop id and a transaction number.

GET api/transactions/sales/item/{shopId}/{transactionNumber}

Provides a list of sales item transactions, given a shop id and a transaction number.

GET api/transactions/sales/payment/{shopId}/{transactionNumber}

Provides a list of sales payment transactions, given a shop id and a transaction number.

GET api/transactions/corrections/{shopId}/{from}/{to}

Provides a list of correction transactions, given a shop id, a from date and a to date.

GET api/transactions/corrections/{shopId}/{from}

Provides a list of correction transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/corrections/manual/{shopId}/{from}/{to}

Provides a list of manual correction transactions, given a shop id, a from date and a to date.

GET api/transactions/corrections/manual/{shopId}/{from}

Provides a list of manual correction transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/corrections/status/{shopId}/{from}/{to}

Provides a list of status correction transactions, given a shop id, a from date and a to date.

GET api/transactions/corrections/status/{shopId}/{from}

Provides a list of status correction transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/purchases/{shopId}/{from}/{to}

Provides a list of purchase transactions, given a shop id, a from date and a to date.

GET api/transactions/purchases/{shopId}/{from}

Provides a list of purchase transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/transfers/{shopId}/{from}/{to}

Provides a list of transfer transactions, given a shop id, a from date and a to date.

GET api/transactions/transfers/recipient/{shopId}/{from}/{to}

Provides a list of transfer transactions, given a recipient shop id, a from date and a to date.

GET api/transactions/transfers/{shopId}/{from}

Provides a list of transfer transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/sales/{shopId}/{from}/{to}

Provides a list of sales transactions, given a shop id, a from date and a to date.

GET api/transactions/sales/{shopId}/{from}

Provides a list of sales transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/sales/item/{shopId}/{from}/{to}

Provides a list of sales item transactions, given a shop id, a from date and a to date.

GET api/transactions/sales/item/{shopId}/{from}

Provides a list of sales item transactions, given a shop id and a from date. Will provide up to 31 days of data.

GET api/transactions/sales/payment/{shopId}/{from}/{to}

Provides a list of sales payment transactions, given a shop id, a from date and a to date.

GET api/transactions/sales/payment/{shopId}/{from}

Provides a list of sales payment transactions, given a shop id and a from date. Will provide up to 31 days of data.

WebOrder

Web order API route options. NOTE: All DateTime must be in UTC. NOTE: This API uses two token schemes ATM. The "ddd_token" scheme and the "ddd_webshop_token" scheme. If used with the "ddd_token" scheme, only one webshop can be defined. NOTE: The dual token scheme on this API will be changed to use ONLY "ddd_webshop_token" at a later date.

API route optionsDescription
GET api/weborder/test/token

Method for testing if access is granted and connection can be made. Remember token in header. ATM = "Authorization ddd_token [token]". Will change to "Authorization ddd_webshop_token [token]" a some point.

POST api/weborder

DEPRECATED - Provides a true/false on creation of a web order, given a web order create model. Use "api/weborder/clickandcollect" instead

POST api/weborder/alternative

Provides a true/false on creation of a web order, given an alternative web order create model.

POST api/weborder/clickandcollect

Provides a true/false on creation of a Click'n'Collect web order, given a web order create model.

POST api/weborder/orderinstore

Provides a true/false on creation of a Order In Store web order, given a web order create model.

POST api/weborder/clickandcollect/alternative

Provides a true/false on creation of a Click'n'Collect web order, given an alternative web order create model, using Ean instead of VariantId.

POST api/weborder/orderinstore/alternative

Provides a true/false on creation of an Order In Store web order, given an alternative web order create model, using Ean instead of VariantId.

PUT api/weborder

Provides a true/false on update of a web order, given a web order update model.

GET api/weborder/{orderNo}

DEPRECATED - Provides the matching web order, given a web order number. Use "fetch/orderNo/{orderNo}"

GET api/weborder/{orderId}

DEPRECATED - Provides the matching web order, given a web order id. Use "fetch/{orderId:int}"

GET api/weborder/fetch/{orderNo}

Provides the matching web order, given a web order number.

GET api/weborder/fetch/{orderId}

Provides the matching web order, given a web order id (this is not OrderNo, but Id).

GET api/weborder/fetch/orderNo/{orderNo}

Provides the matching web order, given an WebOrder 'OrderNo'.

DELETE api/weborder/{orderNo}

Provides a true/false on deletion of a web order, given an OrderNo.

DELETE api/weborder/{orderId}

Provides a true/false on deletion of a web order, given an id (this is not OrderNo, but Id).

DELETE api/weborder/orderno/{orderNo}

Provides a true/false on deletion of a web order, given an OrderNo.

PUT api/weborder/{orderNo}/line/{lineId}/returnedpayment

Updates the status of an order line to "ReturnedPayment", given an order number and a line id. If a line has a status of "ReturnedPayment", it cannot change further.

PUT api/weborder/{orderNo}/line/{lineId}/skipped

Updates the status of an order line to "Skipped", given an order number and a line id. If a line has a status of "Skipped", it cannot change further.

GET api/weborder/fetch/status/{status}

DEPRECATED - Provides a list of web orders, given a status code. Use "status/{status}"

GET api/weborder/fetch/status/{status}/webshop

DEPRECATED - Provides a list of web orders linked to the webshop, for which the used token is bound, given status code. Use "status/{status}/webshop"

GET api/weborder/fetch/status/{status}/shop/{shopId}

DEPRECATED - Provides a list of web orders for a shop, given a shop id and a status code. Use "status/{status}/shop/{shopId:int}"

GET api/weborder/fetch/status/{status}/since?dateTime={dateTime}

DEPRECATED - Provides a list of web orders, given status code and DateTime. Use "get/status/{status}/since"

GET api/weborder/fetch/status/{status}/since/webshop?dateTime={dateTime}

DEPRECATED - Provides a list of web orders linked to the webshop, for which the used token is bound, given status code and a DateTime. Use "status/{status}/since/webshop"

GET api/weborder/fetch/status/{status}/since/shop/{shopId}?dateTime={dateTime}

DEPRECATED - Provides a list of web orders for a shop, given a shop id, a status code and a DateTime. Use "status/{status}/since/shop/{shopId:int}"

GET api/weborder/status/{status}

Provides a list of web orders, given a status code.

GET api/weborder/status/{status}/webshop

Provides a list of web orders linked to the webshop, for which the used token is bound, given status code.

GET api/weborder/status/{status}/shop/{shopId}

Provides a list of web orders for a shop, given a shop id and a status code.

GET api/weborder/status/{status}/since?dateTime={dateTime}

Provides a list of web orders, given status code and DateTime.

GET api/weborder/status/{status}/since/webshop?dateTime={dateTime}

Provides a list of web orders linked to the webshop, for which the used token is bound, given status code and a DateTime.

GET api/weborder/status/{status}/since/shop/{shopId}?dateTime={dateTime}

Provides a list of web orders for a shop, given a shop id, a status code and a DateTime.

GET api/weborder/transactions?orderNo={orderNo}

Provides a list of sales transactions, given a web order number.

WebShop

Web shop API route options. These routes uses the "ddd_webshop_token".

API route optionsDescription
GET api/webshop/test/token

Method for testing if access is granted and connection can be made. Remember token in header. "Authorization ddd_webshop_token [token]".

GET api/webshop/shops

Provides a list of the participating shops in the webshop.

GET api/webshop/transactionNumbers

Provides the latest transaction numbers, for all participating shops in the webshop.

GET api/webshop/article/stock/page/{page}/size/{pagesize}/shopid/{shopId}/transactionNumber/{transactionNumber}

Provides web shop stock for one shop, given page, page size, shop id and transaction number, as PAGED. NOTE: Stock is on items that have changed, since transaction number.

GET api/webshop/article/page/{page}/size/{pagesize}

Provides web shop styles with variants for all shops, for the given page and page size, as PAGED. NOTE: Use the 'api/webshop/article/{page:int}/{pagesize:int}' endpoint instead

GET api/webshop/article/{page}/{pagesize}

Provides web shop articles, given page and page size, as PAGED.

GET api/webshop/article/modified/since/{page}/{pagesize}?since={since}

Provides web shop articles modified since, given timestamp, page and page size, as PAGED.

GET api/webshop/article/page/{page}/size/{pagesize}/fixed

Provides web shop styles with variants for all shops, according to parameter config, for the given page and page size, as PAGED.

GET api/webshop/article/stock/variant/{variantId}

Provides a list of web shop stock for all shops, given a variant id.

GET api/webshop/article/stock/{valueOption}/variants?variantIdList[0]={variantIdList[0]}&variantIdList[1]={variantIdList[1]}

Provides a list of VariantIds, each with a list of stock quantity, per ShopId, given a stock value option and a list of variant ids.

GET api/webshop/article/stock/{valueOption}/eans?eanList[0]={eanList[0]}&eanList[1]={eanList[1]}

Provides a list of EANs, each with a list of stock quantity, per ShopId, given a stock value option and a list of Eans.

GET api/webshop/article/stock/variant/{variantId}/shop/{shopId}

Provides a web shop article with stock for one shop, given a variant id and a shop id.

GET api/webshop/article/stock/page/{page}/size/{pagesize}

Provides web shop stock for all shops, for the given page and page size, as PAGED.

GET api/webshop/article/stock/page/{page}/size/{pagesize}/timespan?timespanStart={timespanStart}&timespanEnd={timespanEnd}

Provides web shop stock, of stock movements in a timespan. Maximum timespan is 7 days. I.e. Start: 2017-06-01T00:00:00, End: 2017-06-02T23:59:59 for two full days.

GET api/webshop/article/stock/page/{page}/size/{pagesize}/shopid/{shopId}

Provides web shop stock for one shop, for the given page, page size and shop id, as PAGED.

GET api/webshop/suppliers

Provides list of suppliers.

GET api/webshop/itemgroups

Provides list of itemgroups.

GET api/webshop/parameterconfig

Provides a parameter config model for the group.

GET api/webshop/parameterchoices/fixed

Provides list of parameter choices for the fixed parameter route config.

GET api/webshop/parameternames/fixed

Provides list of parameter names for the fixed parameter route config.

GET api/webshop/parameterconfig/fixed

Provides list of parameter configs for the fixed parameter route config.

POST api/webshop/parameterconfig/fixed

Provides boolean, upon creation of a fixed parameter config, given a fixed parameter config model.

GET api/webshop/parameterconfig/fixed/id/{id}

Provides fixed parameter config, given an id.

PUT api/webshop/parameterconfig/fixed/id/{id}/order/{order}

Provides boolean, upon update of a fixed parameter config ordering, given an id and an order number. Order numbers are positive integers. 1 being first.

DELETE api/webshop/parameterconfig/fixed/id/{id}

Provides boolean, upon deletion of a fixed parameter config, given an id.