Skip to content
Last updated

Rent and configure your virtual number using PHP

After searching for a number, rent and configure that number for SMS, Voice or both.

Note:

Before you can get started, you need the following already set up:

Rent and configure your virtual number

Fill in your parameters

  1. Create a file (example: rent-config-number.php) and add the supplied sample code.
rent-config-number.php
<?php
// Requires libcurl

const projectId = "YOUR_projectId";
const phoneNumber = "YOUR_phoneNumber";
$curl = curl_init();

$payload = array(
  "smsConfiguration" => array(
    "servicePlanId" => "YOUR_servicePlanId",
    "scheduledProvisioning" => array(
      "status" => "WAITING",
      "errorCodes" => array(
        "INTERNAL_ERROR"
      )
    ),
    "campaignId" => "YOUR_campaignId"
  ),
  "voiceConfiguration" => array(
    "appId" => "YOUR_appId",
    "scheduledProvisioning" => array(
      "status" => "WAITING"
    )
  )
);

curl_setopt_array($curl, [
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_URL => "https://numbers.api.sinch.com/v1/projects/" . projectId . "/availableNumbers/" . phoneNumber . ":rent",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}

?>
ParameterYour value
YOUR_usernameyour client_id or key_id found in the Sinch Build Dashboard.
YOUR_passwordYour client_secret or key_secret. This is generated upon new key creation in the Sinch Build Dashboard. Generate a new key if you have lost your secret key.
YOUR_servicePlanIdYour SMS service plan IDThis is only required for SMS configuration.
YOUR_10DLC_campaignIdYour 10DLC campaign ID for this campaign. Found on the TCR platform. Remove this parameter entirely for non-10DLC numbers.
YOUR_appIdThe Voice app ID or voice API key. Found in the Sinch Build Dashboard. This is only required for Voice configuration.
YOUR_ProjectIDThe project ID found in the Sinch Build Dashboard.
YOUR_PhoneNumberThe virtual phone number that you previously searched for and would like to rent.
  1. Save the file.

Run the code

php rent-config-number.php

Response

You should get a response similar to this one:

{
  "phoneNumber": "+12025550134",
  "projectId": "51bc3f40-f266-4ca8-8938-a1ed0ff32b9a",
  "displayName": "string",
  "regionCode": "US",
  "type": "MOBILE",
  "capability": [
    "SMS"
  ],
  "money": {
    "currencyCode": "USD",
    "amount": "2.00"
  },
  "paymentIntervalMonths": 0,
  "nextChargeDate": "2019-08-24T14:15:22Z",
  "expireAt": "2019-08-24T14:15:22Z",
  "smsConfiguration": {
    "servicePlanId": "82b42acf74924bd687ef9fb212f2060c",
    "scheduledProvisioning": {
      "servicePlanId": "82b42acf74924bd687ef9fb212f20611",
      "status": "WAITING",
      "lastUpdatedTime": "2019-08-24T14:15:22Z",
      "campaignId": "string",
      "errorCodes": [
        "INTERNAL_ERROR"
      ]
    },
    "campaignId": "string"
  },
  "voiceConfiguration": {
    "appId": "string",
    "scheduledVoiceProvisioning": {
      "appId": "string",
      "status": "WAITING",
      "lastUpdatedTime": "2019-08-24T14:15:22Z"
    },
    "lastUpdatedTime": "2019-08-24T14:15:22Z"
  }
}

Next steps

Send a message to yourself using the SMS API or the Voice API (after setting each up accordingly) to verify that the configuration was successful.

Additional resources