Avsnitt i denna artikel:
Autentisering för offentlig API
Returernas offentliga API använder Basic Authentication. Alla metoder som ingår i API:et använder samma information för autentisering, användarnamn och lösenord för din organisation (bild som visar användningsfall från Postman nedan).
Endpoints
Hämta lista över returorder
URL: GET /return-orders
Endpoint returnerar en lista över returorder baserat på frågesträngsparametrarna som skickas i metoden.
Parametrar:
| Parameter | Typ | Obligatorisk |
| updatedAfter | DateTime (ISO-format) | Nej |
| updatedBefore | DateTime (ISO-format) | Nej |
| createdAfter | DateTime (ISO-format) | Nej |
| createdBefore | DateTime (ISO-format) | Nej |
Exempelanrop:
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
Hämtar alla returorder som uppdaterats efter 2022-12-20 och före 2022-12-31 samt skapats efter 2020-12-20 och före 2022-12-31.
Svar
ResponseWrapper:
| Fält | Typ | Beskrivning |
| records | ReturnOrder[] | Poster som hittats av sökningen |
| totalRecords | integer | Antal poster som hittats |
{
"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
}
Hämta returorderartikel efter ID
URL: GET /return-orders/{returnOrderId}Endpoint returnerar returordern identifierad av ID:t som används i URL-sökvägen.
Parametrar:
| Parameter | Typ | Obligatorisk |
| returnOrderId | integer | ja |
Exempelanrop:
GET https://staging.returnado.com/public-api/v3/return-orders/56373
Hämtar returordern som identifieras av ID 56373.
Svar:
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
}
]
}
Hämta sammanfattning av returer
URL: GET /returns-summary
Endpoint returnerar en sammanfattning av returorder för den kund som begär dem.
Baserat på filtren kan endpointen användas för att filtrera endast returorder för en specifik marknad (till exempel endast Sverige om returorder loggas för både UK och Sverige).
periodStart och periodEnd appliceras på datumet då returordern senast uppdaterades.
Denna endpoint inkluderar även paginering. Paginering börjar med sida 0.
Parametrar:
| Parameter | Typ | Obligatorisk |
| periodStart | DateTime (ISO-format) | ja |
| periodEnd | DateTime (ISO-format) | nej |
| marketCode | integer | nej |
| pageSize | integer | nej |
| pageNumber | integer | nej |
Exempelanrop:
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
Hämtar order som tillhör den angivna marknaden, uppdaterade inom angivet period. På grund av paginering kommer de första 5 orderna att hoppas över (sorterade efter return_order_item_id).
Svar:
Returnerar PaginatedResponse<ReturnSummary>
| Fält | Typ | Obligatorisk |
| records | ReturnSummary[] | Returneringssammanfattningar som returneras av sökningen |
| totalRecords | integer | Antal poster som hittats |
| pagination.totalPages | integer | Antal sidor som resultaten sträcker sig över i aktuell pagineringskonfiguration |
| pagination.currentPage | integer | Sidan som de aktuellt hämtade data tillhör |
| pagination.currentPageSize | integer | Antal returordersammanfattningar per sida som API:et för närvarande hämtar |
{
"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
}
}Endpointen för ReturnOrderSummary visar också information om orderns status samt återbetalningsstatus.
Uppdatera returorders återbetalningsstatus
URL: PUT /update-return-status/{returnOrderId}Denna endpoint används för att uppdatera status för returordern.
Parametrar:
| Fält | Typ | Obligatorisk |
| returnOrderId | bool | true |
Begärans kropp:
{
"refundSucceeded": true,
"orderId": null,
"errorCode": "e404",
"errorDescription": "insufficient funds"
}
| Parameter | Typ | Obligatorisk |
| refundSucceeded | boolean | ja |
| orderId | string | nej |
| errorCode | string | nej |
| errorDescription | string | nej |
Exempelanrop:
PUT https://staging.returnado.com/public-api/v3/update-return-status/56367
Svar:
HTTP 200 om förfrågan slutförs framgångsrikt.
Felmeddelanden där det är lämpligt:
Till exempel om refundSucceeded saknas
{
"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"
}