Tutorial: Purchase Remote Management Using API
This tutorial introduces the request parameters and provides a request example to show you how to purchase Remote Management using API.
Before you begin: Understand the request parameters
Before purchasing Remote Management using API, we recommend that you read the table below to understand the request parameters and collect the corresponding values.
| Item | Parameter | Description |
|---|---|---|
| Operation Type | operationType |
The operation type. In this scenario, the value is fixed at
|
| Product ID | productId |
Specify the product to which you want to subscribe. The
Product ID for Remote Management is
|
| Partner ID | partnerId |
Specify the user for whom you want to purchase Remote
Management. Note: This parameter is
required only when you purchase for a subordinate user. You
will need to query the information as described in the following
steps. |
| Billing Contact ID | billingId |
Specify the contact who can receive the invoice after you
purchase Remote Management. You will need to query the Billing Contact ID as described in the following steps. |
| Plan Type & Service Type | serviceType |
|
| Plan ID & Service ID | serviceId |
Specify the specific plan and service to which you want to
subscribe. You will need to query the Plan ID and Service ID as described in the following steps. |
| Connection Plan ID | connectionPlanId |
Specify the specific plan to which you want to
subscribe. You will need to query the Plan ID as described in the following steps. |
| Quantity | quantity |
Specify the number of remote management connections to which you want to subscribe. |
| Purchase Type | purchaseType |
The purchase type. In this scenario, the value is fixed at
|
| Billing Model | billingModel |
The billing model. In this scenario, the value is fixed at
|
| Billing Cycle | billingCycle |
The billing cycle.
|
| Multi Cycle | multiCycle |
The interval of recurring billing.
|
(Optional) Step 1. Get subordinate user ID
- Make a request to the Query Subordinate User List API endpoint.
GET {base_url}/user/openapi/user/v1/client/partner_list - Note down the returned value of
partnerIdfor the desired subordinate user.
Step 2. Get plan ID and service ID
- Make a request to the Query Available Subscription / Trial Plans and Services for a Product API endpoint with the Product ID
15.GET {base_url}/pricing/openapi/purchase/v1/purchase_product_info?productId=15 - Note down the returned value of
planIdandserviceIdfor the desired plan and service.
Step 3. Get billing contact ID
- Make a request to the Query Billing Contact List API endpoint.
GET {base_url}/user/openapi/user/v1/client/billing_contact_list - Note down the returned value of
billingContactIdfor the desired billing contact.
Step 4. Purchase Remote Management
Make a request to the Create an Order API endpoint with the collected values.
POST {base_url}/order/openapi/order/v1/save
In this tutorial, the values we collect are shown below:
| Item | Parameter | Value |
|---|---|---|
| Operation Type | operationType |
purchase_plan |
| Product ID | productId |
15 |
| Billing Contact ID | billingId |
3197218168379846218 |
| Plan Type & Plan ID | serviceType &
serviceId |
|
| Service Type & Service ID | serviceType &
serviceId |
|
| Connection Plan ID | connectionPlanId |
3049036224189325312 |
| Quantity | quantity |
10 |
| Purchase Type | purchaseType |
purchase |
| Billing Model | billingModel |
recurring |
| Billing Cycle | billingCycle |
|
| Multi Cycle | multiCycle |
|
The sample request to purchase a 1-year Remote Management with 10 connections is shown below:
POST /order/openapi/order/v1/save HTTP/1.1
Host: openapi.partner.yeastar.com
Content-Type: application/json
User-Agent: OpenAPI
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJYLU1TLVVTRVIiOiJ7XCJleHByXCI6XCIwXCIsXCJ0eXBlXCI6XCJwYXJ0bmVyXCIsXCJ1Y0lkXCI6XCIzMDc2OTE1NDU0NDY4NzY3NzQ0XCIsXCJ1c2VyQ29kZVwiOlwiUGFydG5lclwiLFwidXNlcklkXCI6XCIzMDc2OTE1NDU0NDg5NzM5MjY0XCIsXCJ1c2VybmFtZVwiOlwicGFydG5lcmV4YW1wbGVAb3V0bG9vay5jb21cIn0iLCJ1c2VyX25hbWUiOiJwYXJ0bmVyZXhhbXBsZUBvdXRsb29rLmNvbSIsInNjb3BlIjpbImFsbCJdLCJleHAiOjE3Mzk3MTc5MjYsInRva2VuX3R5cGUiOiJvcGVuYXBpIiwianRpIjoidmlzMkh0QkxaUStNQmxPbS9UdThWR1pyNFljPSIsImF1dGhvcml0aWVzIjpbIjc5Il0sImNsaWVudF9pZCI6IjE0NDI5NjM2ODBiMjM0YjA0YmRjZDVjMTZmODcyOWQ2In0.RPRoTJRkXCB4krDSwGRpUFyCfUVv2LHjIiBICA1pCiY
{
"operationType": "purchase_plan",
"productId": 15,
"billingId": 3197218168379846218,
"serviceList": [
{
"serviceType": "plan",
"serviceId": 3049036224189325312,
"purchaseType": "purchase",
"billingModel": "recurring",
"billingCycle": "annually",
"multiCycle": 1
},
{
"connectionPlanId":3049036224189325312,
"serviceId": 3049037245301022720,
"serviceType": "service",
"purchaseType": "purchase",
"quantity": 10,
"billingCycle": "once",
"multiCycle": 0
}
]
}
Result
The sample response is shown below:
{
"code": "success",
"detailMessage": "",
"requestId": "44d7ca6e705ad86112b49c265949439b",
"result": {
"instanceId": "1946688",
"orderId": "1780032",
"orderNo": "DX3400813124199591936",
"orderStatus": "succeed",
"productNo": "3076913644890832896",
"transactionNo": "EQ3400813125189447681"
},
"status": 200
}