RMAs

RMAs are issued when merchandise needs to be, or has already been, returned to the vendor. Either party (the vendor or the retailer) can initiate the return. Once created, the return's status is set to 'pending' while the vendor awaits the delivery of the items to the return address. Upon receipt, the vendor will inspect the items, and if all is well, close the return.

Operations

Click on an Operation to view requirements, options, & examples.

Return Properties
Name Description

id

integer (11)

A static id assigned by RevCascade. Can be used as the primary key in the url of other RMA endpoints.

retailer

retailer

The retailer that owns the RMA.

"retailer": {
    "id": 1000,
    "name": "Demo Retailer",
    ...
}

brand

brand

The brand or vendor that owns the RMA.

"brand": {
    "id": 1000,
    "name": "Demo Brand"
    ...
}

created_by

string (16)

The party that created the RMA (will be either "brand" or "retailer")

purchase_order_number

string (32)

The purchase order number from the Retailer's Order Management System.

ordered_at

ISO-8601 Datetime

The date & time of the original purchase order.

received_at

ISO-8601 Datetime

The date & time when the RMA was recieved by RevCascade.

rmad_at

ISO-8601 Datetime

The date & time when the RMA was issued.

acknowledged_at

ISO-8601 Datetime

The date & time when the RMA was acknowledged by the receiving party.

rma_number

string (32)

An optional identifier for the RMA.

reason

string (256)

The reason for the return.

  • Delivery problem (e.g. customer refused or undeliverable)
  • Item was damaged or defective
  • Item did not meet customer expectations
  • Customer Disposition

status

string (32)

The current status of the return.

  • Pending - the items have not yet been received by vendor.
  • Accepted - the return has been closed by the vendor.

currency

string (3)

The currency of the RMA.

total_amount

decimal (8,2)

The total value of the return.

rma_lines

array of objects

An array or Return Line Items. Each Return Line represents a unique item from the Purchase Order.

"rma_lines": [{
    "id": 100451,
    "variant": {...},
    "quantity": 2,
    "order_line": {...}
}]

id - The static id of the return line.

variant - The exact item that was sold and is now being returned.

quantity - The number of items being returned.

order_line - The original order line from the purchase order with pricing.

attachments

array of attachments

An array of attachment objects attached to the return.

memos

array of Memos

coming soon!

An array of note objects attached to the return.

Back to Top

Operation Details & Examples
POST /v1/retailers/{retailer_id}/rmas/ Create a new RMA
Input Parameters - All fields required unless otherwise marked.

order_id

integer (11)

The RevCascade Order ID.

reason_id

integer (11)

The id of the reason why all (or part) of the order is being returned.

  • 1: Customer Disposition
  • 2: Item did not meet customer expectations
  • 3: Item was damaged or defective
  • 4: Delivery problem (e.g. customer refused or undeliverable)
  • 9: Wrong Item Received
  • 10: Arrived Too Late
  • 11: Item Lost or Stolen
  • 12: Other

rma_number

string

An optional RMA ID (usually from an external returns managment system). This is optional, but highly recommended.

rma_lines

array of objects

An array of objects representing the items that are in the RMA request. Please send one RMA Line per unique item.

"rma_lines": [{
    "variant": {
        "id": 1000065,
        "identifier": "GBD34315",
        "upc": "123456789012",
    }
    "quantity": 1
}]

variant - an object that identifies the exact item that sold.

  • id - the RevCascade id for the variant. Optional if 'upc' is passed.
  • identifier - either a retailer identifier (if set) or a brand identifier.
  • upc - the UPC of the item. Optional if 'id' is passed.

quantity - The number of items to be returned.

Please note:

Either an 'id', 'identifier', or a 'upc' is required in the variant object when creating an RMA line. However, if multiple are passed, the priority is: id > identifier > upc.

Register a new RMA.

POST https://api.revcascade.com/v1/retailers/500/rmas/
{
  order_id: 123456,
  reason_id: 1,
  rma_lines: [{
    variant: {
      identifier: 'GBD34315',
    }
    quantity: 1
  }]
}

Back to Top

GET /v1/retailers/rmas/ Get a list of RMAs
Optional Query String Parameters

is_acknowledged

boolean

Boolean filter that retrieves RMAs based on whether or not they have been acknowleged.

1 - show only only RMAs that have been acknowledged.
0 - show RMAs that have not been acknowledged.

rmad_at_{operator}

timestamp

Filter RMAs received by RevCascade before or after an epoch timestamp in UTC.

Please substitute {operator} with "lt" (less than),"lte" (less than or equal), "gt" (greater than), or "gte" (greater than or equal).

received_at_{operator}

timestamp

Filter RMAs received by RevCascade before or after an epoch timestamp in UTC.

Please substitute {operator} with "lt" (less than),"lte" (less than or equal), "gt" (greater than), or "gte" (greater than or equal).

limit

integer (3)

Customize the number of results return (max 250). Requests that return more records than the limit will be paginated.

Get all new RMAs that have been not yet been acknowledged.

GET https://api.revcascade.com/v1/retailers/500/rmas/?is_acknowledged=0

Back to Top

GET /v1/retailers/{retailer_id}/rmas/{id}/ Get a single return

Get a single return by its ID.

GET https://api.revcascade.com/v1/retailers/500/rmas/123645/

Back to Top

PUT /v1/retailers/{retailer_id}/rmas/{id}/acknowledge/> Acknowledge receipt

Acknowledge receipt of a new return.

GET https://api.revcascade.com/v1/retailers/500/rmas/123645/acknowledge/

Back to Top