curl --request POST \
--url https://api.fabric.inc/v3/orders/order-number/{orderNumber}/actions/create-appeasement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"source": "Storefront",
"userId": "12",
"appeasements": [
{
"amount": 34.56,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"appeasementCounter": 1,
"attributes": {
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
},
"invoicedAmount": 34.56,
"invoicedAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"payments": [
{
"paymentCounter": 1,
"refundAmount": 34.56,
"refundAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}
],
"reasonCode": "Incorrect Item",
"refunds": [
{
"amount": "-10.",
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"name": "Name",
"type": "ITEM"
}
],
"source": "CSR",
"subReasonCode": "Late shipping"
}
],
"customer": {
"accountId": "62272e917b12209e68751d94",
"company": "Demo Inc",
"email": "[email protected]",
"employeeId": "62272e917b12209e68751d94",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"userId": "62272e917b12209e68751d94"
},
"items": [
{
"appeasements": [
{
"amount": 34.56,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"appeasementCounter": 1,
"attributes": {
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
},
"invoicedAmount": 34.56,
"invoicedAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"payments": [
{
"paymentCounter": 1,
"refundAmount": 34.56,
"refundAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}
],
"reasonCode": "Incorrect Item",
"refunds": [
{
"amount": "-10.",
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"name": "Name",
"type": "ITEM"
}
],
"source": "CSR",
"subReasonCode": "Late shipping"
}
],
"lineItemId": "d538b1f1-0e45-43c6-bfc6-9666fc1188ca"
}
],
"orderExternalId": "191763090_O1231"
}
'{
"orderNumber": "12",
"totalAmountRefunded": 25.5,
"totalAmountRefundedInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}When customer is dissatisfied with their shopping experience, you may want to offer an appeasement amount to keep them happy.
This endpoint is used to create appeasement request by order number.
Note: If you do not have an order number, use the corresponding order ID-based endpoint - POST /orders/{orderId}/actions/create-appeasement
curl --request POST \
--url https://api.fabric.inc/v3/orders/order-number/{orderNumber}/actions/create-appeasement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"source": "Storefront",
"userId": "12",
"appeasements": [
{
"amount": 34.56,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"appeasementCounter": 1,
"attributes": {
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
},
"invoicedAmount": 34.56,
"invoicedAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"payments": [
{
"paymentCounter": 1,
"refundAmount": 34.56,
"refundAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}
],
"reasonCode": "Incorrect Item",
"refunds": [
{
"amount": "-10.",
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"name": "Name",
"type": "ITEM"
}
],
"source": "CSR",
"subReasonCode": "Late shipping"
}
],
"customer": {
"accountId": "62272e917b12209e68751d94",
"company": "Demo Inc",
"email": "[email protected]",
"employeeId": "62272e917b12209e68751d94",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"userId": "62272e917b12209e68751d94"
},
"items": [
{
"appeasements": [
{
"amount": 34.56,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"appeasementCounter": 1,
"attributes": {
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
},
"invoicedAmount": 34.56,
"invoicedAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"payments": [
{
"paymentCounter": 1,
"refundAmount": 34.56,
"refundAmountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}
],
"reasonCode": "Incorrect Item",
"refunds": [
{
"amount": "-10.",
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"name": "Name",
"type": "ITEM"
}
],
"source": "CSR",
"subReasonCode": "Late shipping"
}
],
"lineItemId": "d538b1f1-0e45-43c6-bfc6-9666fc1188ca"
}
],
"orderExternalId": "191763090_O1231"
}
'{
"orderNumber": "12",
"totalAmountRefunded": 25.5,
"totalAmountRefundedInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
]
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.
Unique request ID
Merchant-defined order identifier
Appeasement request
Merchant-defined source from where the appeasement request was initiated. There are no pre-defined values; possible values are Customer Service Representative (CSR), point-of-sale (POS), etc.
"Storefront"
Identifier of the logged in user who initiated the request. This could be from either fabric Identity service or an external Identity service.
"12"
Order-level appeasement details. At least one order-level or item-level appeasement must be added.
Show child attributes
Merchant-defined appeasement amount, which should not exceed (charged amount - already refunded amount).
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Sequential or incremental counter for appeasement. Used for keeping track of duplicates in the request. If omitted in the request, it is automatically generated and will not be used to check duplicates. Multiple appeasement calls for the same order can cause repetition of appeasement counter and may cause the request to be rejected completely.
1
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs
{
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
}System-generated amount from Invoice service based on requested amount
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Show child attributes
Payment counter to identify which payment to refund.
1
Refund amount for appeasements.
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Merchant-defined appeasement reason code; varies from merchant to merchant.
"Incorrect Item"
Show child attributes
Refund Amount
"-10."
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
The name of the fee or tax.
"Name"
Type of refund
"ITEM"
An optional field used to determine the source that initiated the API request.
"CSR"
Subreason code for appeasement, for another layer of classification
"Late shipping"
Invoice customer
Show child attributes
Customer's loyalty account ID or external identifier that is used to track their loyalty program activity and rewards earned.
"62272e917b12209e68751d94"
Shopper's company name. This may be used for company discounts.
"Demo Inc"
Contact person's email
Employee (ID or name) who initiated an update request
"62272e917b12209e68751d94"
Identifier of the logged in user who initiated the request. This could be from either fabric Identity service or an external Identity service.
"62272e917b12209e68751d94"
Item-level appeasements. At least one order-level or item-level appeasement must be added.
Show child attributes
Item-level appeasements. Note: If the same appeasement counter is found twice at order level as well as item-level appeasement, item-level appeasement request is considered as duplicate. However, if the same appeasement counter is found under different items, then, it is not considered as duplicates.
Show child attributes
Merchant-defined appeasement amount, which should not exceed (charged amount - already refunded amount).
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Sequential or incremental counter for appeasement. Used for keeping track of duplicates in the request. If omitted in the request, it is automatically generated and will not be used to check duplicates. Multiple appeasement calls for the same order can cause repetition of appeasement counter and may cause the request to be rejected completely.
1
Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs
{
"number": "XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ"
}System-generated amount from Invoice service based on requested amount
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Show child attributes
Payment counter to identify which payment to refund.
1
Refund amount for appeasements.
34.56
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Merchant-defined appeasement reason code; varies from merchant to merchant.
"Incorrect Item"
Show child attributes
Refund Amount
"-10."
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
The name of the fee or tax.
"Name"
Type of refund
"ITEM"
An optional field used to determine the source that initiated the API request.
"CSR"
Subreason code for appeasement, for another layer of classification
"Late shipping"
Merchant-defined unique identifier for each item in an order. When omitted, fabric will generate it (in UUID format) during order creation.
"d538b1f1-0e45-43c6-bfc6-9666fc1188ca"
A merchant-defined external order identifier.
This field is optional and can be used to reference the order in external
systems such as an ERP, OMS, or CRM.
"191763090_O1231"
OK
Appeasement info
Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service
"12"
Total refunded amount
25.5
The total amount that has been refunded, represented in one or more currencies.
Each entry provides the total refunded value and its corresponding currency code,
using the structure defined in the amountInCurrency schema.
This field enables tracking of cumulative refunds across multiple currencies.
Show child attributes
Currency in ISO-4217
"USD"
A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the Shopper group uses USD, while the Retailer group uses EUR.
"SHOPPER"
The amount displayed in the primary currency.
123.45
Was this page helpful?