The following article will provide information on how to provision longcode number(s) for A2P Messaging and Voice services.
Customers that already have their own longcode number(s) (10DLC SMS/MMS, Text and Voice enabled for international reach) can migrate them to the Syniverse CPaaS platform. Customers must ensure that they can prove ownership of these numbers by submitting a completed LOA (Letter of Authorization) see attached.
Getting Started
Syniverse provides you with the capability via API to import longcode number(s). The steps listed below will provide a step-by-step process on how to accomplish the import. It is important to note that newly provisioned senders will appear within the platform; however, processing time (until full activation) can take up to 10 hours to complete in Syniverse application. Please never submit more than 1000 numbers at a time using the below explained process.
A. When getting started, please submit the longcode number(s) list that you want to migrate along with a completed LOA to your assigned Implementation Manager or Account Manager.
B. At the same time, prior to invoking this API resource, make sure you have completed the following:
- Be sure to specify the appropriate number capabilities (SMS, MMS or VOICE) as well as supported country.
- When specifying the country, please use the “Country code” supported is ISO 3-Letter code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
Once you have completed the steps listed above, proceed with the following set of prerequisites.
Prerequisites
- Create a Sender ID import template. (CSV format)
Required Field | Description |
sender_address | Long Code number to be imported. |
address_name | Unique identifier for the long code that is being imported. |
address_type | Set as default to “LONGCODE” |
Capabilities | Set the value based on channel to be used (VOICE, SMS, MMS) |
Country | Specify the country using the ISO 3-Letter code for each the country that the longcode will be used for. |
Description | Provide description of the service or channel implemented for this longcode. |
2. Copy of your LOA/receipt to a pdf format.
3. You will also need to have your SCG TOKEN, which can be obtain from your SDC portal in the application section under credentials.
How to submit a Sender ID batch import via API:
Once the prerequisites have been completed, follow the next set of steps to upload the files and create the Sender IDs. This API allows you to import your already registered/text-enabled Longcode number(s) to create Sender IDs.
- Create a Sender ID import file.
When using this API, make sure the value of the "filename" attribute matches the name of the file you are creating an attachment for.
curl --location 'https://api.syniverse.com/scg-external-api/api/v1/messaging/attachments' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"designation":"SENDERIDS_IMPORT",
"name":"Longcode Import",
"type":"application/vnd.ms-excel",
"filename":"senderAddressImportTemplate.csv"
}'
Response will return the attachmentId also known as Resource ID
{
"id": "{ResourceID}"
}
Required Field | Description |
designation | Use default Value “SENDERIDS_IMPORT” |
name | Unique name used to describe import attachment. |
type | Use default value “application/vnd.ms-excel” |
filename | original import file name. (Created in the prerequisite section of this document) |
When invoking the curl script described above, you will need to provide your SCG TOKEN. Once executed, the script will return a “ResourceID”. This resource ID will be used in the next step of the create process.
2. Create an Access Token for Uploading the Sender ID Attachment Data (Returns Access Token)
Using the Resource ID received from Step 1, submit a request to obtain the access token.
curl --location 'https://api.syniverse.com/scg-external-api/api/v1/access_tokens' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"resource": "ATTACHMENT",
"resource_id": "{ResourceID}"
}'
API Response return Access Token (to be used for uploading the file):
{
"id": "{Access Token}"
}
Required Field | Description |
Resource | Use default Value “ATTACHMENT” |
Resource_id | Value received from Step 1 of this document. |
Once executed, the script will return a “Access Token”. This Access Token ID will be used in the next step of the upload process.
3. Upload Attachment Data (using the access token)
curl --location 'https://api.syniverse.com/scg-attachment/api/v1/messaging/attachments/{AccessToken}/content' \
--header 'Content-Type: */*' \
--header 'Authorization: Bearer {TOKEN}' \
--data '@/C:/Users/senderAddressImportTemplate.csv'
Required Field | Description |
AccessToken | Path variable as seen in step 3 in bold. |
data | File location on the local machine |
Note: This step will return an HTTP 204 success message.
4. Submit your receipt/LOA / Create Receipt/LOA Attachment
curl --location 'https://api.syniverse.com/scg-external-api/api/v1/messaging/attachments' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"name":"MyTFN Receipt",
"type":"text/pdf",
"filename":"Syniverse Letter of Authorization.pdf"
}'
Response will return the attachmentId also known as Resource ID
{
"id": "{ResourceID}"
}
Required Field | Description |
name | Unique name that will identify the attachment |
type | Use default value “text/pdf” |
filename | Original import file name. (Created in the prerequisite section of this document) |
When invoking the curl script described above, you will need to provide your SCG TOKEN. Once executed, the script will return a “ResourceID”. This resource ID will be used in the next step of the file upload process.
5. Create an Access Token for Uploading the Receipt (Returns Access Token)
curl --location 'https://api.syniverse.com/scg-external-api/api/v1/access_tokens' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"resource": "ATTACHMENT",
"resource_id": "{ResourceID}"
}'
API Response return Access Token (to be used for uploading the file)
{
"id": "{Access Token}"
}
Required Field | Description |
Resource | Use default Value “ATTACHMENT” |
Resource_id | Value received from Step 4 of this document |
Once executed, the script will return a “Access Token”. This Access Token ID will be used in the next step of the upload process.
6. Upload the Receipt/LOA data.
Using the access token, call the API to upload your LOA/Receipt
curl --location 'https://api.syniverse.com/scg-attachment/api/v1/messaging/attachments/{AccessToken}/content' \
--header 'Content-Type: */*' \
--header 'Authorization: Bearer {TOKEN}' \
--data '@/C:/Users/SyniverseLetterofAuthorization.pdf'
Required Field | Description |
AccessToken | Path variable as seen in step 5 in bold. |
data | File location on the local machine |
Note: This step will return an HTTP 204 success message.
7. Create Longcode Sender IDs with Attachment ID and Receipt ID
curl 'https://api.syniverse.com/scg-external-api/api/v1/sender_ids_import' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {TOKEN}' \
-d '{
"import_attachment_id":"{TemplateAttachmentId}",
"receipts_attachment_id":"{LOAAttachmentID}",
"register_number":false
}'
Required Field | Description |
Import_attachement_id | Value received from Step 1 of this document. |
Receipts_attachement_Id | Value received from Step 4 of this document. |
Register_number | Use default Value of “false” |
0 Comments