Tutorial: Purchase Hotel Module for P-Series Appliance Edition Using API

This tutorial introduces the request parameters and provides a request example to show you how to purchase Hotel Module for P-Series Appliance Edition using API.

Before you begin: Understand the request parameters

Before purchasing Hotel Module for P-Series Appliance Edition 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_service.

PBX Serial Number (SN) productNo Specify the device for which you want to purchase Hotel Module service.

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 P-Series Appliance Edition is 11.

Billing Contact ID billingId Specify the contact who can receive the invoice after you purchase Hotel Module service.

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

Service ID serviceId Specify the specific service that you want to purchase.

The Service ID for Hotel Module is 3299326068732223488.

Service Type serviceType The service type.

The value is fixed at service.

Purchase Type purchaseType The purchase type.

In this scenario, the value is fixed at purchase.

Billing Model billingModel The billing model of Hotel Module service.

The value is fixed at once.

Billing Cycle billingCycle The billing cycle of Hotel Module service.

The value is fixed at once.

Multi Cycle multiCycle The interval of recurring billing.

The value is fixed at 0.

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

  1. On PBX web portal, click Information at the top-right corner.
  2. Scroll down to Information section, then copy 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 Hotel Module service for P-Series Appliance Edition 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_service
PBX Serial Number (SN) productNo 3631E0997265
Product ID productId 11
Billing Contact ID billingId 3197218168379846218
Service ID serviceId 3299326068732223488 (ID for Hotel Module service)
Service Type serviceType service
Purchase Type purchaseType purchase
Billing Model billingModel once
Billing Cycle billingCycle once
Multi Cycle multiCycle 0

The sample request to purchase Hotel Module service for a P-Series Appliance Edition 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_service",
  "productNo": "3631E0997265",
  "productId": 11,  
  "billingId": 3197218168379846218,
  "serviceList": [
    {
      "serviceId": 3299326068732223488,
      "serviceType": "service",
     "purchaseType": "purchase",
      "billingModel": "once",
      "billingCycle": "once",
      "multiCycle": 0
    }
  ]
}

Result

The sample response is shown below:

{
    "code": "success",
    "detailMessage": "",
    "requestId": "f7b17cd7077d44a9bd6f3078b027023d",
    "result": {
        "instanceId": "1139267",
        "orderId": "1507959",
        "orderNo": "AW3327600636501164032",
        "orderStatus": "succeed",
        "productNo": "3631E0997265",
        "transactionNo": "RS3327600637180641281"
    },
    "status": 200
}