Download OpenAPI specification:Download
Het koppelvlak dat het ERP van een grossier aanbiedt en dat het Grossier.nu-platform aanroept.
Dit is de technische beschrijving bij spec.md. Het ERP is de server; het platform is de
enige client. Alle paden staan onder /v1.
Conventies
application/problem+json (schema Problem).limit + cursor in de aanvraag, nextCursor + asOf in het antwoord.X-Request-Id: door het platform meegestuurd, door het ERP overgenomen in antwoord en logging.Drie lagen (zie spec.md hoofdstuk 3): minimum (artikelinfo live en idempotent bestellen;
zonder dit koppelt het platform niet), full (het volledige koppelvlak, aanbevolen) en de
uitbreidingen (modules, met hun capability-naam). Per operatie staat onder x-module tot welke
laag of module hij hoort en onder x-platform-function welke functie van het platform erop steunt.
Alles boven het minimum meldt het ERP in GET /capabilities; het platform past zich daarop aan.
Idempotentie: platformReference is de sleutel; bestaat die al, dan komt het bestaande object terug
(200), ongeacht de inhoud van de nieuwe aanvraag. Het ERP legt vast vóór het antwoordt.
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "apiVersion": "0.2.0",
- "implementationVersion": "string",
- "erpName": "string",
- "environment": "test",
- "masterData": {
- "prices": "erp",
- "customers": "erp",
- "articles": "erp",
- "logins": "erp"
}, - "features": {
- "branches": true,
- "articlesBulk": true,
- "stockBulk": true,
- "customers.read": true,
- "orders.history": true,
- "invoices": true,
- "returns": true,
- "delivery": true,
- "invoiceDocuments": true
}, - "modules": {
- "pricing": true,
- "customers.authenticate": true,
- "customers.lookupByDebtorNumber": true,
- "customers.create": true,
- "articles.manage": true,
- "purchaseOrders": true,
- "deposit": true,
- "deliverySchedule": true,
- "exports": true,
- "webhooks": true,
- "testing": true
}, - "limits": {
- "lookupMaxKeys": 500,
- "orderMaxLines": 200,
- "requestsPerMinute": 0
}
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "items": [
- {
- "branchCode": "string",
- "name": "string",
- "isDefault": true,
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}
}
]
}Tot 500 sleutels per aanroep. Het ERP matcht exact: op erpArticleId, anders op ean,
anders op articleNumber + brand, anders op articleNumber alleen als dat binnen het
ERP uniek is. Nooit op een deel van het nummer.
Elke sleutel komt precies één keer terug, herkenbaar aan requestId. Onbekend = known: false.
Met module pricing en een meegegeven erpCustomerId bevat elk bekend artikel het blok price.
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| erpCustomerId | string Alleen met module |
required | Array of objects [ 1 .. 500 ] items |
{- "erpCustomerId": "string",
- "keys": [
- {
- "erpArticleId": "string",
- "ean": "string",
- "articleNumber": "string",
- "brand": "string",
- "brands": [
- "string"
], - "requestId": "string",
- "quantity": 1
}
]
}{- "asOf": "2019-08-24T14:15:22Z",
- "warnings": [
- {
- "code": "unknown_customer",
- "message": "string"
}
], - "items": [
- {
- "requestId": "string",
- "known": true,
- "matchedOn": "erpArticleId",
- "reason": "not_found",
- "candidates": [
- {
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string"
}
], - "article": {
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "orderUnit": 1,
- "active": true,
- "replacedBy": "string",
- "category": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "stock": [
- {
- "branchCode": "string",
- "quantityFree": 0,
- "quantityOnHand": 0,
- "expectedAt": "2019-08-24T14:15:22Z"
}
], - "price": {
- "gross": 0,
- "net": 0,
- "vatRate": 21,
- "validUntil": "2019-08-24T14:15:22Z",
- "tiers": [
- {
- "fromQuantity": 1,
- "net": 0
}
], - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
]
}
}
]
}Zonder updatedSince de volledige stam, gepagineerd. Met updatedSince alleen rijen die
sindsdien gewijzigd zijn, inclusief inactief gemaakte artikelen (active: false).
Stabiele sortering op (updatedAt, erpArticleId).
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| cursor | string Ondoorzichtige cursor uit |
| limit | integer [ 1 .. 1000 ] Default: 500 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "orderUnit": 1,
- "active": true,
- "replacedBy": "string",
- "category": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Sleutel is de artikelsleutel (erpArticleId als bekend, anders EAN of artikelnummer + merk).
Bestaat het artikel, dan worden de meegegeven velden bijgewerkt (200); anders aangelegd (201).
Idempotent: nogmaals sturen geeft hetzelfde artikel.
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| erpArticleId | string Als bekend; anders zoekt het ERP op EAN of artikelnummer + merk. |
| articleNumber required | string <= 50 characters |
| brand required | string <= 80 characters |
| ean | string or null^[0-9]{8,14}$ |
| description required | string <= 200 characters |
| orderUnit | integer >= 1 Default: 1 |
| category | string |
| vatRate | number |
| salesPriceGross | number Bruto adviesprijs, als het platform die kent. |
| imageUrl | string <uri> |
Array of objects Leveranciers met inkoopprijs; code uit |
{- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "orderUnit": 1,
- "category": "string",
- "vatRate": 0,
- "salesPriceGross": 0,
- "suppliers": [
- {
- "supplierCode": "string",
- "supplierName": "string",
- "supplierArticleNumber": "string",
- "purchasePrice": 0,
- "isPreferred": true
}
]
}{- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "orderUnit": 1,
- "active": true,
- "replacedBy": "string",
- "category": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| erpArticleId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "orderUnit": 1,
- "active": true,
- "replacedBy": "string",
- "category": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}Eén rij per artikel per vestiging. quantityFree = fysiek aanwezig min gereserveerd. Een artikel
dat op een vestiging op nul staat komt met quantityFree: 0 terug zodat de kopie wordt bijgewerkt.
Stabiele sortering op (updatedAt, erpArticleId, branchCode).
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| cursor | string Ondoorzichtige cursor uit |
| branchCode | string |
| limit | integer [ 1 .. 5000 ] Default: 2000 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "branchCode": "string",
- "quantityFree": 0,
- "quantityOnHand": 0,
- "expectedAt": "2019-08-24T14:15:22Z",
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Precies één van debtorNumber, platformReference, email of updatedSince. Vergelijking van debtorNumber genormaliseerd (letters en cijfers, hoofdletterongevoelig).
| debtorNumber | string |
| platformReference | string |
string <email> | |
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| cursor | string Ondoorzichtige cursor uit |
| limit | integer [ 1 .. 500 ] Default: 100 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "erpCustomerId": "string",
- "debtorNumber": "string",
- "platformReference": "string",
- "name": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "deliveryAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "email": "user@example.com",
- "phone": "string",
- "branchCode": "string",
- "routeCode": "string",
- "isBlocked": true,
- "blockReason": "string",
- "paymentTerms": "account",
- "creditLimit": 0,
- "openBalance": 0,
- "iban": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| platformReference required | string <= 64 characters Idempotentiesleutel. |
| name required | string |
required | object (Address) |
object (Address) | |
| email required | string <email> |
| phone | string |
| vatNumber | string |
| chamberOfCommerceNumber | string |
| branchCode | string |
{- "platformReference": "string",
- "name": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "deliveryAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "email": "user@example.com",
- "phone": "string",
- "vatNumber": "string",
- "chamberOfCommerceNumber": "string",
- "branchCode": "string"
}{- "erpCustomerId": "string",
- "debtorNumber": "string",
- "platformReference": "string",
- "name": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "deliveryAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "email": "user@example.com",
- "phone": "string",
- "branchCode": "string",
- "routeCode": "string",
- "isBlocked": true,
- "blockReason": "string",
- "paymentTerms": "account",
- "creditLimit": 0,
- "openBalance": 0,
- "iban": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}Het platform roept dit alleen aan bij het inloggen. Daarna werkt het op erpCustomerId.
Een mislukte inlog is 401 met code: invalid_credentials, geen 200 met een vlag.
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| login required | string |
| password required | string <password> |
{- "login": "string",
- "password": "pa$$word"
}{- "erpCustomerId": "string",
- "debtorNumber": "string",
- "platformReference": "string",
- "name": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "deliveryAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "email": "user@example.com",
- "phone": "string",
- "branchCode": "string",
- "routeCode": "string",
- "isBlocked": true,
- "blockReason": "string",
- "paymentTerms": "account",
- "creditLimit": 0,
- "openBalance": 0,
- "iban": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}| erpCustomerId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "erpCustomerId": "string",
- "debtorNumber": "string",
- "platformReference": "string",
- "name": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "deliveryAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "string",
- "city": "string",
- "countryCode": "st"
}, - "email": "user@example.com",
- "phone": "string",
- "branchCode": "string",
- "routeCode": "string",
- "isBlocked": true,
- "blockReason": "string",
- "paymentTerms": "account",
- "creditLimit": 0,
- "openBalance": 0,
- "iban": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}platformReference is de idempotentiesleutel.
Een onbekend artikel wijst de order niet af: de regel krijgt status: manual. Met module
articles.manage legt het platform het artikel vóór de order aan.
Het ERP boekt unitPriceNet zoals meegegeven. Met module pricing mag het corrigeren en meldt
het dat met priceCorrected en requestedUnitPriceNet; bij payment.method: online corrigeert
het niet. Eigen voorraad wordt gereserveerd op source.branchCode, anders delivery.branchCode,
anders de vestiging van de klant.
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| platformReference required | string <= 64 characters Idempotentiesleutel; uniek per bestelling. |
| erpCustomerId required | string |
| customerReference | string <= 100 characters Referentie van de garage of het garagepakket, bijv. een werkordernummer. |
| remark | string <= 2000 characters |
| source | string Enum: "webshop" "integrator" "platform" Waar de bestelling vandaan komt. |
| orderedAt | string <date-time> |
required | object (Delivery) |
required | object (Payment) |
required | Array of objects (OrderLineCreate) [ 1 .. 200 ] items |
{- "platformReference": "string",
- "erpCustomerId": "string",
- "customerReference": "string",
- "remark": "string",
- "source": "webshop",
- "orderedAt": "2019-08-24T14:15:22Z",
- "delivery": {
- "method": "route",
- "methodCode": "string",
- "promisedAt": "2019-08-24T14:15:22Z",
- "promisedUntil": "2019-08-24T14:15:22Z",
- "routeCode": "string",
- "branchCode": "string",
- "instruction": "string"
}, - "payment": {
- "method": "account",
- "providerReference": "string",
- "amountPaid": 0
}, - "lines": [
- {
- "lineNo": 1,
- "platformLineRef": "string",
- "article": {
- "erpArticleId": "string",
- "ean": "string",
- "articleNumber": "string",
- "brand": "string",
- "brands": [
- "string"
]
}, - "description": "string",
- "quantity": 1,
- "unitPriceNet": 0,
- "unitPriceGross": 0,
- "vatRate": 0,
- "recognized": true,
- "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "source": {
- "kind": "ownStock",
- "branchCode": "string",
- "supplierCode": "string",
- "supplierName": "string",
- "expectedAtWholesaler": "2019-08-24T14:15:22Z"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "remark": "string"
}
]
}{- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "customerReference": "string",
- "remark": "string",
- "source": "webshop",
- "orderedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "deliveryStatus": "pending",
- "isCredit": true,
- "delivery": {
- "method": "route",
- "methodCode": "string",
- "promisedAt": "2019-08-24T14:15:22Z",
- "promisedUntil": "2019-08-24T14:15:22Z",
- "routeCode": "string",
- "branchCode": "string",
- "instruction": "string"
}, - "payment": {
- "method": "account",
- "providerReference": "string",
- "amountPaid": 0
}, - "totalNet": 0,
- "totalGross": 0,
- "documents": {
- "invoiceNumber": "string",
}, - "lines": [
- {
- "lineNo": 0,
- "platformLineRef": "string",
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "quantityOrdered": 0,
- "quantityDelivered": 0,
- "quantityBackorder": 0,
- "unitPriceNet": 0,
- "unitPriceGross": 0,
- "vatRate": 0,
- "status": "accepted",
- "reason": "string",
- "priceCorrected": true,
- "requestedUnitPriceNet": 0,
- "recognized": true,
- "remark": "string",
- "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "source": {
- "kind": "ownStock",
- "branchCode": "string",
- "supplierCode": "string",
- "supplierName": "string",
- "expectedAtWholesaler": "2019-08-24T14:15:22Z"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "expectedAt": "2019-08-24T14:15:22Z"
}
]
}Twee gebruikswijzen. Delta (updatedSince): over alle klanten, of met erpCustomerId per
klant; sortering oplopend op (updatedAt, erpOrderId), sort wordt genegeerd. Zoeken
(zonder updatedSince): erpCustomerId verplicht, tenzij op platformReference wordt gezocht;
sort naar keuze en totalCount in het antwoord. De zoekfilters werken ook op regelniveau
(articleNumber, vehicleRegistration, text). Retouren die via het platform zijn aangemeld
staan nooit in deze lijst (zie /returns).
| erpCustomerId | string Verplicht bij zoeken; optioneel bij een delta of bij platformReference. |
| platformReference | string |
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| sort | string Enum: "orderedAt:asc" "orderedAt:desc" "updatedAt:asc" "updatedAt:desc" Alleen bij zoeken. Standaard |
| orderNumber | string Deel van het ordernummer. |
| articleNumber | string Artikelnummer op een regel; vergelijking ongevoelig voor hoofdletters, spaties en leestekens. |
| vehicleRegistration | string Kenteken of VIN op een regel, zonder leestekens. |
| text | string Vrije tekst in omschrijving of referentie. |
| deliveryStatus | Array of strings (DeliveryStatus) Items Enum: "pending" "partial" "full" "cancelled" Eén of meer waarden, kommagescheiden. |
| cursor | string Ondoorzichtige cursor uit |
| limit | integer [ 1 .. 500 ] Default: 100 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "customerReference": "string",
- "remark": "string",
- "source": "webshop",
- "orderedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "deliveryStatus": "pending",
- "isCredit": true,
- "delivery": {
- "method": "route",
- "methodCode": "string",
- "promisedAt": "2019-08-24T14:15:22Z",
- "promisedUntil": "2019-08-24T14:15:22Z",
- "routeCode": "string",
- "branchCode": "string",
- "instruction": "string"
}, - "payment": {
- "method": "account",
- "providerReference": "string",
- "amountPaid": 0
}, - "totalNet": 0,
- "totalGross": 0,
- "documents": {
- "invoiceNumber": "string",
}, - "lines": [
- {
- "lineNo": 0,
- "platformLineRef": "string",
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "quantityOrdered": 0,
- "quantityDelivered": 0,
- "quantityBackorder": 0,
- "unitPriceNet": 0,
- "unitPriceGross": 0,
- "vatRate": 0,
- "status": "accepted",
- "reason": "string",
- "priceCorrected": true,
- "requestedUnitPriceNet": 0,
- "recognized": true,
- "remark": "string",
- "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "source": {
- "kind": "ownStock",
- "branchCode": "string",
- "supplierCode": "string",
- "supplierName": "string",
- "expectedAtWholesaler": "2019-08-24T14:15:22Z"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "expectedAt": "2019-08-24T14:15:22Z"
}
]
}
]
}| erpOrderId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "customerReference": "string",
- "remark": "string",
- "source": "webshop",
- "orderedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "deliveryStatus": "pending",
- "isCredit": true,
- "delivery": {
- "method": "route",
- "methodCode": "string",
- "promisedAt": "2019-08-24T14:15:22Z",
- "promisedUntil": "2019-08-24T14:15:22Z",
- "routeCode": "string",
- "branchCode": "string",
- "instruction": "string"
}, - "payment": {
- "method": "account",
- "providerReference": "string",
- "amountPaid": 0
}, - "totalNet": 0,
- "totalGross": 0,
- "documents": {
- "invoiceNumber": "string",
}, - "lines": [
- {
- "lineNo": 0,
- "platformLineRef": "string",
- "erpArticleId": "string",
- "articleNumber": "string",
- "brand": "string",
- "ean": "string",
- "description": "string",
- "quantityOrdered": 0,
- "quantityDelivered": 0,
- "quantityBackorder": 0,
- "unitPriceNet": 0,
- "unitPriceGross": 0,
- "vatRate": 0,
- "status": "accepted",
- "reason": "string",
- "priceCorrected": true,
- "requestedUnitPriceNet": 0,
- "recognized": true,
- "remark": "string",
- "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "source": {
- "kind": "ownStock",
- "branchCode": "string",
- "supplierCode": "string",
- "supplierName": "string",
- "expectedAtWholesaler": "2019-08-24T14:15:22Z"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "expectedAt": "2019-08-24T14:15:22Z"
}
]
}Met updatedSince is erpCustomerId optioneel (delta over alle klanten); zonder is hij verplicht.
| erpCustomerId | string Verplicht zonder updatedSince. |
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| unpaidOnly | boolean Default: false |
| cursor | string Ondoorzichtige cursor uit |
| limit | integer [ 1 .. 500 ] Default: 100 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "erpInvoiceId": "string",
- "invoiceNumber": "string",
- "type": "invoice",
- "erpCustomerId": "string",
- "invoiceDate": "2019-08-24",
- "dueDate": "2019-08-24",
- "amountNet": 0,
- "amountGross": 0,
- "amountPaid": 0,
- "paymentStatus": "open",
- "orderNumbers": [
- "string"
], - "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| erpInvoiceId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "title": "string",
- "status": 0,
- "detail": "string",
- "code": "validation_error",
- "requestId": "string",
- "errors": [
- {
- "field": "string",
- "message": "string"
}
]
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| platformReference required | string <= 64 characters |
| erpCustomerId required | string |
| remark | string <= 2000 characters |
| refundIban | string or null |
required | Array of objects (ReturnLineCreate) non-empty |
{- "platformReference": "string",
- "erpCustomerId": "string",
- "remark": "string",
- "refundIban": "string",
- "lines": [
- {
- "lineNo": 1,
- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "orderLineNo": 0,
- "article": {
- "erpArticleId": "string",
- "ean": "string",
- "articleNumber": "string",
- "brand": "string",
- "brands": [
- "string"
]
}, - "quantity": 1,
- "kind": "article",
- "reason": {
- "code": "string",
- "text": "string"
}, - "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "remark": "string"
}
]
}{- "erpReturnId": "string",
- "erpReturnNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "status": "announced",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "creditNoteNumber": "string",
- "refundIban": "string",
- "remark": "string",
- "lines": [
- {
- "lineNo": 0,
- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "orderLineNo": 0,
- "erpArticleId": "string",
- "articleNumber": "string",
- "quantity": 0,
- "kind": "article",
- "status": "announced",
- "reason": {
- "code": "string",
- "text": "string"
}, - "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "creditAmountNet": 0
}
]
}erpCustomerId is verplicht, behalve met updatedSince (delta over alle klanten) of platformReference.
| erpCustomerId | string |
| platformReference | string |
| updatedSince | string <date-time> Alleen rijen gewijzigd op of na dit tijdstip. Gebruik de |
| cursor | string Ondoorzichtige cursor uit |
| limit | integer [ 1 .. 500 ] Default: 100 |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "nextCursor": "string",
- "asOf": "2019-08-24T14:15:22Z",
- "totalCount": 0,
- "items": [
- {
- "erpReturnId": "string",
- "erpReturnNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "status": "announced",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "creditNoteNumber": "string",
- "refundIban": "string",
- "remark": "string",
- "lines": [
- {
- "lineNo": 0,
- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "orderLineNo": 0,
- "erpArticleId": "string",
- "articleNumber": "string",
- "quantity": 0,
- "kind": "article",
- "status": "announced",
- "reason": {
- "code": "string",
- "text": "string"
}, - "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "creditAmountNet": 0
}
]
}
]
}| erpReturnId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "erpReturnId": "string",
- "erpReturnNumber": "string",
- "erpCustomerId": "string",
- "platformReference": "string",
- "status": "announced",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "creditNoteNumber": "string",
- "refundIban": "string",
- "remark": "string",
- "lines": [
- {
- "lineNo": 0,
- "erpOrderId": "string",
- "erpOrderNumber": "string",
- "orderLineNo": 0,
- "erpArticleId": "string",
- "articleNumber": "string",
- "quantity": 0,
- "kind": "article",
- "status": "announced",
- "reason": {
- "code": "string",
- "text": "string"
}, - "vehicle": {
- "registration": "string",
- "vin": "stringstringstrin",
- "catalog": "tecdoc",
- "typeCode": "string",
- "brandCode": "string",
- "description": "string"
}, - "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
], - "creditAmountNet": 0
}
]
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "items": [
- {
- "supplierCode": "string",
- "name": "string",
- "purchaseOrderMode": "confirmed"
}
]
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| platformReference required | string <= 64 characters Idempotentiesleutel, bijv. ' |
| erpOrderId required | string De verkooporder waar deze inkoop bij hoort. |
| supplierCode required | string |
| mode required | string Enum: "confirmed" "draft" |
| expectedAtWholesaler | string or null <date-time> |
required | Array of objects non-empty |
{- "platformReference": "string",
- "erpOrderId": "string",
- "supplierCode": "string",
- "mode": "confirmed",
- "expectedAtWholesaler": "2019-08-24T14:15:22Z",
- "lines": [
- {
- "lineNo": 0,
- "orderLineNo": 0,
- "article": {
- "erpArticleId": "string",
- "ean": "string",
- "articleNumber": "string",
- "brand": "string",
- "brands": [
- "string"
]
}, - "description": "string",
- "quantity": 1,
- "unitPurchasePrice": 0,
- "supplierArticleNumber": "string",
- "surcharges": [
- {
- "kind": "deposit",
- "code": "string",
- "description": "string",
- "amountPerUnit": 0,
- "vatRate": 0
}
]
}
]
}{- "erpPurchaseOrderId": "string",
- "erpPurchaseOrderNumber": "string",
- "erpOrderId": "string",
- "platformReference": "string",
- "supplierCode": "string",
- "status": "draft",
- "lines": [
- {
- "lineNo": 0,
- "erpArticleId": "string",
- "quantity": 0,
- "quantityReceived": 0,
- "unitPurchasePrice": 0
}
]
}| erpOrderId | string De verkooporder waar de inkooporders bij horen. |
| platformReference | string Terugvinden na een verloren antwoord. Eén van beide parameters is verplicht. |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "items": [
- {
- "erpPurchaseOrderId": "string",
- "erpPurchaseOrderNumber": "string",
- "erpOrderId": "string",
- "platformReference": "string",
- "supplierCode": "string",
- "status": "draft",
- "lines": [
- {
- "lineNo": 0,
- "erpArticleId": "string",
- "quantity": 0,
- "quantityReceived": 0,
- "unitPurchasePrice": 0
}
]
}
]
}| erpCustomerId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "erpCustomerId": "string",
- "routeCode": "string",
- "routes": [
- {
- "departureTime": "string",
- "arrivalTime": "string",
- "arrivalUntil": "string",
- "weekdays": [
- 1
], - "cutoffMinutes": 0,
- "branchCode": "string",
- "remark": "string"
}
]
}| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
| dataset required | string Enum: "articles" "stock" |
| updatedSince | string <date-time> Leeg = volledige set. |
| branchCode | string |
{- "dataset": "articles",
- "updatedSince": "2019-08-24T14:15:22Z",
- "branchCode": "string"
}{- "exportId": "string",
- "dataset": "articles",
- "status": "pending",
- "requestedAt": "2019-08-24T14:15:22Z",
- "asOf": "2019-08-24T14:15:22Z",
- "rowCount": 0,
- "expiresAt": "2019-08-24T14:15:22Z",
- "error": "string"
}| exportId required | string |
| X-Request-Id | string <= 64 characters Correlatie-id van het platform; overnemen in antwoord en logging. |
{- "exportId": "string",
- "dataset": "articles",
- "status": "pending",
- "requestedAt": "2019-08-24T14:15:22Z",
- "asOf": "2019-08-24T14:15:22Z",
- "rowCount": 0,
- "expiresAt": "2019-08-24T14:15:22Z",
- "error": "string"
}Het ERP roept de door het platform opgegeven URL aan met een bearer-sleutel die het platform uitgeeft. Het platform antwoordt 200 en haalt daarna zelf de order of factuur op; de melding hoeft geen volledige inhoud te dragen. Bij een niet-200 probeert het ERP later opnieuw.
| eventId required | string |
| type required | string Enum: "order.updated" "invoice.created" "return.updated" "stock.updated" |
| occurredAt required | string <date-time> |
| erpCustomerId | string |
| erpOrderId | string |
| erpInvoiceId | string |
| erpReturnId | string |
{- "eventId": "string",
- "type": "order.updated",
- "occurredAt": "2019-08-24T14:15:22Z",
- "erpCustomerId": "string",
- "erpOrderId": "string",
- "erpInvoiceId": "string",
- "erpReturnId": "string"
}