Skip to content

RMAs (Return Merchandise Authorization)

Manage product returns and refund requests. Track return reasons, statuses, and items throughout the RMA lifecycle from request to resolution.

Basic CRUD Actions

Get RMAs listing

View on Postman

Get a list of all return requests.

JS
let rmas = await Client.API.Core.RMAs.all();
TS
import { Response, RMAs } from "@tscommerce/sdk-typescript"

Client.API.Core.RMAs.all().then((response:Response<RMAs>) => {
    response.resource.forEach((rma) => {
        console.log(rma.id, rma.order_id, rma.status);
    });
});
PHP
$rmas = $client->API->Core->RMAs->all();

Create new RMA

View on Postman

Create a new return merchandise authorization.

JS
const payload = {
    order_id: 789,
    reason: 'Defective product',
    items: [
        { product_id: 456, quantity: 1 }
    ],
    status: 'pending'
};
let rma = await Client.API.Core.RMAs.create(payload);
TS
import { Response, RMA, CreateRMAPayload } from "@tscommerce/sdk-typescript"

const payload:CreateRMAPayload = {
    order_id: 789,
    reason: 'Defective product',
    items: [
        { product_id: 456, quantity: 1 }
    ],
    status: 'pending'
};

Client.API.Core.RMAs.create(payload).then((response:Response<RMA>) => {
    console.log('Created RMA:', response.resource);
});
PHP
$payload = [
    'order_id' => 789,
    'reason' => 'Defective product',
    'items' => [
        ['product_id' => 456, 'quantity' => 1]
    ],
    'status' => 'pending'
];
$rma = $client->API->Core->RMAs->create($payload);

Get RMA

View on Postman

Get an existing RMA by ID.

JS
const rmaId = 123;
let rma = await Client.API.Core.RMAs.read(rmaId);
TS
import { Response, RMA } from "@tscommerce/sdk-typescript"

const rmaId:RMA['id'] = 123;
Client.API.Core.RMAs.read(rmaId).then((response:Response<RMA>) => {
    console.log('RMA:', response.resource);
});
PHP
$rmaId = 123;
$rma = $client->API->Core->RMAs->read($rmaId);

Update RMA

View on Postman

Update an existing return request.

JS
const rmaId = 123;
const payload = {
    status: 'approved'
};
let rma = await Client.API.Core.RMAs.update(rmaId, payload);
TS
import { Response, RMA, UpdateRMAPayload } from "@tscommerce/sdk-typescript"

const rmaId:RMA['id'] = 123;
const payload:UpdateRMAPayload = {
    status: 'approved'
};

Client.API.Core.RMAs.update(rmaId, payload).then((response:Response<RMA>) => {
    console.log('Updated RMA:', response.resource);
});
PHP
$rmaId = 123;
$payload = ['status' => 'approved'];
$rma = $client->API->Core->RMAs->update($rmaId, $payload);

Delete RMA

View on Postman

Delete a return request.

JS
const rmaId = 123;
Client.API.Core.RMAs.delete(rmaId);
TS
import { Response, RMA } from "@tscommerce/sdk-typescript"

const rmaId:RMA['id'] = 123;
Client.API.Core.RMAs.delete(rmaId).then((response:Response) => {
    console.log('RMA deleted successfully');
});
PHP
$rmaId = 123;
$client->API->Core->RMAs->delete($rmaId);

Duplication

Duplicate RMA

View on Postman

Create a copy of an existing RMA.

JS
const rmaId = 123;
let duplicate = await Client.API.Core.RMAs.duplicate(rmaId);
TS
import { Response, RMA } from "@tscommerce/sdk-typescript"

const rmaId:RMA['id'] = 123;
Client.API.Core.RMAs.duplicate(rmaId).then((response:Response<RMA>) => {
    console.log('Duplicated RMA ID:', response.resource.id);
});
PHP
$rmaId = 123;
$duplicate = $client->API->Core->RMAs->duplicate($rmaId);

Bulk Actions

Bulk delete RMAs

View on Postman

Delete multiple return requests at once.

JS
const rmaIds = [123, 456, 789];
Client.API.Core.RMAs.bulkDelete({ ids: rmaIds });
TS
import { Response, BulkDeleteRMAPayload } from "@tscommerce/sdk-typescript"

const payload:BulkDeleteRMAPayload = {
    ids: [123, 456, 789]
};

Client.API.Core.RMAs.bulkDelete(payload).then((response:Response) => {
    console.log('RMAs deleted successfully');
});
PHP
$payload = ['ids' => [123, 456, 789]];
$client->API->Core->RMAs->bulkDelete($payload);

Search RMAs

View on Postman

Search return requests by reason or content.

JS
const query = 'defective';
let results = await Client.API.Core.RMAs.search({ query });
TS
import { Response, RMAs, SearchRMAsPayload } from "@tscommerce/sdk-typescript"

const payload:SearchRMAsPayload = {
    query: 'defective'
};

Client.API.Core.RMAs.search(payload).then((response:Response<RMAs>) => {
    response.resource.forEach((rma) => {
        console.log(rma.id, rma.reason);
    });
});
PHP
$payload = ['query' => 'defective'];
$results = $client->API->Core->RMAs->search($payload);

RMA Items

Get RMA Items

View on Postman

Get all items associated with a return request.

JS
const rmaId = 123;
let items = await Client.API.Core.RMAs.getItems(rmaId);
TS
import { Response, RMAItems, RMA } from "@tscommerce/sdk-typescript"

const rmaId:RMA['id'] = 123;
Client.API.Core.RMAs.getItems(rmaId).then((response:Response<RMAItems>) => {
    response.resource.forEach((item) => {
        console.log(item.product_id, item.quantity);
    });
});
PHP
$rmaId = 123;
$items = $client->API->Core->RMAs->getItems($rmaId);

Copyright © 2025-2025 TeamSystem S.p.A. - Built with ❤️ by TeamSystem Commerce