Phone number Regulatory Compliance

Plivo provides virtual phone numbers across multiple countries. Many of these phone numbers have compliance requirements that are put in place by a regional regulatory body. Ownership and subsequent usage of these virtual phone numbers is subject to an approval process in which users must provide information and documents to the regulatory body for review. Once Plivo and the regulators at its carrier partners have reviewed the information and approved it, you can link the information and documents to a virtual phone number, after which the number is ready to be used for voice and SMS services.

Compliance generally requires a set of documents and information that regulators must accept prior to a virtual phone number being approved. The specifics are defined by regulatory bodies based on several parameters:

  • Country of the phone number
  • Phone number type: local, toll-free, or mobile
  • User type: business or individual

Here’s an example of a compliance requirement:

For a business to own a toll-free virtual phone number in the country Ruritania, the applicant must provide:

  • An address in the country of the phone number
  • Company representative identification that shows that the information provided is correct.

Quick Start Guide:

This guide provides step-by-step instructions, from renting a regulated number to ensuring that all the necessary regulatory documents have been submitted to Plivo.  

For the purpose of this guide, we will walk through the renting process of an Italy Local number from Plivo. The same steps are applicable for renting any regulated numbers from Plivo.

Step1: Read the Compliance Requirements for Italy Local Numbers for Business type End users

curl -X  GET -i --user auth_id:auth_token \
'https://api.plivo.com/v1/Account/{auth_id}/ComplianceRequirement/?end_user_type=individual&number_type=local&country_iso2=IT'

Step2: Create an End User

curl  -X POST -i --user auth_id:auth_token \
    -H "Content-Type: application/json" \
    -d '{"end_user_type" : "business", "name" : "max", "last_name" : "well"}' \
    https://api.plivo.com/v1/Account/{auth_id}/EndUser/

Step3: Read the information required to be submitted for each Document Type listed in the Compliance requirements for Italy Local numbers for Business type End users

curl  -X GET -i --user auth_id:auth_token \
https://api.plivo.com/v1/Account/{auth_id}/ComplianceDocumentType/<document_type_id>/

Step4: Create Documents

curl  -X POST -i --user auth_id:auth_token \
  -H "Content-Type: multipart/form-data" \
  --form 'alias=max'\
  --form 'end_user_id="8ed4d3a5-b00c-494f-9393-c7bbad1d9ea1"' \
  --form 'document_type_id="69933935-8909-47eb-ba4e-2a016eab2e9e"' \
   --form 'unique_identification_number="KalaynIN142131"' \
   --form 'first_name="max"' \
  --form 'file=@local_path_of_image'\
  https://api.plivo.com/v1/Account/{auth_id}/ComplianceDocument/

Step5: Update Compliance Application

curl  -X POST -i --user auth_id:auth_token \
    -H "Content-Type: application/json" \
    -d '{"alias": "<compliance application alias>", "end_user_id": "<end user id created in Step2>", "document_ids":["<document_id of documents created in step4>"], "compliance_requirement_id": "compliance requirement id retrieved from Step1" }' \
    https://api.plivo.com/v1/Account/{auth_id}/ComplianceApplication/

Step6: Submit the Compliance Application for a review

curl -X POST -i --user auth_id:auth_token \
    -H "Content-Type: application/json" \
    -d '{}' \ https://api.plivo.com/v1/Account/{auth_id}/ComplianceApplication/{ComplianceApplicationID}/Submit/

Step 7: Update Compliance Application

curl -X POST 'https://api.plivo.com/v1/Account/{auth_id}/ComplianceApplication/{ComplianceApplicationID}/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "compliance_requirement_id": "<compliance requirement id retrieved in Step1>",
    "end_user_id": "<end user id retrieved in Step2>",
    "document_ids": ["<existing documents or newly created documents as per step4>"],
    "alias": "<application alias>”
}'

Step8: Rent a numbers using the New Compliance Application

curl -X POST -i --user AUTH_ID:AUTH_TOKEN 
    -H "Content-Type: application/json" 
    -d{‘compliance_application_id’: ‘{ComplianceApplicationID}}’ 
    https://api.plivo.com/v1/Account/{auth_id}/PhoneNumber/{Number}/