Authentifizierung
Ähnlich wie bei der Pull API verwendet die Push API die Basis-Authentifizierung. Die benötigten Informationen bestehen aus dem Benutzernamen und Passwort für Ihre Organisation (unten abgebildetes Anwendungsbeispiel aus Postman).
Endpunkte
Bestellungen
1.1. Konsolidiertes Pushen von Bestellungen
Früher unterstützte die API einzelne Endpunkte zum Pushen von Bestellungen, Kunden und Produkten. Die Verwendung eines einzigen Endpunkts zum Pushen der gesamten Struktur gewährleistet eine bessere Datenkonsistenz und erleichtert es dem Kunden, die vollständige Nutzlast zu übermitteln, anstatt separate Aufrufe für die erforderlichen Entitäten durchzuführen.
Der Zweck des Endpunkts besteht darin, Bestellungen (einschließlich Kunden- und Produktdaten) zu übermitteln, die dann von Kunden im Rückgabeportal basierend auf der im Portal eingerichteten Rückgaberichtlinie weiterverarbeitet werden können.
URL: POST /push-orders-consolidated
Push-Bestellung Test-Umgebung:
https://staging.returnado.com/public-api/v3/push-api/push-orders-consolidated
Push-Bestellung Produktionsumgebung:
https://new-prod.returnado.com/public-api/v3/push-api/push-orders-consolidated
Parameter:
Es gibt keine Query-String- oder URL-Parameter, jedoch erfordert die Methode, dass der Aufrufer ein Array von PushOrderConsolidated-Modellen im Body der Anfrage sendet.
Die möglichen Eigenschaften des Eingabe-JSON sind unten detailliert, aufgeteilt nach den Unterobjekten, die sie repräsentieren:
Beispielaufruf:
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"
}
}
}
]
Für eine aktuelle Liste der Felder und API-Informationen siehe bitte unsere technische Dokumentation hier.
Bestellobjekt:
| Eigenschaft | Typ | Erforderlich | Zusätzliche Informationen |
| orderId | string | Ja | |
| alternativeOrderIds | string[] | Nein | |
| marketCode | string | Ja | Wird verwendet, um den gewünschten Markt für die gegebene Bestellung anzugeben. Die Returns-Plattform unterstützt mehrere Märkte (z. B. bei unterschiedlichen Währungen) |
| currency | string | Nein | |
| customer | Kunde | Ja | Modell unten beschrieben |
| createdAt | DateTime (ISO-Format) | Nein | Wird automatisch mit aktuellem Datum und Uhrzeit gefüllt, wenn nicht übermittelt |
| updatedAt | DateTime (ISO-Format) | Nein | Wird automatisch mit aktuellem Datum und Uhrzeit gefüllt, wenn nicht übermittelt |
| netTotal | Dezimal | Nein | Nettokosten der Bestellung |
| taxTotal | Dezimal | Nein | Steuerbetrag der Bestellung |
| grossTotal | Dezimal | Nein | Betrag der Bestellung inklusive Steuern |
| items | OrderItem[] | Ja | Modell unten detailliert |
| shipmentDate | DateTime (ISO-Format) | Nein | Versanddatum |
| shippingCostTotal | Dezimal | Nein | Wird verwendet, wenn Versandkosten erstattet werden |
| shippingAddress | Adresse | Nein | Modell unten detailliert |
| invoiceExternalId | string | Nein | Externe ID der Rechnung, falls eine spezielle ID zusammen mit der Bestellung registriert werden muss |
| isHidden | boolean | Nein | Standardmäßig false |
| isNonReturnable | boolean | Nein | Standardmäßig false (wenn true, sind alle Bestellpositionen nicht rückgabefähig) |
| isPending | boolean | Nein | Wird verwendet, um die Bestellung in einen ausstehenden Zustand zu versetzen, d.h. sie ist noch nicht vollständig verarbeitet und daher für Rückgaben nicht verfügbar, bis dieser Wert auf false gesetzt wird. |
| isCancelled | boolean | Nein | Flag, um anzuzeigen, dass die Bestellung storniert wurde und keine Rückgabe erlaubt ist. |
Bestellpositionsobjekt:
| Eigenschaft | Typ | Erforderlich | Zusätzliche Informationen |
| orderItemId | string | Nein | Bezeichner der Bestellposition im externen E-Commerce-System |
| nonReturnable | boolean | Nein |
→ Wenn auf Bestellebene nonReturnable auf true gesetzt ist, wird dies auf alle Bestellpositionen übertragen → Die Eigenschaft auf Bestellpositions-Ebene kann verwendet werden, um nur bestimmte Artikel aus der Bestellung als nicht rückgabefähig zu kennzeichnen |
| netAmount | Dezimal | Nein | Nettokosten der Bestellposition |
| taxAmount | Dezimal | Nein | Steuerbetrag der Bestellposition |
| grossAmount | Dezimal | Nein | Betrag der Bestellposition inklusive Steuern |
| statusOfDelivery | string/enum | Ja | Mögliche Werte sind: “DELIVERED”, “PENDING”. Der hier angegebene Wert bestimmt, ob der Artikel zurückgegeben werden kann. Nur Artikel, die bereits “DELIVERED” sind, können zurückgegeben werden. |
| quantity | int | Nein | Wird automatisch auf 1 gesetzt, wenn nichts angegeben ist; muss ein Wert >1 und <99 sein |
| hsCode | string | Nein | |
| countryOfOrigin | string | Nein | |
| customsDescription | string | Nein | Beschreibung, die für die Zollanmeldung verwendet wird |
| ean | string | Nein | |
| productVariant | Produktvariante | Ja | Modell unten detailliert |
Produktvariantenobjekt:
| Eigenschaft | Typ | Erforderlich | Zusätzliche Informationen |
| thumbnailImage | string | Nein | URL zu einem Bild, das als Miniaturansicht für die jeweilige Produktvariante angezeigt werden soll |
| images | string[] | Nein | Array von Bildern, die charakteristisch für die Produktvariante sind |
| name | string | Nein | Menschenlesbarer Name der Produktvariante |
| sku | string | Nein | Bezeichner der spezifischen Produktvariante im externen E-Commerce-System |
| attributes | Dictionary<string, string> | Nein | Wörterbuch mit Schlüssel-Wert-Paaren, mit einem „name“ und einem „value“, die Attribute der Produktvariante beschreiben |
| ean | string | Nein | |
| harmCode | string | Nein | |
| countryOfOrigin | string | Nein | |
| weightValue | double | Nein | Gewichtswert der Produktvariante |
| weightUnits | string | Nein | Maßeinheit des Gewichts (z. B. kg) |
| customsArticleDescription | string | Nein | Beschreibung des Produkts, die bei grenzüberschreitenden Sendungen und für Zollinformationen an die Versanddienstleister übermittelt wird. |
| variantId | string | Nein | Variant-ID im externen E-Commerce-System |
| productId | string | Nein | |
| productName | string | Ja | Name der Produktvariante |
| productSku | string | Nein | SKU des Produkts |
| productDescription | string | Nein |
Kundenobjekt:
| Eigenschaft | Typ | Erforderlich | Zusätzliche Informationen |
| customerId | string | Ja | Bezeichner des Kunden im externen E-Commerce-System |
| firstName | string | Nein | |
| lastName | string | Nein | |
| string | Nein | ||
| phoneNumber | string | Nein | |
| locale | string | Nein | |
| deliveryAddress | Adresse | Nein | Modell unten detailliert |
| createdAt | DateTime (ISO-Format) | Nein | Wird automatisch mit aktuellem Datum und Uhrzeit gefüllt, wenn nicht übermittelt |
| updatedAt | DateTime (ISO-Format) | Nein | Wird automatisch mit aktuellem Datum und Uhrzeit gefüllt, wenn nicht übermittelt |
Adressobjekt:
| Eigenschaft | Typ | Erforderlich | Zusätzliche Informationen |
| name | string | Nein | |
| streetAddress | string | Ja | |
| city | string | Nein | |
| state | string | Nein | |
| country | string | Nein | Wird von countryAlpha2 auf Bestellebene übernommen, falls auf Adressebene leer |
| postalCode | string | Nein |