Add a DID
Adds a single DID number to the tenant and binds it to one or more trunks.
Request URL
POST {base_url}/uc-cconfig/api/v1/dids
Request parameters
- Headers
-
Parameter Required Type Description Authorization Yes String The access token used for authentication. Format: Bearer
{access_token}.x-tenant-code No String The tenant name. Note: You can obtain tenant name using the Query Tenants interface.
- Body parameters
-
Parameter Required Type Description countryCode Yes String The ISO 3166-1 country code, for example CN,US. UseXXfor Unknown Country to bypass country identification and save the number directly.didNumber Yes String The DID number. Supports formatting characters, maximum 31 characters. didName No String The DID name, maximum 127 characters. Chinese characters are weighted 3:1 against English. numberType No String The number type. Supports custom values, for example Local,Mobile,Toll-free. Maximum 127 characters.trunkIds Yes Array<String> The list of trunk IDs to bind. Each ID must be greater than 0. destination No String The DID call destination, for example extension:1001. Maximum 128 characters.remark No String The remark. Maximum 1024 characters. Chinese characters are weighted 3:1 against English.
Response parameters
| Parameter | Type | Description |
|---|---|---|
| requestId | String | The unique ID of the request, which can be used to quickly locate the request. |
| code | String | The HTTP status code of the request.
|
| message | String | The status message of the request. |
| detailMessage | String | The detailed error information. When the request is successful, this parameter returns empty. |
| result | Object<DID_Data> | The created DID data. |
- DID_Data
-
Parameter Type Description id String The DID ID. didNumber String The DID number (original input, may contain formatting characters). didName String The DID name. destination String The DID call destination, for example extension:1001,ivr:sales.creator String The user ID of the creator. assignedTenant String The tenant currently assigned to this DID ( null= unassigned).trunkIds Array<String> The list of bound trunk IDs. createdAt String The creation time as a millisecond timestamp. updatedAt String The update time as a millisecond timestamp. didE164 String The full E.164 format number. For Unknown Country, stores nationalNumber.countryCode String The ISO 3166-1 country code, for example CN,US.XXindicates Unknown Country.countryCallingCode String The country calling code, for example 86,1. Empty for Unknown Country.nationalNumber String The local number (country code stripped, cleaned digits only). numberType String The number type, for example Local,Mobile,Toll-free. Supports custom values.defaultDisplayFormat String The default display format, for example (261) 111-1127.remark String The remark. assignedReseller String The assigned reseller ID (empty = My Tenant). ownerType String The ownership type ( adminorreseller). Immutable after creation.resellerResetWarning Object<Reseller_Reset_Warning> The reseller reset warning details. Present only when the operation would cause a reseller to lose access.
- Reseller_Reset_Warning
-
Parameter Type Description saved Boolean Whether the operation was saved. Always falsewhen a warning exists.items Array<Reseller_Reset_Item> The list of affected DID entries.
- Reseller_Reset_Item
-
Parameter Type Description didDisplay String The affected DID number (default display format). resellerEmail String The email of the currently assigned reseller. tenantName String The tenant occupancy name (returned when the DID has been assigned to a tenant; empty otherwise).
Example
Request example
POST /uc-cconfig/api/v1/dids HTTP/1.1
Host: api.cn.novoone.com
Authorization: Bearer eyJraWQiOiJjbi0wLWtleS0xIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJkaXN0cmlidXRvcmV4YW1wbGVAb3V0bG9vay5jb20iLCJhcHBfa2V5Ijoic2xOdnQzaHc1NXB2Vm5HRlNhR2ZOVTNmMWxYQ3lpa08iLCJncmFudF90eXBlIjoib3BlbmFwaSIsImNsaWVudF9leHQiOnsiZGVzY3JpcHRpb24iOiLnrKzkuInmlrnlkIjkvZzkvJnkvLTlupTnlKgiLCJwYXJ0bmVyIjoi56S65L6L5ZCI5L2c5LyZ5Ly0In0sImNsaWVudF90eXBlIjoib3BlbmFwaSIsImV4cCI6MTc5MzYzODk1MywiaWF0IjoxNzkzNjE3MzUzLCJqdGkiOiIzMTg2YTYxNi0yOTdjLTRkNzMtODRkZC1lNzNkODE1ZDRmYmYiLCJjbGllbnRfaWQiOiJub3ZvLW9wZW4tcGxhdGZvcm0iLCJ1c2VyX2V4dCI6eyJyb2xlSWRzIjpbM10sInN0eXBlIjoiQURNSU4iLCJ0ZW5hbnRDb2RlIjpudWxsLCJ0eXBlIjoiUF9BQ0NPVU5UIiwidXNlcklkIjozMDc2OTEzNjQ0OTE1OTk4NzIwLCJlbWFpbCI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInVzZXJuYW1lIjoiZGlzdHJpYnV0b3JleGFtcGxlQG91dGxvb2suY29tIiwidWNJZCI6MzA3NjkxMzY0NDg5MDgzMjg5Nn19.FR6Pir4F-5uDAVqebnXRnVymCoQlN5je95U9NywVCtrMLYnEjMNH1cw20Gz81DothBN4jXNzWT6A1V-DcghGQyjNjAAqfwTLYxAeksE_h8myiynhB67sB0VS6EPv8MTkEdVk4dmujjkQXU2yFVzlpQNvLwQhFDqpxlwpsom-Uk5jNh-JpWzpWJs9JP9Bn3oIZAwv847fXkvG_rSkBc2AAHf3y-zpRZ8nEZF4WDSCoEMfbsTdT5qahecCcThvJesTGFWyA1eW4xEUDplwZpnO-s7DIsbUrSO_123ylqOz0YZm2EirVJwr7j4KPzXFtTZdcvZ6t5mI9ofDbXG0woeTOw
Content-Type: application/json
{
"countryCode": "US",
"didNumber": "19995554001",
"didName": "doc-did-a",
"numberType": "Local",
"trunkIds": [
"343306926664237056"
],
"destination": "extension:1001",
"remark": "doc-test"
}
Response example
HTTP/1.1 200 OK { "requestId": "ef285e4b4c954053e9e40a71ead78bc0", "code": "200", "message": "SUCCESS", "detailMessage": "", "result": { "id": "375602272973185024", "didNumber": "19995554001", "didName": "doc-did-a", "destination": "extension:1001", "creator": "3076913644915998720", "assignedTenant": "", "trunkIds": [ "343306926664237056" ], "createdAt": "1793617760229", "updatedAt": "1793617760229", "didE164": "+19995554001", "countryCode": "US", "countryCallingCode": "1", "nationalNumber": "9995554001", "numberType": "Local", "defaultDisplayFormat": "(999) 555-4001", "remark": "doc-test", "assignedReseller": "", "ownerType": "admin" } }