Authenticatie
Net als bij de Pull API maakt de Push API gebruik van Basic Authentication. De benodigde informatie bestaat uit de gebruikersnaam en het wachtwoord voor uw organisatie (afbeelding hieronder toont het gebruiksscenario vanuit Postman).
Endpoints
Bestellingen
1.1. Push bestellingen geconsolideerd
In het verleden ondersteunde de API afzonderlijke endpoints voor het pushen van bestellingen, klanten en producten. Het hebben van één enkel endpoint voor het pushen van de volledige structuur zorgt voor betere dataconsistentie, en maakt het ook eenvoudiger voor de klant om de volledige payload te pushen in plaats van afzonderlijke oproepen te doen voor de benodigde entiteiten.
Het doel van het endpoint is om bestellingen (inclusief klant- en productgegevens) te pushen die vervolgens verder kunnen worden teruggegeven door klanten in het Retourportaal op basis van het retourbeleid dat in het portaal is ingesteld.
URL: POST /push-orders-consolidated
Push bestelling Test omgeving:
https://staging.returnado.com/public-api/v3/push-api/push-orders-consolidated
Push bestelling Prod omgeving:
https://new-prod.returnado.com/public-api/v3/push-api/push-orders-consolidated
Parameters:
Er zijn geen query string- of URL-parameters, maar de methode vereist dat de aanroeper een array van PushOrderConsolidated modellen in de body van het verzoek meestuurt.
De eigenschappen die mogelijk zijn in de input JSON worden hieronder gedetailleerd, verdeeld per sub-object waarvoor ze representatief zijn:
Voorbeeld oproep:
Request Body:
[
{
"orderId": "mircea-test-2",
"marketCode": "root",
"currency": "SEK",
"customerId": "bc-test-customer-1",
"createdAt": "2023-01-20T18:54:11.627+01:00[UTC]",
"updatedAt": "2023-01-22T18:54:11.627+01:00[UTC]",
"netTotal": 27,
"taxTotal": 5,
"grossTotal": 32.0,
"items": [
{
"orderItemId": "sku-1",
"nonReturnable": false,
"netAmount": 8.5,
"taxAmount": 2.5,
"grossAmount": 11.0,
"statusOfDelivery": "DELIVERED",
"countryOfOrigin": "USA",
"productVariant": {
"thumbnailImage": "http://123.com/image.1.jpg",
"images": [],
"name": "Sofa ordinary in red color",
"sku": "sofa-1-2-3",
"attributes": [
{
"name": "size",
"value": "XL"
},
{
"name": "color",
"value": "red"
}
],
"ean": "1233578",
"harmCode": "09887676",
"countryOfOrigin": "USA",
"weightValue": 24,
"weightUnits": "kg",
"customsArticleDescription": "a huge nice red sofa",
"variantId": "internal-variant-id-1",
"productId": "sofa-1-2-3",
"productName": "Sofa ordinary",
"productSku": "sofa-1-2",
"productDescription": "Sofa ordinary"
}
}
],
"customer": {
"customerId": "bc-test-customer-1",
"firstName": "John",
"lastName": "Doe",
"email": "mircea@test.com",
"phoneNumber": "+1000",
"locale": "en",
"deliveryAddress": {
"name": "John Doe",
"streetAddress": "Street 1 4",
"city": "Big Apple",
"state": "Massa",
"country": "Happyville",
"postalCode": "12345"
}
}
}
]
Voor een actuele lijst van velden en API-informatie, zie onze technische documentatie hier.
Bestelobject:
| Eigenschap | Type | Verplicht | Aanvullende info |
| orderId | string | Ja | |
| alternativeOrderIds | string[] | Nee | |
| marketCode | string | Ja | Wordt gebruikt om de gewenste markt voor de betreffende bestelling aan te geven. Het Retourplatform ondersteunt meerdere markten (bijvoorbeeld met verschillende valuta). |
| currency | string | Nee | |
| customer | Klant | Ja | Model hieronder beschreven |
| createdAt | DateTime (ISO-formaat) | Nee | Wordt automatisch gevuld met de huidige datum en tijd als niet meegegeven |
| updatedAt | DateTime (ISO-formaat) | Nee | Wordt automatisch gevuld met de huidige datum en tijd als niet meegegeven |
| netTotal | decimaal | Nee | Netto kosten van de bestelling |
| taxTotal | decimaal | Nee | Belastingbedrag van de bestelling |
| grossTotal | decimaal | Nee | Bedrag van de bestelling inclusief belastingen |
| items | OrderItem[] | Ja | Model hieronder gedetailleerd |
| shipmentDate | DateTime (ISO-formaat) | Nee | Datum van verzending |
| shippingCostTotal | decimaal | Nee | Wordt gebruikt bij het terugbetalen van verzendkosten |
| shippingAddress | Adres | Nee | Model hieronder gedetailleerd |
| invoiceExternalId | string | Nee | Externe id van de factuur voor het geval u een speciale id wilt registreren samen met de bestelling |
| isHidden | boolean | Nee | Standaard false |
| isNonReturnable | boolean | Nee | Standaard false (als true, maakt alle bestelitems niet retourneerbaar) |
| isPending | boolean | Nee | Wordt gebruikt om de bestelling in een wachtstatus te zetten, wat betekent dat deze nog niet volledig is verwerkt en dus niet kan worden geretourneerd totdat dit op false wordt gezet. |
| isCancelled | boolean | Nee | Vlag om aan te geven dat de bestelling is geannuleerd en geen retour meer toestaat. |
Order Item object:
| Eigenschap | Type | Verplicht | Aanvullende info |
| orderItemId | string | Nee | Identificatie van het bestelitem in het externe e-commerce systeem |
| nonReturnable | boolean | Nee |
→ als op bestelniveau nonReturnable op true staat, wordt dit doorgegeven aan alle OrderItems → de eigenschap op OrderItem-niveau kan worden gebruikt om alleen specifieke items van de bestelling als nonReturnable te markeren |
| netAmount | decimaal | Nee | Netto kosten van het bestelitem |
| taxAmount | decimaal | Nee | Belastingbedrag van het bestelitem |
| grossAmount | decimaal | Nee | Bedrag van het bestelitem inclusief belastingen |
| statusOfDelivery | string/enum | Ja | Mogelijke waarden zijn: “DELIVERED”, “PENDING”. De hier ingevoerde waarde bepaalt of het item kan worden geretourneerd; alleen items die al “DELIVERED” zijn, kunnen worden geretourneerd. |
| quantity | int | Nee | Wordt automatisch op 1 gezet als niets is opgegeven, moet een waarde zijn >1 en <99 |
| hsCode | string | Nee | |
| countryOfOrigin | string | Nee | |
| customsDescription | string | Nee | Beschrijving te gebruiken voor douaneaangifte |
| ean | string | Nee | |
| productVariant | ProductVariant | Ja | Model hieronder gedetailleerd |
ProductVariant object:
| Eigenschap | Type | Verplicht | Aanvullende info |
| thumbnailImage | string | Nee | URL naar afbeelding die als miniatuur moet worden weergegeven voor de betreffende productvariant |
| images | string[] | Nee | Array van afbeeldingen die kenmerkend zijn voor de productvariant |
| name | string | Nee | Menselijk leesbare naam van de productvariant |
| sku | string | Nee | Identificatie van de specifieke productvariant in het externe e-commerce systeem |
| attributes | Dictionary<string, string> | Nee | Woordenboek met sleutel-waardeparen, met een “name” en een “value”, met attributen die de productvariant beschrijven |
| ean | string | Nee | |
| harmCode | string | Nee | |
| countryOfOrigin | string | Nee | |
| weightValue | double | Nee | Gewichtwaarde van de productvariant |
| weightUnits | string | Nee | Meeteenheid van het gewicht (zoals kg) |
| customsArticleDescription | string | Nee | Beschrijving van het gegeven product die wordt meegestuurd bij boeking met vervoerders wanneer het grensoverschrijdend is en douane-informatie nodig is. |
| variantId | string | Nee | Variant Id in het externe e-commerce systeem |
| productId | string | Nee | |
| productName | string | Ja | Naam van de productvariant |
| productSku | string | Nee | SKU van het product |
| productDescription | string | Nee |
Klantobject:
| Eigenschap | Type | Verplicht | Aanvullende info |
| customerId | string | Ja | Identificatie van klant in het externe e-commerce systeem |
| firstName | string | Nee | |
| lastName | string | Nee | |
| string | Nee | ||
| phoneNumber | string | Nee | |
| locale | string | Nee | |
| deliveryAddress | Adres | Nee | Model hieronder gedetailleerd |
| createdAt | DateTime (ISO-formaat) | Nee | Wordt automatisch gevuld met de huidige datum en tijd als niet meegegeven |
| updatedAt | DateTime (ISO-formaat) | Nee | Wordt automatisch gevuld met de huidige datum en tijd als niet meegegeven |
Adresobject:
| Eigenschap | Type | Verplicht | Aanvullende info |
| name | string | Nee | |
| streetAddress | string | Ja | |
| city | string | Nee | |
| state | string | Nee | |
| country | string | Nee | Wordt ingevuld vanuit countryAlpha2 op bestelniveau als leeg op Adresniveau |
| postalCode | string | Nee |