patch https://restapi.ordergroove.com/subscriptions//change_product/
Changes the product that the subscription is tied to.
History will be preserved: it will not affect past items (shipments).
This request must meet two conditions:
- The product ID that you are swapping to must already exist in Ordergroove.
- The subscription must be active (live) in order to swap it to a new product.
Additional Validations for Prepaid Subscriptions:
- For prepaid subscriptions that have prepaid orders remaining, the product you are swapping to needs to have the same price as the current product. This ensures that the value and terms of the prepaid subscription are maintained without discrepancies.
- If you want to allow customers to sku swap for products of lesser value you can contact Ordergroove support to enable it.
Authentication
Response Body Definitions
Name | Type | Description | Example |
---|---|---|---|
customer | string | Customer ID | "00026001" |
merchant | string | Merchant ID | "ac4f7938383a11e89ecbbc764e1107f2" |
product | string | Product ID | "0070000693" |
payment | string | Payment record ID | "070001bc02fd11e99542bc764e1043b0" |
shipping_address | string | Shipping address record ID | "66c25cd0564011e9abc5bc764e107990" |
offer | string | Offer ID | "a748aa648ac811e8af3bbc764e106cf4" |
subscription_type | string | Subscription Type | "Replenish" |
components | string | Legacy Bundle components | "product_id_1,product_id_2" |
components | array of objects: { public_id:string quantity:integer product:string } | New Bundle components | [ { "public_id": "79d2dc76245111eeb185acde48001122", "quantity": 1, "product": "0070067690" }, { "public_id": "7eeaa504245111eeb185acde48001122", "quantity": 3, "product": "0070067691" } ] |
extra_data | string | Raw JSON string that should be JSON.parse() as key/value store for any extra information. | {"some": "extra", "fields": "here"} |
public_id | string | Subscription ID | "f9cb2f93e1c845eb9de9eff46ddb3cbf" |
product_attribute | string | "null" | |
quantity | integer | Number of items | 21 |
price | string | Price | "12.99" |
frequency_days | integer | Order placement interval in days | 42 |
reminder_days | integer | Days before order placement to email reminder (minimum of 5) | 42 |
every | integer | Number of periods | 6 |
every_period | integer | Type of period | 3 |
start_date | string | Date of subscription start, in format YYYY-MM-DD | "2019-07-21" |
cancelled | string | Date of subscription cancellation; null=not cancelled. | "null" |
cancel_reason | string | Pipe-delimited cancel reason code and cancel reason details | "4|Overstocked" |
cancel_reason_code | string | Cancel reason code | "4" |
iteration | string | ||
sequence | string | ||
session_id | string | Session ID, obtained from og_session_id cookie | "ac4f7938383a11e89ecbbc764e1107f2.896371.1539022086" |
merchant_order_id | string | Order ID in your system | "301617" |
customer_rep | string | ||
club | string | ||
created | string | Date created | "2017-02-29 12:00:00" |
updated | string | Date updated | "2017-02-29 12:00:00" |
live | boolean | True=active subscription; False=inactive subscription | True |
prepaid_subscription_context | object | Prepaid information Returned only if prepaid is enabled | { "prepaid_orders_remaining": 0, "prepaid_orders_per_billing": 3, "renewal_behavior": "autorenew", "last_renewal_revenue": 100.8, "prepaid_origin_merchant_order_id": "#3082" } | {} |