Available APIs
Authentication - OAuth2.0
Inventory
Items
Inbound Shipments
Labels
Receipt
Location
Tracking
Document
Create RMA
Creates a new RMA and all of the item level details required for a return. The RMA API has a flag within to depict whether a label is needed.To take advantage the enhanced RMA functionalities, make sure you subscribe to both “Returns 1.0.0” and “Returns 2.0.0” in the API Developer Portal
Swagger
swagger: '2.0'
info:
x-ibm-name: rmas
title: Rmas
version: 2.0.0
schemes:
- https
host: $(catalog.host)
basePath: /v2
consumes:
- application/json
produces:
- application/json
securityDefinitions:
oauth2:
type: oauth2
description: ''
flow: accessCode
authorizationUrl: 'https://<........................>/fsc/oauth2/authorize'
scopes:
Fulfillment_Returns: ''
tokenUrl: 'https://<........................>/fsc/oauth2/token'
Client_Secret:
type: apiKey
description: Enter Client Secret
in: header
name: X-IBM-Client-Secret
Client_Id:
type: apiKey
in: header
name: X-IBM-Client-Id
description: Enter Client ID
security:
- Client_Id: []
Client_Secret: []
oauth2:
- Fulfillment_Returns
x-ibm-configuration:
testable: true
enforced: true
phase: realized
paths:
/rmas:
post:
responses:
200:
description: 200 OK
parameters:
- name: create_createrma_json_body
required: true
in: body
schema:
type: json
description: ''
- name: AccessToken
type: string
required: false
in: header
description: Enter Access Token, it is required header
summary: Create RMA
description: Creates a new RMA and all of the item level details required for a return.
The RMA API does have a flag within to depict if a label is needed or not.
Sample Request
{
"requestIdentifier": "234234234234234",
"rmaNumber": null,
"affiliatedMerchant": "Gilt",
"customer": {
"firstName": "John",
"lastName": "Smith",
"addressLine1": "1020 Orchard St",
"addressLine2": "",
"city": "Sacramento",
"stateCode": "CA",
"zipCode": "95814",
"countryCode": "US",
"phoneNumber": "888-787-8888",
"emailAddress": "test85@gmail.com"
},
"trackingNumber": null,
"shippingService": null,
"shippingCost": null,
"labelRequired": null,
"emailNotification": null,
"returnEmployeeId": null,
"returnEmployeeName": null,
"shipToAddressId": null,
"shippingCostResponsibility": null,
"externalASNId": null,
"casAccountNumber": null,
"billToFirstName": null,
"billToLastName": null,
"billToAddress1": null,
"billToAddress2": null,
"billToCity": null,
"billToStateCode": null,
"billToZipCode": null,
"specialtyFlag": null,
"declaredValue": 19.99,
"referenceFields": {
"customerReference" : "1234",
"departmentNumber": "10",
"invoiceNumber" : "inv100",
"poNumber": "PO123"
}, "orders": [
{
"orderNumber": "RMS-1451-O2",
"orderDate": "2017-02-15",
"items": [
{
"sku": "testsku23",
"quantity": 3,
"returnItemInfo": {
"returnReason": "Wrong Size",
"returnEligibilityOverride": "true",
"finalSale": null
}
}
]
}
]
}
Sample Response
Success Response
{
"requestIdentifier": "234234234234234",
"success": true,
"rma": {
"rmaId": "2408-1984",
"rmaNumber": "2400",
"affiliatedMerchant": "Gilt",
"status": "Approved",
"shipments": [{
"status": "Approved",
"shippingService": "FDXE",
"shippingCost": 20.83,
"shipToAddressId": "123098",
"shipToAddressName": "CAD Location Name Update",
"label": {
"id": "15050",
"labelURL": "http://<.........>/api/v1/labels/15050",
"trackingNumber": "14147333522777"
},
"orders": [{
"orderNumber": "RMS-1451-O2",
"items": [{
"sku": "testsku23",
"quantity": 3
}
]
}
]
}
]
}
}
OAuth 2.0
HTTP Headers | Description |
---|---|
Authorization | You must always provide the access token for authorization to access the API. HTTP-Header Value Authorization Bearer accessToken |
Origin | Origin URL. HTTP-Header Value Origin domain.com |
Custom authentication
HTTP Headers | Description |
---|---|
X-IBM-Client-Id | You must always provide in the HTTP header your API portal application's client ID (X-IBM-Client-Id) to access the API. HTTP-Header Value X-IBM-Client-Id ************ |
X-IBM-Client-Secret | You must always provide in the HTTP header your API portal application's client secret (X-IBM-Client-Secret) to access the API. HTTP-Header Value X-IBM-Client-Secret ************ |
AccessToken | Application Access Token |
Origin | Origin URL. HTTP-Header Value Origin domain.com |
Request Attributes
Parameter | Data type | Description | Required |
---|---|---|---|
rmaNumber | String | If the retailer is set up to provide the RMA number from their host system, it will be sent here. If the RMA number is assigned by the RMS system, this field is left blank. |
N |
affiliatedMerchant | String | Specify the affiliated merchant the RMA is being created for. This field must match with the affiliated merchant field configured in the Retailers Configuration screen. | N |
shippingService | String | If you are using a label service outside of FedEx Fulfillment to produce the shipping label the service type would be sent here. Valid Values: See list below in RMA Shipping Service Codes |
N |
trackingNumber | String | If you are using a label service outside of FedEx Fulfillment to produce the shipping label, the tracking number would be sent in this field. | N |
shippingCost | String | If you are using a label service outside of FedEx Fulfillment to produce the shipping label, the net cost of the shipment would be sent in this field. | N |
labelRequired | String | If you would like the commerce platform to generate a shipping label, mark this field as true. The label will be stored in the system and the URL will be sent back in the response to this request. Valid Values: true or false. |
N |
emailNotification | String | Indicates whether an email of the label with a QR Code of the RMA number is sent to the consumer requesting the return. Valid Values: true or false. |
N |
externalASNId | String | If an advance shipping notification (ASN) record was created by the host system of the merchant, the ID can be passed to be used a link to the receiving party. | N |
shipToAddressId | String | A merchant can choose a specific location where an item will be returned directly. If you specify a location, proximity by miles will be ignored. If Null the system will use the proximity by miles function to select the appropriate return address. Valid Data: All eligible address IDs must be listed in FedEx Fulfillment. |
N |
shippingCostResponsibility | String | If the merchant's system decides who is responsible for the cost of the shipment, it will be depicted here. Valid Data: Consumer, Retailer |
N |
returnEmployeeName | String | First and last names of your representative who is permitted to return product on behalf of the company. | N |
returnEmployeeId | String | Employee ID of your representative who is permitted to return product on behalf of the company. | N |
casAccountNumber | Number | The Commercial Account Services (CAS) number sent to depict which account number to use during the receipt of this return. | N |
billToFirstName | String | The bill-to first name for this return. | N |
billToLastName | String | The bill-to last name for this return. | N |
billToAddressLine1 | String | The bill-to address 1 for this return. | N |
billToAddressLine2 | String | The bill-to address 2 for this return. | N |
billToCity | String | The bill-to city for this return. | N |
billToStateCode | String | The bill-to state code for this return. | N |
billToZipCode | String | The bill-to zip code for this return. | N |
specialtyFlag | String | Indicates do not credit, early credit, or gift return for this return. | N |
declaredValue | Number | The declared value for the return. | N |
referenceFields | |||
customerReference | String | The customer reference number field for the return. It will be shown on the return label. | N |
departmentNumber | String | The department number reference field for the return. It will be shown on the return label. | N |
invoiceNumber | String | The invoice number reference field for the return. It will be shown on the return label. | N |
poNumber | String | The purchase order reference field for the return. It will be shown on the return label. | N |
orders[] | |||
orderNumber | String | The original order number to which the item being returned belongs. This number will be stored in the RMA record being created to allow a reference back from the merchant's order management Ssstem. | Y |
orderDate | String | The original date when the order was placed in the merchant's order management system. | Y |
orders[].items[] | |||
sku | String | The SKU belonging to the item selected for return. This SKU matches the existed merchant data that's loaded into FedEx Fulfillment. Item SKUs should be rolled up and a total expected quantity should be given. |
Y |
quantity | Number | Total number of a specific SKUs being returned in this RMA. | Y |
orders[].items[].returnItemInfo | |||
returnReason | String | The reason the consumer is returning the item. | Y |
returnEligibilityOverride | String | Indicataes whether you would like to force an item SKU to be returned even if the system logic dictates it is not returnable. If this flag is set, it will override any processing logic limitations. Valid Values: true or false. |
N |
finalSale | Boolean | Indicates whether the item was in a final sale status when it was sold. | N |
customer | |||
firstName | String | First name of the consumer requesting the return. | Y |
lastName | String | Last name of the consumer requesting the return. | Y |
addressLine1 | String | First line of the address of the consumer requesting the return. | Y |
addressLine2 | String | Second line of the address of the consumer requesting the return. | N |
city | String | City of the consumer requesting the return. | Y |
stateCode | String | State of the consumer requesting the return. | Y |
zipCode | String | Zip code of the consumer requesting the return. | Y |
countryCode | String | Country of the consumer requesting the return. | Y (If blank defaulted to US) |
phoneNumber | String | Phone number of the consumer requesting the return. | Y (If the retailer is Single Ship) |
emailAddress | String | Email address of the consumer requesting the return. This email address will be used for any auto-notifications or sending of a label for the return. | N |
Response Attribute
Parameter | Data type | Description |
---|---|---|
requestIdentifier | String | Request identifier. |
transactionDate | Date | Transaction date/time. |
success | boolean | Status of the transaction Valid Values: true or false |
rma | ||
rmaId | String | This ID is created when the RMA is committed into FedEx Fulfillment. It will be used on any subsequent calls made to the system in reference to this RMA. Three other APIs use this ID: Location, Tracking and Cancel. |
rmaNumber | String | The RMA number that was given by the merchant or created by FedEx Fulfillment and recorded for the return. |
affiliatedMerchant | String | The affiliated merchant the RMA is being created for. This field must match with the affiliated merchant field configured in the Retailers Configuration screen. |
status | String | The status of the RMA. Valid Values: Pending - Address ID Missing, Pending - RA Required, Canceled, Received, Partially Received, Approved. |
rma.shipments[] | ||
Status | String | The status of the individual shipment in the RMA. Valid Values: Created, Received |
shippingService | String | The FedEx shipping service used to complete the return of the item. Valid Values: FDXE, FDXG, FDSP, OTHER |
shippingCost | Number | The final price to ship the return to the destination. |
shipToAddressId | String | The address ID where the returned item will be shipped. |
shipToAddressName | String | The address name where the returned item will be shipped. |
rma.shipments[].label | ||
id | Number | The unique identifier that depicts the row where the label is stored in the system. Will be passed in the label URL to obtain the label PDF. |
labelURL | String | If a label was requested, the URL for the label PDF is listed here. |
trackingNumber | String | The tracking number assigned to the label used for the return. |
rma.shipments[].orders[] | ||
OrderNumer | String | The original order number to which the item being returned belongs. This number will be stored in the RMA record being created to allow a reference back from the merchant's order management system. |
rma.shipments[].orders[].items[] | ||
sku | String | The SKU belonging to the item selected for return. This SKU matches the existed merchant data that's loaded into the commerce platform. Item SKUs should be rolled up and a total expected quantity should be given. |
quantity | String | Total number of a specific SKUs being returned in this RMA. |
HTTP Status Code
Code | Description |
---|---|
200 | OK - HTTP Response for successfully processed requests |
400 | Bad Request. |
403 | Forbidden |
404 | Not Found - Server couldn’t find anything matching request URI |
500 | Internal Server Error – Unable to process the request |
Error Code
Code | Description |
---|---|
ERR-SYS-0001 | Your request cannot be processed due to a system error. |
ERR-CMR-0001 | Input data validation failed. |
ERR-CMR-0002 | Authentication Failed. Invalid Access Token. |
ERR-CMR-0003 | Missing mandatory fields. |
ERR-RMA-0000 | System error message. |
ERR-RMA-0003 | Retailer return address is missing to process return. |
ERR-RMA-0004 | Retailer reqire RMA number. |
ERR-RMA-0008 | Create RMA version 1 cannot be used with Retailer configuration of One Item per Single Box. Please upgrade to version 2. |
ERR-RMA-0010 | Exception in creating Receipts. |
ERR-RMA-0011 | This RMA Number is already in use. Please enter a unique RMA Number.. |
ERR-RMA-0012 | No Rma found for the given id : {id}. |
ERR-RMA-0013 | Exception in calling RMA oneup Service. |
ERR-RMA-0014 | Exception in calling create action. |
ERR-RMA-0015 | New RMA not required. No rma receipts found for rma Id: {id}. |
ERR-RMA-0020 | Retailer not found for the request. |
ERR-RMA-0021 | No Fedex Account is found for the given location to process return. |
ERR-RMA-0024 | Invalid affiliatedMerchant field: the value does not match with the one defined in the Retailer screen. |
ERR-RMA-0030 | Item Details not found : {sku}. |
ERR-RMA-0031 | Item Sku : {sku} is Marked as non returnable. |
ERR-RMA-0033 | Item Sku : {sku} in Order: {order} can not be returned after {days} day(s) of Order. |
ERR-RMA-0034 | New RMA not required. All the Items are alredy received {id}. |
ERR-RMA-0040 | Error calling generate label service. |
ERR-RMA-0050 | Error in ASN Service. |
RMA Shipping Service Codes
Code | Name |
---|---|
FDXE | FedEx 2Day® |
F2DA | FedEx 2Day® A.M. |
FDXG | FedEx Ground® |
FDSP | FedEx SmartPost® |
FPON | FedEx Priority Overnight® |
FSON | FedEx Standard Overnight® |
FEXS | FedEx Express Saver® |
OTHER | Other Shipping Service |