Die Authentifizierung erfolgt wie bei allen Public-Api-Anfragen.
Lagerartikel-Updates können vom WMS an nShift Return gesendet werden. Falls es unbehandelte Rücksendungen in nShift Return gibt, können diese über die /wms-update POST-Anfrage aktualisiert werden.
Endpunkt
URL: POST/public-api/v3/wms-update
Der Endpunkt bietet derzeit die Möglichkeit, Rücksendungen automatisch für Rücksendeaufträge zu verarbeiten, die in unserem System erstellt wurden und sich im Status „Nicht verarbeitet“ befinden.
| Parameter | Typ | Erforderlich | Kommentare |
| forwardOrderId | String | Ja | Eine unveränderliche ID der ursprünglichen Weiterleitungsbestellung, die an den Verbraucher gesendet wurde. |
| returnId | String | Ja | Identifiziert den Rücksendeauftrag, zu dem dieser Artikel gehört. |
| updatedAt | Datum | Ja | Zeitstempel, wann der Datensatz zuletzt aktualisiert wurde. |
| alternativeOrderIds | Array | Nein | Ein Array alternativer Bestell-IDs, unter denen diese Weiterleitungsbestellung möglicherweise identifiziert wird. |
| marketCode | String | Nein | Ein vorkonfigurierter Marktbezeichner, definiert vom Händler. |
| currency | String | Nein | |
| itemCount | Integer | Ja | Die Anzahl der Artikel in dieser Rücksendung. |
| items | Array | Ja | Ein Array von Rücksendeartikeln, die in dieses Update einbezogen sind. Details zum Format siehe unten. |
| forwardOrderItemId | String | Ja | Artikel-ID innerhalb der ursprünglichen Bestellung. |
| returnItemId | String | Nein | Falls verfügbar, identifiziert dieser Wert den Rücksendeartikel in anderen Händler-Systemen. |
| sku | String | Ja | Produktvariantensku |
| productId | String | Nein | Unveränderliche ID des Produkts. Wird für Abgleiche verwendet. |
| productVariantId | String | Nein | Unveränderliche ID der Produktvariante. Wird für Abgleiche verwendet. |
| isPresent | Boolean | Nein | Wird nur verwendet, wenn das WMS erkennen kann, dass ein bestimmter Artikel in der Rücksendung erwartet wurde, aber tatsächlich nicht vorhanden war. |
| isAccepted | Boolean | Ja | Gibt an, ob ein bestimmter Artikel für die Rückgabe akzeptiert werden kann und erstattet werden soll. |
| returnReasonCode | String | Nein | Vom Händler bereitgestellter String-Code, der den Rückgabegrund beschreibt (z. B. falls ein ausgefülltes Rücksendeformular im Paket enthalten ist). |
| returnConditionCode | String | Nein | Vom Händler bereitgestellter String-Code, der den Zustand des Artikels bei Empfang beschreibt. |
| netAmount | Double | Ja | Der zu erstattende Betrag ohne indirekte Steuern (z. B. MwSt. oder Verkaufssteuer). |
| taxAmount | Double | Ja | Der Betrag der für diesen Artikel erstatteten indirekten Steuern. |
| grossAmount | Double | Ja | Der zu erstattende Betrag einschließlich indirekter Steuern (z. B. MwSt. oder Verkaufssteuer). |
Beispielanfrage:
Post https://staging.returnado.com/public-api/v3/wms-update
{
"returns": [
{
"marketCode": "JPN",
"forwardOrderId": "20230221435",
"updatedAt": "2023-02-20T12:34:56Z",
"altForwardOrderIds": [
{
"type": "magentoId",
"value": "10000254585"
},
{
"type": "receiptReference",
"value": "2255682775117751"
}
],
"returnId": "20230221435",
"currency": "SEK",
"itemCount": 1,
"items": [
{
"forwardOrderItemId": "1",
"returnItemId": "2023",
"productId": "2023",
"productVariantId": "hera",
"sku": "hera",
"quantity": 1,
"isPresent": true,
"isAccepted": true,
"returnReasonCode": "BAD_FIT",
"returnConditionCode": "NOT_USED",
"netAmount": 39.00,
"taxAmount": 0.00,
"grossAmount": 39.00
},
{
"forwardOrderItemId": "1",
"returnItemId": "2024",
"productId": "2024",
"productVariantId": "heras",
"sku": "heras",
"quantity": 1,
"isPresent": true,
"isAccepted": true,
"returnReasonCode": "BAD_FIT",
"returnConditionCode": "NOT_USED",
"netAmount": 39.00,
"taxAmount": 0.00,
"grossAmount": 39.00
}
]
}
]
}
HTTP 200, wenn die Anfrage erfolgreich abgeschlossen wurde.
Fehlercodes, wo zutreffend.
Zum Beispiel bei fehlerhafter Eingabe:
{
"code": 400,
"error": "Bad Request",
"message": "Something went wrong",
"timestamp": "2023-02-22T07:50:24Z"
}
Derzeit funktioniert nur der Ablauf, einen Rücksendeauftrag auf „Verarbeitet“ zu aktualisieren, falls die Rücksendung bereits in unserem System erstellt wurde, aber noch nicht verarbeitet/genehmigt ist. Die Rücksendung muss die exakte Anzahl von Artikeln enthalten, wie in der empfangenen Anfrage angegeben.