Tutorial: Purchase Linkus Cloud Service Using API

This tutorial introduces the request parameters and provides a request example to show you how to purchase Linkus Cloud Service for the desired PBX using API.

Before you begin: Understand the request parameters

Before purchasing Linkus Cloud Service 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 purchase_plan.

PBX Serial Number (SN) productNo Specify the device for which you want to subscribe to Linkus Cloud Service product.

You will need to query the PBX SN as described in the following steps.

Product ID productId Specify the product to which you want to subscribe.

The Product ID for Linkus Cloud Service is 9.

Billing Contact ID billingId Specify the contact who can receive the invoice after you subscribe to Linkus Cloud Service product.

You will need to query the Billing Contact ID as described in the following steps.

Plan ID serviceId Specify the specific plan to which you want to subscribe.

The Plan IDs for Linkus Cloud Service product are shown below:

  • Linkus Cloud Service: 3048918321840570368
  • Linkus Cloud Service Pro: 3048918719332507648
    Note: Only S-Series VoIP PBX with version 30.15.0.100/65.16.0.8/78.16.0.8 or later supports Linkus Cloud Service Pro.
Plan Type serviceType The plan type.

The value is fixed at plan.

Purchase Type purchaseType The purchase type.

In this scenario, the value is fixed at purchase.

Billing Model billingModel The billing model of Linkus Cloud Service product.

The value is fixed at recurring.

Billing Cycle billingCycle The billing cycle of Linkus Cloud Service product.

The value is fixed at annually.

Multi Cycle multiCycle The interval of recurring billing.

Valid value: 1, 2, 3, 4, 5

Step 1. Get Serial Number (SN) from PBX web portal

  1. On PBX web portal, click (Resource Monitor).
  2. Scroll down to Information section, then note down the Serial Number.

Step 2. Get Billing Contact ID using an API

  1. Make a request to the Query Billing Contact List API endpoint.
    GET {base_url}/user/openapi/user/v1/client/billing_contact_list
  2. Note down the returned value of billingContactId for the desired billing contact.

Step 3. Purchase Linkus Cloud Service using an API

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
PBX Serial Number (SN) productNo 369471667338
Product ID productId 9
Billing Contact ID billingId 3197218168379846218
Plan ID serviceId 3048918321840570368 (ID for Linkus Cloud Service)
Plan Type serviceType plan
Purchase Type purchaseType purchase
Billing Model billingModel recurring
Billing Cycle billingCycle annually
Multi Cycle multiCycle 1

The sample request to subscribe to 1-year Linkus Cloud Service product for a specific PBX 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",
  "productNo": "369471667338",
  "productId": 9,
  "billingId": 3197218168379846218,
  "serviceList": [
    {
      "serviceId": 3048918321840570368,
      "serviceType": "plan",
      "purchaseType": "purchase",
      "billingModel": "recurring",
      "billingCycle": "annually",
      "multiCycle": 1
    }
  ]
}

Result

The sample response is shown below:

{
    "code": "success",
    "detailMessage": "",
    "requestId": "3a5aacc71e826063e7178c5b2050e633",
    "result": {
        "instanceId": "106396",
        "orderNo": "LR3206190457467703296",
        "orderStatus": "succeed",
        "productNo": "369471667338",
        "transactionNo": "QO3206190458986041345"
    },
    "status": 200
}