Abschnitte in diesem Artikel:
Authentifizierung der öffentlichen API
Die öffentliche Returns API verwendet Basic Authentication. Alle Methoden der API verwenden dieselben Authentifizierungsinformationen, den Benutzernamen und das Passwort Ihrer Organisation (untenstehendes Bild zeigt das Anwendungsbeispiel aus Postman).
Endpunkte
Liste der Rücksendeaufträge abrufen
URL: GET /return-orders
Der Endpunkt gibt eine Liste von Rücksendeaufträgen basierend auf den in der Abfragezeichenfolge übergebenen Parametern zurück.
Parameter:
| Parameter | Typ | Erforderlich |
| updatedAfter | DateTime (ISO-Format) | Nein |
| updatedBefore | DateTime (ISO-Format) | Nein |
| createdAfter | DateTime (ISO-Format) | Nein |
| createdBefore | DateTime (ISO-Format) | Nein |
Beispielaufruf:
GET https://staging.returnado.com/public-api/v3/return-orders?updatedAfter=2022-12-20T01:30:00.
000-05:00&updatedBefore=2022-12-31T01:30:00.000-05:00&createdAfter=2022-12-20T01:30:00.000-05:0
0&createdBefore=2022-12-31T01:30:00.000-05:00
Bringt alle Rücksendeaufträge, die nach dem 20.12.2022 und vor dem 31.12.2022 aktualisiert wurden und nach dem 20.12.2020 und vor dem 31.12.2022 erstellt wurden.
Antwort
ResponseWrapper:
| Feld | Typ | Beschreibung |
| records | ReturnOrder[] | Gefundene Datensätze der Suche |
| totalRecords | integer | Anzahl gefundener Datensätze |
{
"records": [
{
"returnOrderId": 56373,
"returnOrderExtId": "{}",
"orderId": "249-307",
"createdAt": "2022-12-20T18:02:31Z",
"updatedAt": "2022-12-20T18:02:32Z",
"marketCode": "27001",
"customerId": "john_doe@nshift.com",
"status": "pre_approval",
"currency": "GBP",
"netOriginalTotal": 1198.8,
"taxOriginalTotal": 0,
"grossOriginalTotal": 1198.8,
"netRefundItemsTotal": 999,
"taxRefundItemsTotal": 0,
"grossRefundItemsTotal": 999,
"netShippingFeeRefund": 0,
"taxShippingFeeRefund": 0,
"grossShippingFeeRefund": 0,
"netFeesTotal": 0,
"taxFeesTotal": 0,
"grossFeesTotal": 0,
"netRefundTotal": 999,
"taxRefundTotal": 0,
"grossRefundTotal": 999,
"items": [
{
"returnOrderId": 56373,
"returnOrderExtId": "{}",
"returnOrderItemId": 120808,
"originalOrderItemId": "1",
"productId": "iris",
"productVariantId": "iris",
"originalNetAmount": 999,
"originalTaxAmount": 0,
"originalGrossAmount": 999,
"reportedCondition": "tags_are_intact",
"reclamationReason": "style_doesnt_suit",
"nextAction": "restock",
"status": "pending",
"refundQuantity": 1,
"netRefundAmount": 999,
"taxRefundAmount": 0,
"grossRefundAmount": 999
}
]
}
],
"totalRecords": 1
}
Rücksendeartikel nach Id abrufen
URL: GET /return-orders/{returnOrderId}Der Endpunkt gibt den Rücksendeauftrag zurück, der durch die in der URL-Pfad verwendete Id identifiziert wird.
Parameter:
| Parameter | Typ | Erforderlich |
| returnOrderId | integer | ja |
Beispielaufruf:
GET https://staging.returnado.com/public-api/v3/return-orders/56373
Bringt den Rücksendeauftrag, der durch die Id 56373 identifiziert wird.
Antwort:
ReturnOrder
{
"returnOrderId": 56373,
"returnOrderExtId": "{}",
"orderId": "249-307",
"createdAt": "2022-12-20T18:02:31Z",
"updatedAt": "2022-12-20T18:02:32Z",
"marketCode": "27001",
"customerId": "john_doe@nshift.com",
"status": "pre_approval",
"currency": "GBP",
"netOriginalTotal": 1198.8,
"taxOriginalTotal": 0,
"grossOriginalTotal": 1198.8,
"netRefundItemsTotal": 999,
"taxRefundItemsTotal": 0,
"grossRefundItemsTotal": 999,
"netShippingFeeRefund": 0,
"taxShippingFeeRefund": 0,
"grossShippingFeeRefund": 0,
"netFeesTotal": 0,
"taxFeesTotal": 0,
"grossFeesTotal": 0,
"netRefundTotal": 999,
"taxRefundTotal": 0,
"grossRefundTotal": 999,
"items": [
{
"returnOrderId": 56373,
"returnOrderExtId": "{}",
"returnOrderItemId": 120808,
"originalOrderItemId": "1",
"productId": "iris",
"productVariantId": "iris",
"originalNetAmount": 999,
"originalTaxAmount": 0,
"originalGrossAmount": 999,
"reportedCondition": "tags_are_intact",
"reclamationReason": "style_doesnt_suit",
"nextAction": "restock",
"status": "pending",
"refundQuantity": 1,
"netRefundAmount": 999,
"taxRefundAmount": 0,
"grossRefundAmount": 999
}
]
}
Rücksendeübersicht abrufen
URL: GET /returns-summary
Der Endpunkt gibt die Zusammenfassung der Rücksendeaufträge für den anfragenden Kunden zurück.
Basierend auf den Filtern kann der Endpunkt verwendet werden, um nur Rücksendeaufträge für einen bestimmten Markt zu filtern (z. B. nur den schwedischen Markt, wenn Rücksendeaufträge sowohl für UK als auch Schweden erfasst werden).
Die periodStart und periodEnd beziehen sich auf das Datum, an dem der Rücksendeauftrag zuletzt aktualisiert wurde.
Dieser Endpunkt beinhaltet auch eine Paginierung. Die Paginierung beginnt mit Seite 0.
Parameter:
| Parameter | Typ | Erforderlich |
| periodStart | DateTime (ISO-Format) | ja |
| periodEnd | DateTime (ISO-Format) | nein |
| marketCode | integer | nein |
| pageSize | integer | nein |
| pageNumber | integer | nein |
Beispielaufruf:
GET https://staging.returnado.com/public-api/v3/returns-summary?periodStart=2022-12-10T01:30:00
.000-05:00&periodEnd=2022-12-31T01:30:00.000-05:00&marketCode=27001&pageSize=5&pageNumber=1
Bringt die Aufträge, die zum identifizierten Markt gehören und im genannten Zeitraum aktualisiert wurden. Aufgrund der Paginierung werden die ersten 5 Aufträge übersprungen (geordnet nach return_order_item_id).
Antwort:
Gibt PaginatedResponse<ReturnSummary> zurück
| Feld | Typ | Erforderlich |
| records | ReturnSummary[] | Durch Suche zurückgegebene Rücksendeübersichten |
| totalRecords | integer | Anzahl gefundener Datensätze |
| pagination.totalPages | integer | Anzahl der Seiten, die von den Ergebnissen in der aktuellen Paginierungskonfiguration abgedeckt werden |
| pagination.currentPage | integer | Seite, zu der die aktuell abgerufenen Daten gehören |
| pagination.currentPageSize | integer | Anzahl der Rücksendeübersichten pro Seite, die die API aktuell liefert |
{
"records": [
{
"marketCode": "27001",
"marketName": "Arena-1",
"customerId": "john_doe_1@gmail.com",
"orderId": "968-309",
"returnOrderId": 56367,
"returnOrderItemId": 120801,
"productId": "hermes",
"productVariantId": "hermes",
"sku": "hermes",
"productName": "hermes",
"currencyCode": "GBP",
"returnedQuantity": 1,
"returnReasonCode": "style_doesnt_suit",
"itemConditionCode": "accessory_missing",
"nextActionCode": "restock",
"originalValueGross": 579,
"returnValueGross": 579,
"reconversionValueGross": 0,
"refundValueGross": 579,
"orderCreatedAt": "2022-12-19T10:19:36Z",
"createdAt": "2022-12-19T10:22:10Z",
"currentState": "awaiting_approval",
"stateUpdatedAt": "2022-12-19T10:22:10Z",
"claim": false,
"refundApproved": false
},
{
"marketCode": "27001",
"marketName": "Arena-1",
"customerId": "john_doe_2@nshift.com",
"orderId": "819-761",
"returnOrderId": 56368,
"returnOrderItemId": 120802,
"productId": "hera",
"productVariantId": "hera",
"sku": "hera",
"productName": "hera",
"currencyCode": "GBP",
"returnedQuantity": 1,
"returnReasonCode": "colour_not_as_expected",
"itemConditionCode": "accessory_missing",
"nextActionCode": "restock",
"originalValueGross": 39,
"returnValueGross": 39,
"reconversionValueGross": 0,
"refundValueGross": 39,
"orderCreatedAt": "2022-12-19T14:57:25Z",
"createdAt": "2022-12-19T14:58:37Z",
"currentState": "awaiting_approval",
"stateUpdatedAt": "2022-12-19T14:58:37Z",
"claim": false,
"refundApproved": false
},
{
"marketCode": "27001",
"marketName": "Arena-1",
"customerId": "john_doe@nshift.com",
"orderId": "249-307",
"returnOrderId": 56373,
"returnOrderItemId": 120808,
"productId": "iris",
"productVariantId": "iris",
"sku": "iris",
"productName": "iris",
"currencyCode": "GBP",
"returnedQuantity": 1,
"returnReasonCode": "style_doesnt_suit",
"itemConditionCode": "tags_are_intact",
"nextActionCode": "restock",
"originalValueGross": 999,
"returnValueGross": 999,
"reconversionValueGross": 0,
"refundValueGross": 999,
"orderCreatedAt": "2022-12-20T17:59:56Z",
"createdAt": "2022-12-20T18:02:31Z",
"currentState": "awaiting_approval",
"stateUpdatedAt": "2022-12-20T18:02:32Z",
"claim": false,
"refundApproved": false
}
],
"totalRecords": 8,
"pagination": {
"totalPages": 2,
"currentPage": 1,
"currentPageSize": 3
}
}Der Endpunkt für ReturnOrderSummary liefert ebenfalls Informationen über den Status der Bestellung sowie den Rückerstattungsstatus.
Rücksende-Rückerstattungsstatus aktualisieren
URL: PUT /update-return-status/{returnOrderId}Dieser Endpunkt wird verwendet, um den Status des Rücksendeauftrags zu aktualisieren.
Parameter:
| Feld | Typ | Erforderlich |
| returnOrderId | bool | true |
Request Body:
{
"refundSucceeded": true,
"orderId": null,
"errorCode": "e404",
"errorDescription": "insufficient funds"
}
| Parameter | Typ | Erforderlich |
| refundSucceeded | boolean | ja |
| orderId | string | nein |
| errorCode | string | nein |
| errorDescription | string | nein |
Beispielaufruf:
PUT https://staging.returnado.com/public-api/v3/update-return-status/56367
Antwort:
HTTP 200, wenn die Anfrage erfolgreich abgeschlossen wurde.
Fehlercodes wo angebracht:
Zum Beispiel, wenn refundSucceeded fehlt
{
"code": 422,
"error": "Unprocessable Entity",
"message": "Field error in object 'returnOrderUpdateStatusDto' on field 'refundSucceeded':
rejected value [null]; codes [NotNull.returnOrderUpdateStatusDto.refundSucceeded,NotNull.
refundSucceeded,NotNull.java.lang.Boolean,NotNull]; arguments [org.springframework.context
.support.DefaultMessageSourceResolvable: codes [returnOrderUpdateStatusDto.refundSucceeded,
refundSucceeded]; arguments []; default message [refundSucceeded]]; default message [must
not be null]",
"timestamp": "2023-01-16T17:22:05Z"
}