Connect Subscriptions
POST https://api.chartmogul.com/v1/customers/CUSTOMER_UUID/connect_subscriptions
Accepts details of two subscription objects that you want to connect.
# Using data_source_uuid and subscription external_id to connect two subscriptions
curl -X POST "https://api.chartmogul.com/v1/customers/cus_f466e33d-ff2b-4a11-8f85-417eb02157a7/connect_subscriptions" \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"subscriptions": [
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id": "sub_0001"
},
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id": "sub_0002"
}
]
}'
# Or using data_source_uuid and subscriptions uuid to connect two subscriptions
curl -X POST "https://api.chartmogul.com/v1/customers/cus_f466e33d-ff2b-4a11-8f85-417eb02157a7/connect_subscriptions" \
-u YOUR_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"subscriptions": [
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"uuid": "sub_d1c0c885-add0-48db-8fa9-0bdf5017d6b0"
},
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"uuid": "sub_9db5f4a1-1695-44c0-8bd4-de7ce4d0f1d4"
}
]
}'
customer = ChartMogul::Customer.retrieve("cus_f466e33d-ff2b-4a11-8f85-417eb02157a7")
first_sub = customer.subscriptions.find { |e| e.external_id == "sub_0001" }
second_sub = customer.subscriptions.find { |e| e.external_id == "sub_0002" }
first_sub.connect(customer.uuid, [second_sub])
ChartMogul.Customer.connectSubscriptions(
config,
"cus_f466e33d-ff2b-4a11-8f85-417eb02157a7",
{
subscriptions: [
{
data_source_uuid: "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
external_id: "sub_0001",
},
{
data_source_uuid: "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
external_id: "sub_0002",
},
],
}
);
ChartMogul\Customer::connectSubscriptions("cus_f466e33d-ff2b-4a11-8f85-417eb02157a7", [
"subscriptions" => [
[
"data_source_uuid" => "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id" => "sub_0001",
],
[
"data_source_uuid" => "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id" => "sub_0002",
],
]
]);
api.ConnectSubscriptions("cus_f466e33d-ff2b-4a11-8f85-417eb02157a7", []cm.Subscription{
{
DataSourceUUID: "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
ExternalID: "sub_0001",
},
{
DataSourceUUID: "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
ExternalID: "sub_0002",
},
})
chartmogul.Customer.connectSubscriptions(
config,
uuid="cus_f466e33d-ff2b-4a11-8f85-417eb02157a7",
data={
"subscriptions": [
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id": "sub_0001",
},
{
"data_source_uuid": "ds_ade45e52-47a4-231a-1ed2-eb6b9e541213",
"external_id": "sub_0002",
},
]
},
)
{}
true
{}
true
None
<Customer{}>
Connect subscriptions using data_source_uuid
and external_id
.
If you want to connect two subscriptions with the same subscription external id from the same data source (e.g. cancelled and reactivated subscription), use data_source_uuid
and uuid
. The uuid
of the subscription can be found via List Customer Subscriptions API query. The endpoint will return a 400 HTTP error when using data_source_uuid
and external_id
.
Query parameters
customer_uuid
string- The ChartMogul UUID of the Customer whose subscriptions you need to connect.
Body parameters
subscriptions
array(object) required- Identifiers for two or more subscriptions that you want to connect.
Response
Once a valid request is received by the API, it will respond with 202 - Accepted
, and the subscriptions will be connected asynchronously.
Connecting recently created subscriptions. If a subscription with the specified identifiers cannot be found, this endpoint will return an HTTP status 404
. In this context, it is important to note that invoices that have been imported recently, may not have been fully processed, and related subscriptions not yet generated. It is thus recommended to wait for all imported invoices to be completely processed and reported in the dashboard, before placing API requests for connecting subscriptions.