Discounts use cases
This section provides several common use cases that demonstrate how you can create different types of discounts with various rules.
Common use cases
There are several types of discounts that you can create to establish relationships with your customers.
New customer discounts
New customer discounts can incentivize a customer to sign up. The following example shows how you can create a 20% off discount for first-time customers who place an order in your store.
Create a one-time 20% off discount for new customers only:
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your token} \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "FEBNEWCUSTOMER22",
"value": 20,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": 1,
"status": "enabled",
"usage_limit": 1,
"first_time_customer_restriction": "customer_must_not_exist_in_recharge",
"starts_at": "2022-02-08",
"ends_at": "2023-12-31",
"applies_to_id": 7535871328502,
"applies_to_resource": "shopify_product"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"code": "FEBNEWCUSTOMER22",
"value": 20,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": True
},
"checkout_page": {
"can_apply": True
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": True
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": 1,
"status": "enabled",
"usage_limit": 1,
"first_time_customer_restriction": "customer_must_not_exist_in_recharge",
"starts_at": "2022-02-08",
"ends_at": "2023-12-31",
"applies_to_id": 7535871328502,
"applies_to_resource": "shopify_product"
})
headers = {
'X-Recharge-Access-Token': {your token},
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "{your_access_token}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"code": "FEBNEW2022",
"value": 20,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": 1,
"status": "enabled",
"usage_limit": 1,
"first_time_customer_restriction": "customer_must_not_exist_in_recharge",
"starts_at": "2022-02-15",
"ends_at": "2023-12-31",
"applies_to_id": 753871328502,
"applies_to_resource": "shopify_product"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => '{your_access_token}',
'Content-Type' => 'application/json',
));
$request->setBody('{\n "code": "FEBNEW2022",\n "value": 20,\n "discount_type": "percentage",\n "channel_settings": {\n "api": {\n "can_apply": true\n },\n "checkout_page": {\n "can_apply": true\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": true\n }\n },\n "applies_to_product_type": "ONETIME",\n "duration": "usage_limit",\n "duration_usage_limit": 1,\n "status": "enabled",\n "usage_limit": 1,\n "first_time_customer_restriction": "customer_must_not_exist_in_recharge",\n "starts_at": "2022-02-15",\n "ends_at": "2023-12-31",\n "applies_to_id": 753871328502,\n "applies_to_resource": "shopify_product"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
API Version 2021-11 examples in the next tabs
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your_access_token}\
--header 'Content-Type: application/json' \
--data-raw '{
"applies_to": {
"purchase_item_type": "ONETIME"
},
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"code": "FEB20NEWCUSTOMER",
"status": "enabled",
"usage_limits": {
"first_time_customer_restriction": true,
"one_application_per_customer": false
},
"value": "20",
"value_type": "percentage"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"applies_to": {
"purchase_item_type": "ONETIME"
},
"channel_settings": {
"api": {
"can_apply": True
},
"checkout_page": {
"can_apply": True
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": True
}
},
"code": "FEB22NEWCUSTOMER20",
"status": "enabled",
"usage_limits": {
"first_time_customer_restriction": True,
"one_application_per_customer": False
},
"value": "20",
"value_type": "percentage"
})
headers = {
'X-Recharge-Access-Token': {your_access_token},
'Content-Type': 'application/json',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "sk_test_1x1_fd5d4c5ad5201a107434b4d2d967e0539e872beb0d70179af3f5ce0ec0078927"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"applies_to": {
"purchase_item_type": "ONETIME"
},
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"code": "FEB22NEWCUSTOMERDISCOOUNT",
"status": "enabled",
"usage_limits": {
"first_time_customer_restriction": true,
"one_application_per_customer": false
},
"value": "20",
"value_type": "percentage"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => {your_access_token},
'Content-Type' => 'application/json',
));
$request->setBody('{\n "applies_to": {\n "purchase_item_type": "ONETIME"\n },\n "channel_settings": {\n "api": {\n "can_apply": true\n },\n "checkout_page": {\n "can_apply": true\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": true\n }\n },\n "code": "FEB22NEWCUSTOMERDISCOOUNT",\n "status": "enabled",\n "usage_limits": {\n "first_time_customer_restriction": true,\n "one_application_per_customer": false\n },\n "value": "20",\n "value_type": "percentage"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Parameters explained
2021-01 | 2021-11 |
---|---|
|
|
Redemption limits and applications
Redemption limits are useful to create discounts whose value is spread across time. This increases customer lifetime and gives a user the opportunity to create a new habit for the product.
The following example shows how you can create a discount that has a limit of 3 redemptions for $10 each, with a maximum number of discount applications in the entire store set to 100.
Note:
This feature will be coming soon to Recharge API version 2021-11. The following example illustrates this feature for Recharge API version 2021-01.
3 redemptions for $10 limited to 100 applications:
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your_access_token} \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "FEB22REDEMPTIONDISCOUNT",
"value": "10",
"discount_type": "fixed_amount",
"channel_settings": {
"api": {
"can_apply": false
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": false
}
},
"applies_to_product_type": "ALL",
"duration": "usage_limit",
"duration_usage_limit": "3",
"status": "enabled",
"usage_limit": "100",
"starts_at": "2022-02-10",
"ends_at": "2023-12-31",
"applies_to_id": "7535871328502",
"applies_to_resource": "shopify_product"
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"code": "FEB22REDEMPTIONDISCOUNT",
"value": "10",
"discount_type": "fixed_amount",
"channel_settings": {
"api": {
"can_apply": False
},
"checkout_page": {
"can_apply": True
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": False
}
},
"applies_to_product_type": "ALL",
"duration": "usage_limit",
"duration_usage_limit": "3",
"status": "enabled",
"usage_limit": "100",
"starts_at": "2022-02-10",
"ends_at": "2023-12-31",
"applies_to_id": "7535871328502",
"applies_to_resource": "shopify_product"
})
headers = {
'X-Recharge-Access-Token': {your_access+token},
'Content-Type': 'application/json',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "{your_access_token}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"code": "FEBTRIPLEDISCOUNT2022",
"value": 10,
"discount_type": "fixed_amount",
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"applies_to_product_type": "ALL",
"duration": "usage_limit",
"duration_usage_limit": 3,
"status": "enabled",
"usage_limit": 100,
"starts_at": "2022-02-15",
"ends_at": "2023-12-31",
"applies_to_id": 753871328502,
"applies_to_resource": "shopify_product"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => '{your_access_token}',
'Content-Type' => 'application/json',
));
$request->setBody('{\n "code": "FEBTRIPLEDISCOUNT2022",\n "value": 10,\n "discount_type": "fixed_amount",\n "channel_settings": {\n "api": {\n "can_apply": true\n },\n "checkout_page": {\n "can_apply": true\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": true\n }\n },\n "applies_to_product_type": "ALL",\n "duration": "usage_limit",\n "duration_usage_limit": 3,\n "status": "enabled",\n "usage_limit": 100,\n "starts_at": "2022-02-15",\n "ends_at": "2023-12-31",\n "applies_to_id": 753871328502,\n "applies_to_resource": "shopify_product"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Free shipping for one customer with end date
Offering free shipping to a customer can be a way for you to potentially prevent the customer from abandoning their cart because of shipping costs.
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your token} \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "FREESHIPPINGFEB22",
"value": 100,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": 1,
"status": "enabled",
"usage_limit": 1,
"starts_at": "2022-02-08",
"ends_at": "2023-12-31"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"code": "FREESHIPPINGFEB22",
"value": 100,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": True
},
"checkout_page": {
"can_apply": True
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": True
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": 1,
"status": "enabled",
"usage_limit": 1,
"starts_at": "2021-02-08",
"ends_at": "2023-12-31"
})
headers = {
'X-Recharge-Access-Token': {your token},
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "{your_access_token}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"code": "FEB22FREESHIPPING",
"value": "100",
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": true
},
"checkout_page": {
"can_apply": true
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": true
}
},
"applies_to_product_type": "ONETIME",
"duration": "usage_limit",
"duration_usage_limit": "1",
"status": "enabled",
"usage_limit": "1",
"starts_at": "2022-02-15",
"ends_at": "2023-12-31"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => '{your_access_token}',
'Content-Type' => 'application/json',
));
$request->setBody('{\n "code": "FEB22FREESHIPPING",\n "value": "100",\n "discount_type": "percentage",\n "channel_settings": {\n "api": {\n "can_apply": true\n },\n "checkout_page": {\n "can_apply": true\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": true\n }\n },\n "applies_to_product_type": "ONETIME",\n "duration": "usage_limit",\n "duration_usage_limit": "1",\n "status": "enabled",\n "usage_limit": "1",\n "starts_at": "2022-02-15",\n "ends_at": "2023-12-31"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
API Version 2021-11 examples in the next tabs
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your_access_token}\
--header 'Content-Type: application/json' \
--data-raw '{
"code": "FREESHIPPINGCUSTOMER22",
"value": "100.00",
"value_type": "shipping",
"usage_limit": "1",
"ends_at": "2023-12-31"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"code": "FREESHIPPINGCUSTOMER22",
"value": "100.00",
"value_type": "shipping",
"usage_limit": "1",
"ends_at": "2023-12-31"
})
headers = {
'X-Recharge-Access-Token': {your_access_token},
'Content-Type': 'application/json',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = “ {
your_access_token
}”
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"code": "FEB2022FREESHIPPING",
"value": "100.00",
"value_type": "shipping",
"usage_limit": "1",
"ends_at": "2023-12-31"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => {your_access_token},
'Content-Type' => 'application/json',
));
$request->setBody('{\n "code": "FEB2022FREESHIPPING",\n "value": "100.00",\n "value_type": "shipping",\n "usage_limit" : "1",\n "ends_at" : "2023-12-31"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Multiple rules for discount redemptions
Occasionally, you may wish to create a discount with very specific limitations on how the discount can be applied to maximize its effectiveness. You can choose to limit the channels where the discount can be applied, the products or collections that can be associated with the discount, as well as the number of times a customer may apply the discount. All of these filters provide you with a strong measure of control in how discounts are applied in your store.
The following example shows how you can create a discount with a limit of three redemptions for a customer, limit the redemption to the customer portal, and limits the application of the discount to a list of products.
Three redemptions on customer portal only for a collection:
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your access token} \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "RedemptionsCollections",
"value": 15,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": false
},
"checkout_page": {
"can_apply": false
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": false
}
},
"applies_to_product_type": "SUBSCRIPTION",
"duration": "usage_limit",
"duration_usage_limit": 3,
"status": "enabled",
"usage_limit": 1,
"starts_at": "2022-02-08",
"ends_at": "2023-12-31",
"applies_to_id": 389334466806,
"applies_to_resource": "shopify_collection_id"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"code": "RedemptionsCollections",
"value": 15,
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": False
},
"checkout_page": {
"can_apply": False
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": False
}
},
"applies_to_product_type": "SUBSCRIPTION",
"duration": "usage_limit",
"duration_usage_limit": 3,
"status": "enabled",
"usage_limit": 1,
"starts_at": "2022-02-08",
"ends_at": "2023-12-31",
"applies_to_id": 389334466806,
"applies_to_resource": "shopify_collection_id"
})
headers = {
'X-Recharge-Access-Token': {your access token},
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "{your_access_token}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"code": "FEB22COLLECTIONDISCOUNT",
"value": "15",
"discount_type": "percentage",
"channel_settings": {
"api": {
"can_apply": false
},
"checkout_page": {
"can_apply": false
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": false
}
},
"applies_to_product_type": "SUBSCRIPTION",
"duration": "usage_limit",
"duration_usage_limit": "3",
"status": "enabled",
"usage_limit": "1",
"starts_at": "2022-02-15",
"ends_at": "2023-12-31",
"applies_to_id": "389334466806",
"applies_to_resource": "shopify_collection_id"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => {your_access_token},
'Content-Type' => 'application/json',
));
$request->setBody('{\n "code": "FEB22COLLECTIONDISCOUNT",\n "value": "15",\n "discount_type": "percentage",\n "channel_settings": {\n "api": {\n "can_apply": false\n },\n "checkout_page": {\n "can_apply": false\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": false\n }\n },\n "applies_to_product_type": "SUBSCRIPTION",\n "duration": "usage_limit",\n "duration_usage_limit": "3",\n "status": "enabled",\n "usage_limit": "1",\n "starts_at": "2022-02-15",\n "ends_at": "2023-12-31",\n "applies_to_id": "389334466806",\n "applies_to_resource": "shopify_collection_id"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
API Version 2021-11 examples in the next tabs
curl --location --request POST 'https://api.rechargeapps.com/discounts' \
--header 'X-Recharge-Access-Token: {your_access_token}\
--header 'Content-Type: application/json' \
--header 'Cookie: session=eyJfcmNzaSI6eyJkIjpudWxsLCJoIjoiYXBpLnJlY2hhcmdlYXBwcy5jb20iLCJ2IjoyfX0.YgNgDA.Yi-iCfSckUsDo_nBEhoyH5-BGGg' \
--data-raw '{
"applies_to": {
"purchase_item_type": "ALL",
"applies_to_ids": "389334466806",
"applies_to_resource": "shopify_collection_id"
},
"channel_settings": {
"api": {
"can_apply": false
},
"checkout_page": {
"can_apply": false
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": false
}
},
"code": "TRIPREDEMPTIONSFEB2022",
"status": "enabled",
"usage_limits": {
"max_subsequent_redemptions": "2",
"first_time_customer_restriction": false,
"one_application_per_customer": false
},
"value": "20",
"value_type": "fixed_amount"
}'
import requests
import json
url = "https://api.rechargeapps.com/discounts"
payload = json.dumps({
"applies_to": {
"purchase_item_type": "ALL",
"applies_to_ids": "389334466806",
"applies_to_resource": "shopify_collection_id"
},
"channel_settings": {
"api": {
"can_apply": False
},
"checkout_page": {
"can_apply": False
},
"customer_portal": {
"can_apply": True
},
"merchant_portal": {
"can_apply": False
}
},
"code": "TRIPREDEMPTIONSFEB2022",
"status": "enabled",
"usage_limits": {
"max_subsequent_redemptions": "2",
"first_time_customer_restriction": False,
"one_application_per_customer": False
},
"value": "20",
"value_type": "fixed_amount"
})
headers = {
'X-Recharge-Access-Token': {your_access_token}',
'Content-Type': 'application/json',
'Cookie': 'session=eyJfcmNzaSI6eyJkIjpudWxsLCJoIjoiYXBpLnJlY2hhcmdlYXBwcy5jb20iLCJ2IjoyfX0.YgNgDA.Yi-iCfSckUsDo_nBEhoyH5-BGGg'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "json"
require "net/http"
url = URI("https://api.rechargeapps.com/discounts")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Recharge-Access-Token"] = "{your_access_token}"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"applies_to": {
"purchase_item_type": "ALL",
"applies_to_ids": "389334466806",
"applies_to_resource": "shopify_collection_id"
},
"channel_settings": {
"api": {
"can_apply": false
},
"checkout_page": {
"can_apply": false
},
"customer_portal": {
"can_apply": true
},
"merchant_portal": {
"can_apply": false
}
},
"code": "NEWCUSTOMERDISCOUNTFEB2022",
"status": "enabled",
"usage_limits": {
"max_subsequent_redemptions": "3",
"first_time_customer_restriction": false,
"one_application_per_customer": false
},
"value": "20",
"value_type": "percentage"
})
response = https.request(request)
puts response.read_body
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.rechargeapps.com/discounts');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'X-Recharge-Access-Token' => '{your_access_token}',
'Content-Type' => 'application/json',
));
$request->setBody('{\n "applies_to": {\n "purchase_item_type": "ALL",\n "applies_to_ids": "389334466806",\n "applies_to_resource": "shopify_collection_id"\n },\n "channel_settings": {\n "api": {\n "can_apply": false\n },\n "checkout_page": {\n "can_apply": false\n },\n "customer_portal": {\n "can_apply": true\n },\n "merchant_portal": {\n "can_apply": false\n }\n },\n "code": "NEWCUSTOMERDISCOUNTFEB2022",\n "status": "enabled",\n "usage_limits": {\n "max_subsequent_redemptions" : "3",\n "first_time_customer_restriction": false,\n "one_application_per_customer": false\n },\n "value": "20",\n "value_type": "percentage"\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Parameters explained
2021-01 | 2021-11 |
---|---|
|
|
Updated 2 days ago