curl --request POST \
--url https://mention-me.com/api/consumer/{version}/coupon_redemption \
--header 'Content-Type: application/json' \
--data '
{
"order": {
"orderIdentifier": "123456",
"total": "100",
"currencyCode": "GBP",
"dateString": "2026-01-01T12:00:00+00:00",
"couponCode": "ABC23252",
"discountAmount": "12.44",
"orderItemCount": "3",
"isSubscription": "",
"isGift": ""
},
"request": {
"partnerCode": "[YOUR-PARTNER-CODE]",
"situation": "mobile-app",
"localeCode": "en_GB",
"segment": "vip",
"ipAddress": "127.0.0.1",
"userDeviceIdentifier": "",
"deviceType": "",
"appName": "",
"appVersion": "e.g. MyApp/v1.73"
},
"address": {
"addressLine1": "",
"addressLine2": "",
"addressCity": "",
"addressCounty": "",
"addressPostCode": "",
"addressCountry": ""
}
}
'import requests
url = "https://mention-me.com/api/consumer/{version}/coupon_redemption"
payload = {
"order": {
"orderIdentifier": "123456",
"total": "100",
"currencyCode": "GBP",
"dateString": "2026-01-01T12:00:00+00:00",
"couponCode": "ABC23252",
"discountAmount": "12.44",
"orderItemCount": "3",
"isSubscription": "",
"isGift": ""
},
"request": {
"partnerCode": "[YOUR-PARTNER-CODE]",
"situation": "mobile-app",
"localeCode": "en_GB",
"segment": "vip",
"ipAddress": "127.0.0.1",
"userDeviceIdentifier": "",
"deviceType": "",
"appName": "",
"appVersion": "e.g. MyApp/v1.73"
},
"address": {
"addressLine1": "",
"addressLine2": "",
"addressCity": "",
"addressCounty": "",
"addressPostCode": "",
"addressCountry": ""
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
order: {
orderIdentifier: '123456',
total: '100',
currencyCode: 'GBP',
dateString: '2026-01-01T12:00:00+00:00',
couponCode: 'ABC23252',
discountAmount: '12.44',
orderItemCount: '3',
isSubscription: '',
isGift: ''
},
request: {
partnerCode: '[YOUR-PARTNER-CODE]',
situation: 'mobile-app',
localeCode: 'en_GB',
segment: 'vip',
ipAddress: '127.0.0.1',
userDeviceIdentifier: '',
deviceType: '',
appName: '',
appVersion: 'e.g. MyApp/v1.73'
},
address: {
addressLine1: '',
addressLine2: '',
addressCity: '',
addressCounty: '',
addressPostCode: '',
addressCountry: ''
}
})
};
fetch('https://mention-me.com/api/consumer/{version}/coupon_redemption', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mention-me.com/api/consumer/{version}/coupon_redemption",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'order' => [
'orderIdentifier' => '123456',
'total' => '100',
'currencyCode' => 'GBP',
'dateString' => '2026-01-01T12:00:00+00:00',
'couponCode' => 'ABC23252',
'discountAmount' => '12.44',
'orderItemCount' => '3',
'isSubscription' => '',
'isGift' => ''
],
'request' => [
'partnerCode' => '[YOUR-PARTNER-CODE]',
'situation' => 'mobile-app',
'localeCode' => 'en_GB',
'segment' => 'vip',
'ipAddress' => '127.0.0.1',
'userDeviceIdentifier' => '',
'deviceType' => '',
'appName' => '',
'appVersion' => 'e.g. MyApp/v1.73'
],
'address' => [
'addressLine1' => '',
'addressLine2' => '',
'addressCity' => '',
'addressCounty' => '',
'addressPostCode' => '',
'addressCountry' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mention-me.com/api/consumer/{version}/coupon_redemption"
payload := strings.NewReader("{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mention-me.com/api/consumer/{version}/coupon_redemption")
.header("Content-Type", "application/json")
.body("{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mention-me.com/api/consumer/{version}/coupon_redemption")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}"
response = http.request(request)
puts response.read_bodyRecord order with a coupon
For In-Store situations where a referral transaction can occur identified by a coupon and typically without a customer email address.
The coupon must be a single-use coupon. You can validate the coupon code first using the Merchant API -> Validate Coupon Code endpoint if you wish.
If you have an email address and may not have a coupon, use the Record Order endpoint instead.
We will use the order confirmation to:
-
Record the customer is an existing customer and no longer eligible for introductory rewards (and mark their referral as redeemed)
-
Reward a referrer if this purchase was as a result of a referral
We will also use the data to optimise your referral scheme.
curl --request POST \
--url https://mention-me.com/api/consumer/{version}/coupon_redemption \
--header 'Content-Type: application/json' \
--data '
{
"order": {
"orderIdentifier": "123456",
"total": "100",
"currencyCode": "GBP",
"dateString": "2026-01-01T12:00:00+00:00",
"couponCode": "ABC23252",
"discountAmount": "12.44",
"orderItemCount": "3",
"isSubscription": "",
"isGift": ""
},
"request": {
"partnerCode": "[YOUR-PARTNER-CODE]",
"situation": "mobile-app",
"localeCode": "en_GB",
"segment": "vip",
"ipAddress": "127.0.0.1",
"userDeviceIdentifier": "",
"deviceType": "",
"appName": "",
"appVersion": "e.g. MyApp/v1.73"
},
"address": {
"addressLine1": "",
"addressLine2": "",
"addressCity": "",
"addressCounty": "",
"addressPostCode": "",
"addressCountry": ""
}
}
'import requests
url = "https://mention-me.com/api/consumer/{version}/coupon_redemption"
payload = {
"order": {
"orderIdentifier": "123456",
"total": "100",
"currencyCode": "GBP",
"dateString": "2026-01-01T12:00:00+00:00",
"couponCode": "ABC23252",
"discountAmount": "12.44",
"orderItemCount": "3",
"isSubscription": "",
"isGift": ""
},
"request": {
"partnerCode": "[YOUR-PARTNER-CODE]",
"situation": "mobile-app",
"localeCode": "en_GB",
"segment": "vip",
"ipAddress": "127.0.0.1",
"userDeviceIdentifier": "",
"deviceType": "",
"appName": "",
"appVersion": "e.g. MyApp/v1.73"
},
"address": {
"addressLine1": "",
"addressLine2": "",
"addressCity": "",
"addressCounty": "",
"addressPostCode": "",
"addressCountry": ""
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
order: {
orderIdentifier: '123456',
total: '100',
currencyCode: 'GBP',
dateString: '2026-01-01T12:00:00+00:00',
couponCode: 'ABC23252',
discountAmount: '12.44',
orderItemCount: '3',
isSubscription: '',
isGift: ''
},
request: {
partnerCode: '[YOUR-PARTNER-CODE]',
situation: 'mobile-app',
localeCode: 'en_GB',
segment: 'vip',
ipAddress: '127.0.0.1',
userDeviceIdentifier: '',
deviceType: '',
appName: '',
appVersion: 'e.g. MyApp/v1.73'
},
address: {
addressLine1: '',
addressLine2: '',
addressCity: '',
addressCounty: '',
addressPostCode: '',
addressCountry: ''
}
})
};
fetch('https://mention-me.com/api/consumer/{version}/coupon_redemption', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mention-me.com/api/consumer/{version}/coupon_redemption",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'order' => [
'orderIdentifier' => '123456',
'total' => '100',
'currencyCode' => 'GBP',
'dateString' => '2026-01-01T12:00:00+00:00',
'couponCode' => 'ABC23252',
'discountAmount' => '12.44',
'orderItemCount' => '3',
'isSubscription' => '',
'isGift' => ''
],
'request' => [
'partnerCode' => '[YOUR-PARTNER-CODE]',
'situation' => 'mobile-app',
'localeCode' => 'en_GB',
'segment' => 'vip',
'ipAddress' => '127.0.0.1',
'userDeviceIdentifier' => '',
'deviceType' => '',
'appName' => '',
'appVersion' => 'e.g. MyApp/v1.73'
],
'address' => [
'addressLine1' => '',
'addressLine2' => '',
'addressCity' => '',
'addressCounty' => '',
'addressPostCode' => '',
'addressCountry' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mention-me.com/api/consumer/{version}/coupon_redemption"
payload := strings.NewReader("{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mention-me.com/api/consumer/{version}/coupon_redemption")
.header("Content-Type", "application/json")
.body("{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mention-me.com/api/consumer/{version}/coupon_redemption")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"order\": {\n \"orderIdentifier\": \"123456\",\n \"total\": \"100\",\n \"currencyCode\": \"GBP\",\n \"dateString\": \"2026-01-01T12:00:00+00:00\",\n \"couponCode\": \"ABC23252\",\n \"discountAmount\": \"12.44\",\n \"orderItemCount\": \"3\",\n \"isSubscription\": \"\",\n \"isGift\": \"\"\n },\n \"request\": {\n \"partnerCode\": \"[YOUR-PARTNER-CODE]\",\n \"situation\": \"mobile-app\",\n \"localeCode\": \"en_GB\",\n \"segment\": \"vip\",\n \"ipAddress\": \"127.0.0.1\",\n \"userDeviceIdentifier\": \"\",\n \"deviceType\": \"\",\n \"appName\": \"\",\n \"appVersion\": \"e.g. MyApp/v1.73\"\n },\n \"address\": {\n \"addressLine1\": \"\",\n \"addressLine2\": \"\",\n \"addressCity\": \"\",\n \"addressCounty\": \"\",\n \"addressPostCode\": \"\",\n \"addressCountry\": \"\"\n }\n}"
response = http.request(request)
puts response.read_bodyPath Parameters
Version
v2, v1 v2|v1Body
About the order
Information about the order which took place
Show child attributes
Show child attributes
Information about the request
Show child attributes
Show child attributes
Information about the customer who placed the order (if present)
Show child attributes
Show child attributes
Information about the address of the customer who placed the order
Show child attributes
Show child attributes
Response
Returned when successful
Was this page helpful?