Introduction
Mocean API makes sending and receiving SMS easy. Find the documentation, sample code, and developer tools you need to build exactly what you want, fast. We’ll handle the complexity of mobile carrier and global regulations. Let’s get building.
"Ahoy, World" is a few lines of code away. Choose your programming language and dive in. We’ve got helper libraries and Quickstarts to get you sending SMS and Verify in your web app.
You’ve got an idea in mind. Let’s get it to production.
Installation
To install Mocean SDK, run this command in terminal:
# you may need to install curl, if it is not installed
sudo apt install curl
# you need to have pip installed
pip install moceansdk
# you need to have gem installed
gem install moceansdk
// you need to have npm installed
npm install mocean-sdk
# you need to have composer installed
composer require mocean/client
Install-Package Mocean.Csharp.Client -Version 1.0.2.1
Make sure you have the required package manager installed.
Mocean SDK supports up to 6 programming languages for fellow developers to work with. Choose your favourite programming language, and install our SDK to immediately enables your application to send SMS right away!
Otherwise, if a simple curl is what you've preferred. You may send SMS with our curl sample code which will work the same.
Authentication
To authorize Mocean SDK, use the following code:
# include API credentials in all HTTP POST data to authorize, as demonstrated below:
curl -X GET "https://rest.moceanapi.com/rest/2/account/balance?
mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
?>
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
Make sure to replace
API_KEY_HERE
andAPI_SECRET_HERE
with your API credential.
To make the API requests, you need to create a Client
and provide it with authentication credentials (which can be found at https://dashboard.moceanapi.com/).
SMS API
Overview
Mocean SMS API allows you to send and receive text messages to users around the globe through simple RESTful APIs.
- Programmatically send and receive high volume of SMS anywhere in the world.
- Implement SMS features on top of your app without rewriting anything.
- Build apps that scale with the web technologies that you are already using.
- Send SMS with low latency and high delivery rates.
- You only have to pay for SMS you sent, no hidden charges or setup fees.
Concepts
To use the Mocean SMS API, you may need to familiarise yourself with:
- Authentication - Mocean SMS API is authenticated by your account API Key and Secret.
- Webhooks - HTTP requests are made to your application web server so that you can act upon them. For example, the SMS API will send the delivery receipts and inbound SMS (Receiving an SMS).
Getting Started
Before you begin, please make sure you already have a Mocean API account, or sign up for a Mocean account here.
Using your Mocean API_KEY
and API_SECRET
, available from the dashboard page, you can now send an SMS message:
Send SMS
Example request
curl -X POST "https://rest.moceanapi.com/rest/2/sms" \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-from=YourCompany&
mocean-to=60123456789&
mocean-text=Hello"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.sms.create({
"mocean-text"=>'Hello World',
"mocean-from"=>'MOCEAN',
"mocean-to"=>'60123456789'
}).send()
print res
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.sms.create({
"mocean-from": "MOCEAN",
"mocean-to": 60123456789,
"mocean-text": "Hello World"
}).send()
print(res)
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->message()->send([
'mocean-to' => '60123456789',
'mocean-from' => 'MOCEAN',
'mocean-text' => 'Hello World',
'mocean-resp-format' => 'json'
]);
echo $result;
?>
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.sms().send({
mocean-from: 'MOCEAN',
mocean-to: '60123456789',
mocean-text: 'Hello World'
}, function(err, res) {
if(err) throw err;
console.log(res);
});
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
String res = mocean.sms()
.setFrom("MOCEAN")
.setTo("60123456789")
.setText("Hello World")
.send();
System.out.println(res);
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
Mocean.Message.Message _message = new Mocean.Message.Message()
{
mocean_to = "60123456789",
mocean_from = "MOCEAN",
mocean_text = "Hello World",
mocean_resp_format = "json",
};
string response = Mocean.Message.Client.Send(_message, creds);
Console.WriteLine(res);
Send an outbound SMS from your Mocean account HTTP status code 202 (Accepted) will be returned for a successful request.
POST https://rest.moceanapi.com/rest/2/sms
Query Parameter
A successful response for MT-SMS will be as follows:
{
"messages":[
{
"status": 0,
"receiver": "60173788399",
"msgid": "cust20013050311050614001"
}
]
}
While unsuccessfully response will be as follows:
{
"messages":[
{
"status": 1,
"err_msg": "Authorization failed"
}
]
}
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-from required |
string | SMS Sender ID (also referred as to SMS Sender Name) is the information that is displayed to the recipient as the sender of the SMS when a message is received at a mobile device. |
mocean-to required |
string | Phone number of the receiver. To send to multiple receivers, separate each entry with white space (‘ ’) or comma (,). Phone number must include country code, for example, a Malaysian phone number will be like 60123456789. Note*: You can send up to a maximum of 500 receivers per request. |
mocean-text required |
string | Contents of the message, URL encoded as necessary (e.g. Text+message+test%21). If you are sending binary content, this will be a hex string. For example, 030616AE966C6F... Note*: When multiple recipients are provided, the recipients will receive the same content. Custom messages to each recipient are not allowed. |
mocean-udh optional |
string | User Data Header (UDH) part of the message. For example, 0605040B8423F0. |
mocean-coding optional |
number | Sets the coding scheme bits in DCS field. Accepts values 1 to 3, for 7-bit, 8-bit and UCS2 respectively. If unset, defaults to 7 bits unless a mocean-udh is defined, which sets coding to 8-bit. If charset is not set or set to UTF-8, when non-GSM character is detected, coding will set to UCS2. |
mocean-dlr-mask optional |
number | Request for delivery reports with the state of the sent message. To enable delivery reports, set this value to ‘1’. If this field is not specified, the default value will be ‘0’ and no DLR will be returned. |
mocean-dlr-url optional |
URL | URL to receive delivery reports. This is required if DLR is requested. |
mocean-schedule optional |
datetime | When this field is used, the message will be sent out on the specified date time (on best effort basis due to large number of SMS is queued for scheduling). The format of the date time is YYYY-MM-DD hh:mm:ss (in 24-hours format, e.g. 2007-02-11 23:30:00). The wrong date format will cause the gateway to reject the request. NOTE: Please use Malaysia time (or GMT +8:00) while making scheduled SMS request. |
mocean-mclass optional |
number | To send Flash SMS, set mocean-mclass and mocean-alt-dcs value to '1'. |
mocean-alt-dcs optional |
number | To send Flash SMS, set mocean-mclass and mocean-alt-dcs value to '1'. |
mocean-charset optional |
string | Indicates the character set used in the mocean-text parameter. Supported character sets are:
|
mocean-validity optional |
number | To define the validity period of message. User has to input validity in terms of SECONDS. For example, if user wants message to expire after 5 minutes upon submission, user has to configure mocean-validity as 300. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Code | Descriptions |
---|---|
0 | OK. No error encountered. |
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, NO SMS is sent to any of the receivers. |
2 | Insufficient balance. Not enough credit in the account to send to at least one of the receivers. |
4 | At least one of the destination numbers is not white listed. |
5 | At least one of the destination numbers is black listed. |
6 | No destination number specified. |
8 | Sender ID not found. |
9 | Invalid UDH field. |
10 | Invalid mclass field. |
17 | Invalid validity field. |
19 | Invalid character set or message body. |
20 | Insufficient headers for sending SMS. |
23 | Empty mocean-text. |
24 | Unknown error. |
26 | Invalid schedule format. (Hint: must have leading zero for time.) 2007-03-02 08:55:00 is correct. 2007-03-02 8:55:00 is not correct. |
27 | Max number of receivers in a single request reached. Too many receivers in mocean-to field. |
28 | Invalid destination number. Receiver is invalid after stripping all non-numerics. |
29 | Message body is too long. |
32 | Message throttled. |
34 | Unknown request. |
37 | Invalid sender length. |
40 | System down for maintenance. |
43 | SMS flooding detected. |
44 | Invalid Sender ID. |
45 | System error, please try again. |
48 | At least one of the senders is black listed. |
49 | At least one of the senders is not white listed. |
50 | Inappropriate content detected. |
65 | Destination not found. |
69 | Message contains unsupported character. |
70 | Invalid service |
73 | Destination number and sender are blacklisted |
Delivery Report
Receiving PUT request
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
end
route :put, '/webhooks/delivery-report' do
puts params.merge(parsed_body)
status 204
end
set :port, 3000
from flask import Flask,request
app = Flask(__name__)
@app.route('/webhooks/delivery-report', methods=['PUT'])
def getDeliveryReport():
data = request.form
_to = data['mocean-to']
_from = data['mocean-from']
_dlrStatus = data['mocean-dlr-status']
_msgid = data['mocean-msgid']
_errorCode = data['mocean-error-code']
const app = require('express')();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.route('/webhooks/delivery-report').put('handleDlr');
function handleDlr(req, res)
{
console.log(res.body);
res.status(204).send();
}
app.listen(8080)
import mocean.system.*;
class program {
public static void main(String [] args)
{
Client token = new Client("API_KEY_HERE","API_SECRET_HERE");
Mocean mocean = new Mocean(token);
try
{
put("/webhooks/delivery-report", (req, res) -> {
for (String param : req.queryParams())
{
System.out.printf("%s: %s\n", param, req.queryParams(param));
}
res.status(204);
return "";
});
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
<?php
public void ReceiveDLR()
{
Debug.WriteLine("------");
Debug.WriteLine("DELIVERY RECEIPT");
Debug.WriteLine("mocean-msgid: " + Request.Form["mocean-msgid"]);
Debug.WriteLine("mocean-from: " + Request.Form["mocean-from"]);
Debug.WriteLine("mocean-to: " + Request.Form["mocean-to"]);
Debug.WriteLine("mocean-dlr-status: " + Mocean.Message.Client.DLRStatus(Request.Form["mocean-dlr-status"]));
Debug.WriteLine("mocean-error-code: " + Request.Form["mocean-error-code"]);
Debug.WriteLine("------");
}
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$handler = function (Request $request, Response $response) {
$params = $request->getParsedBody();
// Fall back to query parameters if needed
if (!count($params)){
$params = $request->getQueryParams();
}
error_log(print_r($params, true));
return $response->withStatus(204);
};
$app->put('/webhooks/delivery-report', $handler);
$app->run();
?>
Request sent from Mocean
> PUT /webhooks/delivery-report HTTP/1.1
> Host: example.com
> Accept: */*
> Content-Length: 114
> Content-Type: application/x-www-form-urlencoded
{
mocean-from: 60123456789,
mocean-to: 63001,
mocean-dlr-status: 1,
mocean-msgid: "cust20013050311050614001",
mocean-error-code: 0
}
If delivery report is requested, Mocean shall returned delivery report to the callback url submitted under parameter "mocean-dlr-url" in Outbound SMS request.
After returning delivery report, Mocean API Server is expecting a respond with “HTTP OK” (Status 200) or it will keep on retrying until it expired(36 hours).
Note: If you're using localhost environment for receiving Delivery Reports, you will need to make your local environment publicly available so Mocean API server can reach your local server. We recommend you try ngrok to do this quite easily.
PUT https://example.com/webhooks/delivery-report
Parameter | Format | Descriptions |
---|---|---|
mocean-from |
number | Phone number of the original SMS recipient. |
mocean-to |
number | Phone number of the original SMS sender. |
mocean-dlr-status |
number | Status of the delivery.
|
mocean-msgid |
string | Message ID of the message where this report is associated. |
mocean-error-code |
number | Error code of the submission. |
Code | Descriptions |
---|---|
000 | No error. |
001 | Absent subscriber. |
002 | Handset memory capacity exceeded. Handset has run out of free memory to store new message. |
003 | Equipment protocol error. |
004 | Equipment not equipped with short-message capability. |
005 | Unknown subscriber. The IMSI is unknown in the HLR. |
006 | Illegal subscriber. The mobile station failed authentication. |
007 | Teleservice not provisioned. Mobile subscription identified by the MSISDN number does include the short message service. |
008 | Illegal equipment. IMEI check failed, i.e. the IMEI is either black listed or not white listed. |
009 | Call barred. Operator barred the MSISDN number. |
010 | Facility not supported. VLR in the PLMN does not support MT short message service. |
011 | Subscriber busy for MT short message. Mobile terminated short message transfer cannot be completed because: a. another MT SM transfer is going on and the delivery node does not support buffering. b. another MT SM transfer is going on and it is not possible to buffer the message for later delivery. c. the message was buffered but it is not possible to deliver the message before the expiry of the buffering time defined in GSM 03.40. |
012 | System failure. Task cannot be completed because of a problem in another entity. |
013 | Data missing. Necessary parameter is not present in the primitive. |
014 | Unexpected data value. Necessary data is badly formatted in the primitive. |
015 | Unidentified subscriber. |
016 | Absent subscriber. No paging response. |
017 | Absent subscriber. IMSI detached. |
018 | Absent subscriber. Roaming restriction. |
019 | Subscriber busy for USSD. |
047 | SMSC SS7 error. |
049 | SMS discarded. Unable to fulfill request. |
050 | SMS is rejected. |
051 | SMS malformed. SMS is not formed correctly. This error is specific to IP-based protocols like SMPP. |
052 | SMS expired. |
053 | Insufficient credit. The user has insufficient credit/not allowed to send to that destination. |
054 | Invalid destination. Receiver is not a valid number. |
055 | Unable to find outbound route for this SMS. |
056 | SMS buffered. |
057 | Timeout waiting for response from peer. |
058 | Throttling error. The user has exceeded allowed message limit. |
059 | SMS suspected spam message. |
060 | Invalid service keyword (premium SMS). |
061 | Subscriber blacklisted. |
062 | Subscriber not white listed. |
063 | Invalid sender length. |
065 | System down for maintenance. |
066 | Invalid data coding. This error is specific to SMPP protocol. |
067 | Invalid USSD session ID passed in. |
068 | SMS flooding detected. |
069 | Invalid sender ID. |
070 | Unable to fulfill request due to invalid credentials. |
071 | Subscriber opted out from receiving SMS. |
072 | Invalid MNC/MCC passed in. |
073 | Invalid MO ID (premium SMS). |
074 | SMS rejected. Error received from peer SMSC. |
075 | SMS rejected. Inappropriate SMS content. |
076 | Sender ID blacklisted. |
077 | Sender ID not white listed. |
078 | No pricing information found for pricing request. |
079 | Multiple charging packages found for pricing request. |
080 | Invalid message ID for message status request. |
081 | Charging failed. |
091 | Invalid schedule date. |
094 | URL blacklisted. |
095 | URL not white listed. |
096 | Message expired in system with no final status from carrier. |
100 | Source account blacklisted. |
101 | Destination account blacklisted. |
102 | Source account not white listed. |
103 | Destination account not white listed. |
121 | Invalid service. |
134 | Invalid type. |
137 | Subscriber and sender blacklisted. |
155 | Invalid receiver. |
159 | Invalid URL. |
160 | Traffic volume limit reached. |
255 | Unknown error. |
Receive SMS
Receiving POST request
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
end
route :get, :post, '/webhooks/inbound-sms' do
puts params.merge(parsed_body)
status 204
end
set :port, 3000
from flask import Flask,request
app = Flask(__name__)
@app.route('/webhooks/inbound-sms', methods=['POST'])
def receiveSMS():
data = request.form
_from = data['mocean-from']
_to = data['mocean-to']
_time = data['mocean-time']
_text = data['mocean-text']
_keyword = data['mocean-keyword']
_coding = data['mocean-coding']
const app = require('express')();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.route('/webhooks/inbound-sms').post(handleMoSms);
function handleMoSms(req, res)
{
console.log(res.body);
res.status(204).send();
}
app.listen(8080)
import mocean.system.*;
class program {
public static void main(String [] args)
{
Client token = new Client("API_KEY_HERE","API_SECRET_HERE");
Mocean mocean = new Mocean(token);
try
{
post("/webhooks/inbound-sms", (req, res) -> {
for (String param : req.queryParams())
{
System.out.printf("%s: %s\n", param, req.queryParams(param));
}
res.status(204);
return "";
});
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$handler = function (Request $request, Response $response) {
$params = $request->getParsedBody();
// Fall back to query parameters if needed
if (!count($params)){
$params = $request->getQueryParams();
}
error_log(print_r($params, true));
return $response->withStatus(204);
};
$app->post('/webhooks/inbound-sms', $handler);
$app->run();
Request sent from Mocean
> POST /webhooks/inbound-sms HTTP/1.1
> Host: example.com
> Accept: */*
> Content-Length: 114
> Content-Type: application/x-www-form-urlencoded
{
mocean-from: 60123456789,
mocean-to: 63001,
mocean-keyword: MOC,
mocean-text: Hello+World,
mocean-coding: 1,
mocean-time: 2018-12-30 23:59:59
}
If you rent one or more virtual numbers from Mocean, inbound messages to that number are sent to your webhook endpoint.
When you receive an inbound message, you must send a 2xx response. If you do not send a 2xx response Mocean will resend the inbound message for the next 24 hours.
Note: If you're using localhost environment for receiving Inbound SMS, you will need to make your local environment publicly available so Mocean API server can reach your local server. We recommend you try ngrok to do this quite easily.
POST https://example.com/webhooks/inbound-sms
Request Body
Parameter | Format | Descriptions |
---|---|---|
mocean-from |
number | Phone number of the original SMS sender. |
mocean-to |
number | Phone number of the original SMS recipient, normally the short code (e.g. 63001). |
mocean-time |
datetime | The datetime when the message is received by SMS gateway. (Format YYYY-MM-DD hh:mm:ss). |
mocean-text |
string | Content of the SMS. |
mocean-keyword |
string | Keyword used for the MO. |
mocean-coding |
number | Message type of SMS. 1 for text/Mobile telephony character set and 3 for Unicode SMS. |
Conversion API
Example request
curl -X POST "https://rest.moceanapi.com/rest/2/conversion" \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-msgid=MSG_ID&
mocean-delivered=false"
Request a Conversion API with your message id.
Conversion API helps to determine:
- The best route that provide the best performance
- Mocean can deliver message faster and more reliaby
Send a Conversion API request with your message-id.
POST https://rest.moceanapi.com/rest/2/conversion
A successful response will be as follows:
{
"status": 0
}
While unsuccessfully response will be as follows:
{
"status": 1,
"err_msg": "Authorization failed"
}
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-msgid required |
string | Message ID associated with the transaction which given during SMS submission. |
mocean-delivered required |
boolean | Set this as true if user has received the message. Otherwise set it to false |
mocean-timestamp optional |
string | Set to yyyy-MM-dd HH:mm:ss format. If this parameter is not set, Mocean wil use the time when it submitted |
Code | Descriptions |
---|---|
0 | OK. No error encountered. |
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret or IP not whitelisted. NOTE: When this error is encountered, No Request is sent. |
24 | Unknown error. |
25 | Invalid message id. |
32 | Message throttled. |
40 | System down for maintenance. |
Voice API
Overview
The Voice API allows you to make outbound and inbound calls. With the Voice API, user can
- Control the flow of your inbound and outbound calls with JSON method with our SDK
- Send text-speech messages in variety of languages with different accents and either gender
- Eliminates the need for call center to spead messages for your company which saves money
- Produce apps that scale with the web technologies you are using
Concepts
To use the Voice API, you may need to familiarise yourself with:
- Mocean Command (MC) - A sets of instruction to control the actions and flow of your call. For example, you can send text-to-speech, audio files or collect input from the person you are calling. Mocean Command (MC) is in simple JSON form. For more information, you may refer to Mocean Command (MC) Reference
- Authentication - Mocean Voice API is authenticated by your accounts API Key and Secret.
- Numbers - The key concepts of using a dedicated phone numbers in the Voice API.
- Webhooks - Our server will make a HTTP request to your application web server and expecting to retrieve a set of Mocean Command (MC) so that we can act upon them.
Getting Started
Make sure you already have a Mocean API account, or sign up for a Mocean account here.
Rent a Virtual Number if you want to receive incoming Voice calls.
Your Mocean
API_KEY
andAPI_SECRET
are available on the dashboard page, it is required to authenticate with all request to Voice Service.
Mocean Command (MC) Reference
Example Mocean Command (MC) Single Option
[
{
"action": "say",
"text": "Welcome to Mocean Voice API. ",
"barge-in": false,
"clear-digit-cache": false
}
]
Example Mocean Command (MC) Multiple Option
[
{
"action": "say",
"language": "en-GB",
"text": "Welcome to Mocean Voice API."
},
{
"action": "sleep",
"duration": 3000
},
{
"action": "say",
"language": "en-GB",
"text": "Thank you for calling."
}
]
Example Mocean Command (MC) Asynchronous
[
{
"action": "say",
"language": "en-GB",
"text": "How are you today?"
},
{
"action": "say",
"language": "en-GB",
"text": "Press 1, for Good. Press 2, for Not Good."
},
{
"action": "collect",
"min": 1,
"max": 1,
"timeout": 10000,
"event-url": "https://example.com/webhook/voice-event"
},
{
"action": "say",
"language": "en-GB",
"text": "Thanks for your input, goodbye!"
}
]
Mocean Command (MC) is a JSON array of actions to control the flow of your Voice Call
The element of a Mocean Command (MC) are:
- action - key event to perform during the call
- option - how the prior specified action were to be carry out
The order of the Mocean Command (MC) controls the flow of the call. When an action is completed the next action will proceed. The voice call ends When all actions in the Mocean Command (MC) are completed.
Actions | Description |
---|---|
play | play an audio file to the conversation. |
collect | collect the input from the person for further process. |
say | send a synthesized speech to a conversation. |
sleep | the wait time to proceed to the next event. |
dial | to connect a connectable endpoint like a phone number. |
record | record the voice call after the record function. |
Action | Parameter | Format | Description |
---|---|---|---|
play | file required |
string/array | File or list of files to play during call. |
barge-in optional |
boolean | Option to skip the play audio and pass the digit into cache. | |
clear-digit-cache optional |
boolean | Clear digit cache entered by user. | |
collect | event-url required |
string | Webhook for obtaining the digits for this collect. |
max required |
number | Maximum number of digits to fetch. | |
min required |
number | Minimum number of digits to fetch. | |
timeout required |
number | Number of milliseconds to wait on each digit. | |
terminators optional |
string | Digits used to end input if less than min digits have been pressed. | |
say | language required |
string | Language of the text. Available languages at the moment:
|
text required |
string | The text to be parsed into the TTY engine. | |
barge-in optional |
boolean | Option to skip the play audio and pass the digit into cache. | |
clear-digit-cache optional |
boolean | Clear digit cache entered by user. | |
sleep | duration required |
integer | Duration to sleep. |
dial | to required |
string/array | Destination or list of destination number to call to. Note that for this moment, we will only call to the first number in list. |
from optional |
string | Caller ID | |
dial-sequentially optional |
boolean | Flag to dial list of numbers sequentially, default value set to "false" during "mc_create". |
Make an outbound call
Example request
curl -X POST "https://rest.moceanapi.com/rest/2/voice/dial" \
-d "mocean-api-key=API_KEY_HERE"
-d "mocean-api-secret=API_SECRET_HERE"
-d "mocean-to=MOBILE_NUMBER"
-d "mocean-command=%5B%7B%22action%22:%22say%22,%22language%22:%22en-GB%22,%22text%22:%22Welcome%20to%20Mocean%20Voice%20API.%22%7D%5D"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
builder = Moceansdk::Modules::Voice::McBuilder.new
.add(Moceansdk::Modules::Voice::Mc.record())
.add(Moceansdk::Modules::Voice::Mc.dial('60123456789'))
.add(Moceansdk::Modules::Voice::Mc.say('for english please press 1'))
.add(Moceansdk::Modules::Voice::Mc.collect('http://test.com/collect'))
.add(Moceansdk::Modules::Voice::Mc.sleep(2000))
.add(Moceansdk::Modules::Voice::Mc.play('http://test.com/play'))
res = mocean.voice.call(
'mocean-to': '60123456789',
'mocean-command': builder
)
print res
from moceansdk import Client, Basic, Transmitter, McBuilder, Mc
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
mc_builder = McBuilder() \
.add(Mc.record()) \
.add(Mc.dial('60123456789')) \
.add(Mc.say('for english please press 1')) \
.add(Mc.collect('https://test.com/collect')) \
.add(Mc.sleep(2000)) \
.add(Mc.play('http://test.com/play'))
res = mocean.voice.call({
'mocean-to': '60123456789',
'mocean-command': mc_builder
})
print(res)
<?php
use Mocean\Voice\Mc;
use Mocean\Voice\McBuilder;
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$mcBuilder = McBuilder::create()
->add(Mc::record())
->add(Mc::dial('60123456789'))
->add(Mc::say('for english please press 1')) // tts
->add(Mc::collect('http://test.com/collect'))
->add(Mc::sleep(2000))
->add(Mc::play('http://test.com/play'));
$result = $mocean->voice()->call([
'mocean-to' => '60123456789',
'mocean-command' => $mcBuilder
]);
echo $result;
?>
const {Mc, McBuilder}, moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
const mcBuilder = (new McBuilder())
.add(Mc.record())
.add(Mc.dial('60123456789'))
.add(Mc.say('for english please press 1') // tts
.add(Mc.collect('https://test.com/collect'))
.add(Mc.sleep(2000))
.add(Mc.play('http://test.com/play'));
const res = await mocean.voice().call({
'mocean-to': '60123456789',
'mocean-command': mcBuilder
});
console.log(res);
import com.mocean.modules.voice.Mc;
import com.mocean.modules.voice.McBuilder;
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
McBuilder mcBuilder = (new McBuilder())
.add(Mc.record())
.add(Mc.dial("60123456789"))
.add(Mc.say("for english please press 1")) // tts
.add(Mc.collect("https://test.com/collect"))
.add(Mc.sleep(2000))
.add(Mc.play("http://test.com/play"));
String res = mocean.voice()
.setTo("60123456789")
.setCommand(mcBuilder)
.call();
System.out.println(res);
using Mocean.Voice;
using Mocean.Voice.Mapper;
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var mcBuilder = (new McBuilder())
.add(Mc.record())
.add(Mc.dial("60123456789"))
.add(Mc.say("for english please press 1"))
.add(Mc.collect("https://test.com/collect"))
.add(Mc.sleep(2000))
.add(Mc.play("http://test.com/play"));
var res = mocean.Voice.Call(new VoiceRequest
{
mocean_to = "60123456789",
mocean_command = mcBuilder
});
Console.WriteLine(res);
A successful response for a multiple call will be as follows:
{
"calls": [
{
"status": 0,
"receiver": 0123456789,
"session_uuid": "{session-uuid}",
"call_uuid": "{call-uuid}"
},
{
"status": 0,
"receiver": 0129876543,
"session_uuid": "{session-uuid}",
"call_uuid": "{call-uuid}"
}
]
}
A successful response for a single call will be as follows:
{
"calls": [
{
"status": 0,
"session_uuid": "{session-uuid}",
"call_uuid": "{call-uuid}"
}
]
}
While an unsuccessful response will be as follows:
{
"status": 1,
"err_msg": "Authorization failed"
}
Makes an outbound call to a specified number with a set of rules in MC and the call flow will be carry out when then call is answered. You can control the call with configuring your Mocean Command (MC)
POST https://rest.moceanapi.com/rest/2/voice/dial
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-to required |
string | Phone number of the receiver. To send to multiple receivers, separate each entry with white space (‘ ’) or comma (,). Phone number must include country code, for example, a Malaysian phone number will be like 60123456789. |
mocean-command required |
string | Command to control the action and flow of the call. Example command are:
|
mocean-from optional |
string | Number of Origin. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
mocean-event-url optional |
string | A webhook to inform the callee of the call status at the moment for example answered/hangup. |
Code | Descriptions |
---|---|
0 | OK. No error encountered. |
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, NO call is made to any of the receivers. |
2 | Insufficient balance. Not enough credit in the account to call to any of the receivers. |
3 | No rate found for destination number. |
4 | At least one of the destination numbers is not white listed. |
5 | At least one of the destination numbers is black listed. |
6 | No destination number specified. |
7 | Invalid call-uuid. |
8 | Too many receivers in 'to' field. |
9 | Invalid request. |
10 | System error, please try again. |
11 | Destination not found. |
12 | Missing Mocean Command (MC) input or parameter. |
13 | Mocean Command (MC) syntax error. |
14 | Unknown error. |
15 | System down for maintenance. Sorry for the inconvenience. |
Receive collect action
Receiving request
# Makes use of netcat, HTTP request to port 8080
while true
do echo -e "HTTP/1.1 200 OK\r\nServer:MoceanExample\r\nContent-Type:application/json\r\nContent-Length:66\r\nConnection:close\r\n\r\n[{\"action\":\"say\",\"text\":\"Thanks for calling\",\"language\":\"en-GB\"}]" | nc -l 8080
done
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
end
route :get, :post, '/webhooks/collect' do
[{
action: 'say',
text: 'Thank you for calling from #{from_split_into_characters}'
language: 'en-GB'
}].to_json
end
set :port, 3000
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhooks/collect")
def collect():
from_ = request.form.get('mocean-from')
return jsonify([
{
"action": "say",
"text": "Thank you for calling from {}.".format(from_),
"language": "en-GB"
}
])
const app = require('express')()
const onCollect = (request, response) => {
const mc = [{
action: 'say',
text: 'Thank you for calling from ${fromSplitIntoCharacters}',
language: 'en-GB'
}]
response.json(mc)
}
app.get('/webhooks/collect', onCollect)
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$handler = function (Request $request, Response $response) {
$params = $request->getParsedBody();
// Fall back to query parameters if needed
if (!count($params)){
$params = $request->getQueryParams();
}
$mc = [
[
'action' => 'say',
'text' => 'Thank you for calling from '.$fromSplitIntoCharacters,
'language' => 'en-GB',
]
];
return $response->withJson($mc);
});
$app->get('/webhooks/collect', $handler);
$app->run();
?>
/*
* Route to collect say action.
*/
Route collectRoute = (req, res) -> {
SayAction message = SayAction
.builder(String.format("Thank you for calling from %s", text))
.builder(String.format("en-GB", language))
.build();
res.type("application/json");
return new Mc(message).toJson();
};
/*
* Route to print out call event info.
*/
Route eventRoute = (req, res) -> {
System.out.println(req.body());
return "";
};
Spark.port(3000);
Spark.get("/webhooks/collect", collectRoute);
Spark.post("/webhooks/event", eventRoute);
private Response collectMc()
{
string digit = Request.Query["mocean-digits"].Value;
var SayAction = new SayAction()
{
Text = ("Thank you for calling from " + string.Join(" ", this.Request.Query["from"].ToCharArray())),
Language = ("en-GB"),
};
var mc = new Mc(SayAction);
return mc.ToString();
}
Collect is a MC action which will get the input that was keyed in by user to proceed further. We will also pass in information over to the webhook and await for response. . Below are the information pass.
POST https://example.com/webhooks/collect
Parameter | Format | Descriptions |
---|---|---|
mocean-session-uuid |
string | The session uuid of the call. |
mocean-call-uuid |
string | The call uuid of the call. |
mocean-digits |
string | Digits/keypad input by the Callee. If there is no response from Callee after the timeout period, the input will be empty string. |
Receiving an inbound call
Receiving request
# Makes use of netcat, HTTP request to port 8080
while true
do echo -e "HTTP/1.1 200 OK\r\nServer:MoceanExample\r\nContent-Type:application/json\r\nContent-Length:66\r\nConnection:close\r\n\r\n[{\"action\":\"say\",\"text\":\"Thanks for calling\",\"language\":\"en-GB\"}]" | nc -l 8080
done
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
end
route :get, :post, '/webhooks/answer' do
from = params['from'] || parsed_body['from']
from_split_into_characters = from.split('').join(' ')
[{
action: 'say',
text: 'Thank you for calling from #{from_split_into_characters}',
language: 'en-GB'
}].to_json
end
set :port, 3000
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhooks/answer")
def answerCall():
for param_key, param_value in request.form.items():
print("{}: {}".format(param_key, param_value))
from_ = request.form.get('mocean-from')
return jsonify([
{
"action": "say",
"text": "Thank you for calling from {}.".format(from_),
"language": "en-GB"
}
])
const app = require('express')()
const onInboundCall = (request, response) => {
const from = request.query.from
const fromSplitIntoCharacters = from.split('').join(' ')
const mc = [{
action: 'say',
text: 'Thank you for calling from ${fromSplitIntoCharacters}',
language: 'en-GB'
}]
response.json(mc)
}
app.get('/webhooks/answer', onInboundCall)
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$handler = function (Request $request, Response $response) {
$params = $request->getParsedBody();
// Fall back to query parameters if needed
if (!count($params)){
$params = $request->getQueryParams();
}
$fromSplitIntoCharacters = implode(" ", str_split($params['from']));
$mc = [
[
'action' => 'say',
'text' => 'Thank you for calling from '.$fromSplitIntoCharacters,
'language' => 'en-GB',
]
];
return $response->withJson($mc);
});
$app->get('/webhooks/answer', $handler);
$app->run();
?>
/*
* Route to answer incoming call.
*/
Route answerRoute = (req, res) -> {
String from = req.queryParams("from").replace("", " ");
SayAction message = SayAction
.builder(String.format("Thank you for calling from %s", text))
.builder(String.format("en-GB", language))
.build();
res.type("application/json");
return new Mc(message).toJson();
};
/*
* Route to print out call event info.
*/
Route eventRoute = (req, res) -> {
System.out.println(req.body());
return "";
};
Spark.port(3000);
Spark.get("/webhooks/answer", answerRoute);
Spark.post("/webhooks/event", eventRoute);
public InboundCall()
{
Get("/webhook/answer", x => { return AnswerInboundCall(); });
Post("/webhook/event", x => { return OnEvent(); });
}
private Response AnswerInboundCall()
{
string number = Request.Query["mocean-from"].Value;
var SayAction = new SayAction()
{
Text = ("Thank you for calling from " + string.Join(" ", this.Request.Query["mocean-from"].ToCharArray())),
Language = ("en-GB"),
};
var mc = new Mc(SayAction);
return mc.ToString();
}
An inbound call is one that initiated by customers, and you will need to have a hosted webhook where MoceanAPI server can retrieve the call flow in Mocean Command (MC) format. They will pass in information over to the webhook and await response. Below are the information pass.
POST https://example.com/webhooks/answer
Parameter | Format | Descriptions |
---|---|---|
mocean-session-uuid |
string | The session uuid of the call. |
mocean-call-uuid |
string | The call uuid of the call. |
mocean-to |
number | The VLN number which you wish to call to when you receive the inbound call. |
mocean-from |
number | The source of the call, or the number that call came from. |
Hangup a Call
Example request
curl -X POST "https://rest.moceanapi.com/rest/2/voice/hangup" \
-d "mocean-api-key=API_KEY_HERE" \
-d "mocean-api-secret=API_SECRET_HERE" \
-d "mocean-call-uuid=YOUR_CALL_UUID" \
-d "mocean-resp-format=json"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.voice.hangup(
'mocean-call-uuid': {call-uuid}
)
print res
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.voice.hangup({
'mocean-call-uuid': {call-uuid}
})
print(res)
const {Mc, McBuilder}, moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
const res = await mocean.voice().hangup({
'mocean-call-uuid': {call-uuid}
});
console.log(res);
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->voice()->hangup([
'mocean-call-uuid' => {call-uuid}
]);
echo $result;
?>
import com.mocean.modules.voice.Mc;
import com.mocean.modules.voice.McBuilder;
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
String res = mocean.voice()
.setCallUUID({call-uuid})
.hangup();
System.out.println(res);
using Mocean.Voice;
using Mocean.Voice.Mapper;
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var res = mocean.Voice.Hangup(new VoiceRequest
{
mocean_call_uuid = {call-uuid}
});
Console.WriteLine(res);
A successful response will be as follows:
{
"status": 0,
"session_uuid": "{session-uuid}",
"call_uuid": "{call-uuid}"
}
While unsuccessfully response will be as follows:
{
"status": 1,
"err_msg": "Authorization failed"
}
Allows you to hangup a call whenever you want to hangup a call maybe after they hit a certain condition or whenever you feel like hanging up a call
POST https://rest.moceanapi.com/rest/2/voice/hangup
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-call-uuid required |
string | The call-uuid of the recorded call which you wish to hangup. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Download a Recording
Example request
curl -L -X GET
-d "mocean-api-key=API_KEY_HERE" \
-d "mocean-api-secret=API_SECRET_HERE" \
-d "mocean-call-uuid=218fc2f6-fed8-11e9-952a-31afba325635" \
"https://rest.moceanapi.com/rest/2/voice/rec" > recording.mp3
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.voice_recording.create({
"mocean-call-uuid" => "YOUR_TRANSACTION_CALL_UUID"
}).recording()
print res
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.voice_recording.create({
"mocean-call-uuid": "YOUR_TRANSACTION_CALL_UUID",
}).recording()
print(res)
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.voice_recording().create({
'mocean-call-uuid': 'YOUR_TRANSACTION_CALL_UUID',
}).send((err,res) => {
if (err) throw err;
console.log(res);
});
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$res = $mocean->voice()->recording([
'mocean-call-uuid' => 'YOUR_TRANSACTION_CALL_UUID',
]);
echo $res;
?>
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
String res = mocean.voice_recording().setCallUUID("YOUR_TRANSACTION_CALL_UUID")
.recording();
System.out.println(res);
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
Mocean.Voice.Voice _voice = new Mocean.Voice.Voice(){
mocean-call-uuid = "YOUR_TRANSACTION_CALL_UUID"
};
string response = Mocean.Voice.Client.Recording(_voice, creds);
Successful response
{
"status": 0,
"calluuid": "XXXX-XXXX-XXXX-XXXX"
}
While unsuccessfully response will be as follows:
{
"status": 1,
"err_msg": "Authorization failed"
}
Allows you to download the recording of the phone call if you have set "record" command at your MC for a voice call
GET https://rest.moceanapi.com/rest/2/voice/rec
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-call-uuid required |
string | The call-uuid of the recorded call which you wish to download. |
Verify API
Overview
The Verify API allows you to send a random generated code by a Text message(SMS and Telegram) or Voice call to prove a user can be contacted.
This is useful for:
- Spam protection - prevent spammers from mass-creating new accounts (etc.)
- Hack protection - if you detect suspicious or significant activities, validate that the person using the contacts details of them
- Two-factor authentication - Enhance your customer account authentication to prevent their account from getting hacked
- Reaching users - ensuring users has given the correct contact detail makes it easy to contact users when you need to
Pay-per-conversion (Charges will occur after a transaction has been successfully converted):
- By default, the code is first sent via text message (SMS). If there is no reply twice, the Verify API will attempt to send another voice call using text-to-speech (TTS). You will only be charged at every successful conversion
- Ideal solution for validating new customer or account to verify the contact details given is valid
Pay-per-attempt (Charges will occur after an attempt from a transaction):
- Available at two channels SMS and Telegram. Allow you to resend the an already random generated code to user (Only for SMS channel). You will only be charged at a every attempt
- Ideal solution for 2FA security for existing customer to prevent the account from being stolen
Tags:
- PPC - Pay-per-conversion
- PPA - Pay-per-attempt
PPC Send Code
Example request
curl -X POST https://rest.moceanapi.com/rest/2/verify/req \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-to=60123456789&
mocean-brand=BRAND_NAME"
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.verify_request().create({
'mocean-to': '60123456789',
'mocean-brand': 'BRAND_NAME'
}).send((err,res) => {
if (err) throw err;
console.log(res);
});
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$res = $mocean->verify()->start([
'mocean-to' => '60123456789',
'mocean-brand' => 'BRAND_NAME',
'mocean-resp-format' => 'json'
]);
echo $res;
?>
Mocean.Verify.Verify _verification = new Mocean.Verify.Verify(){
mocean_to = "60123456789",
mocean_brand = "BRAND_NAME"
};
string response = Mocean.Verify.Client.Start(_verification, creds);
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.verify_request.create({
"mocean-to" => "60123456789",
"mocean-brand" => "BRAND_NAME"
}).send()
print res
String res = mocean.verify_request().setTo("60123456789")
.setBrand("BRAND_NAME")
.send();
System.out.println(res);
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.verify_request.create({
"mocean-to": "60123456789",
"mocean-brand":"BRAND_NAME"
}).send()
print(res)
Successful response
{
"reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"status": 0,
"to": "60123456789"
}
Unsuccessful response
{
"status": 2,
"err_msg": "Invalid credentials were provided"
}
Send a random generated code to a specified contact number for verification purpose. This method is charge per successful convertion in a transaction.
POST https://rest.moceanapi.com/rest/2/verify/req
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-to required |
string | Phone number of the receiver. (must include country code, e.g. 60123456789) |
mocean-brand required |
string | The name of the company or application you are using for verification. |
mocean-from optional |
string | SMS Sender ID will be displayed as sender of SMS. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
mocean-code-length optional |
number | The length of verification code. Possible values are 4 and 6 digits. Default is 6 or as defined in account. |
mocean-pin-validity optional |
number | The expiring time of generated code. Values can be number between 60 to 3600 seconds. Default is 300 or as defined in account. |
mocean-next-event-wait optional |
number | Each channel waiting time for verification code before next attemp. An integer value between 60 and 900 seconds. The defaut mocean-next-event-wait will follow your account setting if configured else default is 60 seconds. |
PPA Send Code over SMS
Example request
curl -X POST https://rest.moceanapi.com/rest/2/verify/req/sms \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-to=60123456789&
mocean-brand=BRAND_NAME"
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.verify_request()
.sendAs('sms')
.send({
'mocean-to': '60123456789',
'mocean-brand': 'BRAND_NAME'
}, function (err, res) {
console.log(res);
});
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->verify()
->sendAs(\Mocean\Verify\Channel::SMS) // add this method
->start([
mocean-brand = 'BRAND_NAME',
mocean-to = '60123456789'
]);
echo $result;
?>
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var res = client.SendCode
.SendAs(Mocean.Verify.Channel.Sms) // add this method
.Send(new Mocean.Verify.SendCodeRequest
{
mocean_brand = "BRAND_NAME",
mocean_to = "60123456789"
});
Console.WriteLine(res);
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.verify_request
.send_as(Moceansdk::Modules::Message::Channel::SMS) # add this method
.send('mocean-to': '60123456789', 'mocean-brand': 'BRAND_NAME')
print res
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
VerifyRequestResponse res = mocean
.verifyRequest()
.setBrand("BRAND_NAME")
.setTo("601156256742")
.sendAs(Channel.SMS) //add this method
.send();
System.out.println(res);
from moceansdk import Client, Basic, Transmitter
from moceansdk.modules.message.channel import Channel
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.verify_request.send_as(Channel.SMS).send({ # add send_as method
'mocean-to': '60123456789',
'mocean-brand': 'BRAND_NAME'
})
print(res)
Successful response
{
"reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"status": 0,
"to": "60123456789",
"is_number_reachable": "unknown"
}
Unsuccessful response
{
"status": 2,
"err_msg": "Invalid credentials were provided"
}
Send a random generated code over SMS to the provided mobile number. This method is charge by the total attempt of request.
POST https://rest.moceanapi.com/rest/2/verify/req/sms
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-to required |
string | Phone number of the receiver. (must include country code, e.g. 60123456789) |
mocean-brand required |
string | The name of the company or application you are using for verification. |
mocean-from optional |
string | SMS Sender ID will be displayed as sender of SMS. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
mocean-code-length optional |
number | The length of verification code. Possible values are 4 and 6 digits. Default is 4 or as defined in account. |
mocean-pin-validity optional |
number | The expiring time of generated code. Values can be number between 60 to 3600 seconds. Default is 300 or as defined in account. |
PPA Resend Code over SMS
Example request
curl -X POST https://rest.moceanapi.com/rest/2/verify/resend/sms \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-reqid=XXXXXXXXXXXXXXXXXXXXXX"
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.verify_request()
.resend({
'mocean-reqid': 'XXXXXXXXXXXXXXXXXXXXXX'
}, function (err, res) {
console.log(res)
})
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$res = $mocean->verify()
->start([
'mocean-reqid' => 'XXXXXXXXXXXXXXXXXXXXXX',
'mocean-resp-format' => 'json'
], true);
echo $res;
?>
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var res = client.SendCode
.Resend(new Mocean.Verify.SendCodeRequest
{
mocean_reqid = "XXXXXXXXXXXXXXXXXXXXXX1"
});
Console.WriteLine(res);
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.verify_request.resend('mocean-reqid': 'XXXXXXXXXXXXXXXXXXXXXX')
print res
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
VerifyRequestResponse res = mocean.verifyRequest()
.setReqId("XXXXXXXXXXXXXXXXXXXXXX")
.resend();
System.out.println(res);
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.verify_request.resend({
'mocean-reqid': 'XXXXXXXXXXXXXXXXXXXXXX'
})
print(res)
Successful response
{
"reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"status": 0,
"to": "60123456789",
"is_number_reachable": "unknown",
"resend_number": "2"
}
Unsuccessful response
{
"status": 2,
"err_msg": "Invalid credentials were provided"
}
Resend a new code over SMS to the provided mobile number with the 'mocean-reqid' from the verify request you sent. This method is charge by the total attempt of request.
POST https://rest.moceanapi.com/rest/2/verify/resend/sms
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-reqid required |
string | The unique ID of the verify request you sent |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
PPA Send Code over Telegram
Example request
curl -X POST https://rest.moceanapi.com/rest/2/verify/req/telegram \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-from=BOT_USERNAME_HERE&
mocean-to=CHAT_ID_HERE&
mocean-brand=BRAND_NAME"
const moceansdk = require('mocean-sdk');
const Client = new mocean.Mocean(new
mocean.Client('MOCEAN_API_KEY','MOCEAN_API_SECRET')
);
mocean.verify_request()
.sendAs(mocean.MessageChannel.TELEGRAM)
.send({
'mocean-to': 'CHAT_ID_HERE',
'mocean-brand': 'BRAND_NAME',
'mocean_from': 'BOT_USERNAME_HERE'
}, function (err, res) {
console.log(res);
});
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->verify()
->sendAs(\Mocean\Verify\Channel::TELEGRAM) // add this method
->start([
mocean-brand = 'BRAND_NAME',
mocean-to = 'CHAT_ID_HERE',
mocean_from = 'BOT_USERNAME_HERE'
]);
echo $result;
?>
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var res = client.SendCode
.SendAs(Mocean.Verify.Channel.Telegram)
.Send(new Mocean.Verify.SendCodeRequest
{
mocean_from = "BOT_USERNAME_HERE",
mocean_brand = "BRAND_NAME",
mocean_to = "CHAT_ID_HERE",
});
Console.WriteLine(res);
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.verify_request
.send_as(Moceansdk::Modules::Message::Channel::TELEGRAM) # add this method
.send('mocean-to': 'CHAT_ID_HERE', 'mocean-brand': 'BRAND_NAME', 'mocean-from': 'BOT_USERNAME_HERE')
print res
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
VerifyRequestResponse res = mocean
.verifyRequest()
.setFrom("BOT_USERNAME_HERE")
.setBrand("BRAND_NAME")
.setTo("CHAT_ID_HERE")
.sendAs(Channel.TELEGRAM)
.send();
System.out.println(res);
from moceansdk import Client, Basic
from moceansdk.modules.message.channel import Channel
res = mocean.verify_request.send_as(Channel.TELEGRAM).create({
"mocean-to": "CHAT_ID_HERE",
"mocean-brand":"BRAND_NAME",
"mocean-from":"BOT_USERNAME_HERE"
}).send()
print(res)
Successful response
{
"reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"status": 0,
"to": "YOUR_CHAT_ID"
}
Unsuccessful response
{
"status": 2,
"err_msg": "Invalid credentials were provided"
}
Send a random generated code over Telegram to the provided chat ID. This method is charge by the total attempt of request.
POST https://rest.moceanapi.com/rest/2/verify/req/telegram
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-from required |
string | Bot username that will send the message to the receiver in Telegram. |
mocean-to required |
number | Chat id of Telegram recipient. |
mocean-brand required |
string | The name of the company or application you are using for verification. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
mocean-code-length optional |
number | The length of verification code. Possible values are 4 and 6 digits. Default is 4 or as defined in account. |
mocean-pin-validity optional |
number | The expiring time of generated code. Values can be number between 60 to 3600 seconds. Default is 300 or as defined in account. |
Verify Code
Example request
curl -X POST https://rest.moceanapi.com/rest/2/verify/check \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-reqid=XXXXXXXXXXXXXXXXXXXXXX&
mocean-code=123456&
mocean-resp-format=json"
const moceanjs = require('mocean-sdk');
var token = new moceanjs.Client('API_KEY_HERE','API_SECRET_HERE');
var mocean = new moceanjs.Mocean(token);
mocean.verify_validate().create({
"mocean-reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"mocean-code": "123456"
}).send((err, res) => {
if(err) throw err;
console.log(res);
});
<?php
require_once '../vendor/autoload.php';
$token = new Mocean\Client\Credentials\Basic(
'API_KEY_HERE',
'API_SECRET_HERE'
);
$mocean = new Mocean\Client($token);
$res = $mocean->verify()->check([
'mocean-reqid' => 'XXXXXXXXXXXXXXXXXXXXXX',
'mocean-code' => '123456',
'mocean-resp-format' => 'json'
]);
echo $res;
?>
Mocean.Verify.Verify _verification = new Mocean.Verify.Verify(){
mocean_reqid = "XXXXXXXXXXXXXXXXXXXXXX",
mocean_code = "123456"
};
string response = Mocean.Verify.Client.Check(_verification, creds);
from moceansdk import Mocean, Client
token = Client("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean(token)
res = mocean.verify_validate.create({
"mocean-reqid": "XXXXXXXXXXXXXXXXXXXXXX",
"mocean-code": "123456"
}).send()
print(res)
require "moceansdk"
token = Client.new("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean.new(token)
res = mocean.verify_validate.create({
"mocean-reqid" => "XXXXXXXXXXXXXXXXXXXXXX",
"mocean-code" => "123456"
}).send()
puts res
String res = mocean.verify_validate().setReqid("MOCEAN_REQUEST_ID")
.setCode("123456")
.send();
System.out.println(res);
Successful response
{
"reqid": "XXXXXXXXXXXXXXXXXXXXXXXXX",
"status": 0,
}
Unsuccessful response
{
"status": 2,
"err_msg": "Invalid credentials were provided"
}
To use Verify Code you:
- Use a check request to send the PIN you received from your user to Mocean.
- Check the response codes in the response to see if the CODE sent by your user matched the CODE generated by Mocean.
POST https://rest.moceanapi.com/rest/2/verify/check
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-reqid required |
string | The identifier of theVerify request to check. This is the request ID you received in the Verify request response. |
mocean-code required |
string | The CODE given by your user. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Code | Descriptions |
---|---|
0 | OK. No error encountered. |
1 | Throttled error. You are trying to send more than allowed requests per minute. |
2 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, NO Request is sent to the receiver. |
3 | System error, please try again. |
4 | Missing mandatory parameter: brand |
5 | Missing mandatory parameter: receiver |
6 | Invalid destination number. Receiver is invalid after stripping all non-numerics. |
7 | Missing mandatory parameter: request id |
8 | Missing mandatory parameter: pin code |
9 | Brand provided is too long. |
10 | Sender id provided is too long. |
11 | Code length provided is unsupported. |
13 | Pin validity provided is invalid, valid range is between 60 and 3600 seconds. |
14 | Next event wait is invalid, valid range is between 60 and 900 seconds. |
15 | Incorrect code was provided too many times. Maximum retry limit is 3. |
16 | The code inserted does not match the expected value. |
17 | Associated verify request not found. |
18 | Insufficient balance. Not enough credit in the account for verification. |
19 | Concurrent verify request to the same number and brand are not allowed. Only applicable to pay-per-conversion API. |
20 | The request could not be routed. |
21 | System error, request could not be processed. |
22 | Unknown request. |
23 | Invalid service - your request makes use of a facility that is not enabled on your account. |
26 | Missing mandatory parameter: bot username. |
Number Lookup API
Overview
Mocean Number Lookup API allows you to query mobile phone number about their IMSI number, reachability, ported number, as well as its original and current network operator.
Use Number Lookup to help determine:
- is the mobile number a ported number
- which country is the number registered to with their original and current network operators
- user of a cellular network
Getting Started
Before you begin, please make sure you already have a Mocean API account, or sign up for a Mocean account here.
Using your Mocean API_KEY
and API_SECRET
, available from the dashboard page, you can now Request a Number Lookup:
Request Number Lookup
Example request
curl -X POST "https://rest.moceanapi.com/rest/2/nl" \
-d "mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-to=60123456789&
mocean-resp-format=json"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.number_lookup.inquiry('mocean-to': '60123456789')
print res
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.number_lookup.inquiry({
'mocean-to': '60123456789'
})
print(res)
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->numberLookup()->inquiry([
'mocean-to' => '60123456789',
'mocean-resp-format' => 'json'
]);
echo $result;
?>
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.number_lookup()
.inquiry({
'mocean-to': '60123456789'
}, function (err, res) {
console.log(res);
});
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
NumberLookupResponse res = mocean
.numberLookup()
.setTo("601156256742")
.inquiry();
System.out.println(res);
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
var res = client.NumberLookup.Inquiry(new Mocean.NumberLookup.NumberLookupRequest
{
mocean_to = "60123456789"
});
Console.WriteLine(res);
Successful asynchronous response
{
"status":0,
"msgid":"test0412143224000022.0002",
"to":"60123456789"
}
Successful synchronous response
{
"status": 0,
"msgid": "test0412143224000022.0002",
"to": "60123456789",
"current_carrier": {
"country": "MY",
"name": "U Mobile",
"network_code": 50218,
"mcc": "502",
"mnc": "18"
},
"original_carrier": {
"country": "MY",
"name": "Maxis Mobile",
"network_code": 50212,
"mcc": "502",
"mnc": "12"
},
"ported": "ported"
}
Unsuccessful response
{
"status": 1,
"err_msg": "Authorization failed"
}
Request a Number Lookup from your Mocean account
POST https://rest.moceanapi.com/rest/2/nl
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-to required |
number | The phone that you like to lookup about. Phone number must include country code for example, Malaysian phone number will be like 6012356789. |
mocean-nl-url optional |
string | Callback URL for the number lookup. Parameter mocean-nl-url is required if you want your response to be in asynchronous mode..Parameter mocean-nl-url is not required if you want your response to be in synchronous mode. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Code | Descriptions |
---|---|
0 | OK. No error encountered. |
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret or IP not whitelisted. NOTE: When this error is encountered, No Request is sent. |
2 | Insufficient balance. |
6 | No phone number specified. |
24 | Unknown error. |
28 | Invalid phone number. |
32 | Throttled error. |
34 | Invalid request received. |
40 | System down for maintenance. |
45 | System error, please try again. |
65 | Route not found. |
70 | Invalid service - Request made is not a service enabled on your account. |
Delivery Result
Receiving PUT request
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
end
route :put, '/webhooks/numberlookup' do
puts params.merge(parsed_body)
status 204
end
set :port, 3000
from flask import Flask,request
app = Flask(__name__)
@app.route('/webhooks/numberlookup', methods=['PUT'])
def getDeliveryResult():
data = request.form
_status = data['status']
_msgid = data['msgid']
_to = data['to']
_current_carrier = data['current_carrier']
_original_carrier = data['original_carrier']
_ported = data['ported']
_err_msg = data['err_msg']
const app = require('express')();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.route('/webhooks/numberlookup').put('handleRst');
function handleRst(req, res)
{
console.log(res.body);
res.status(204).send();
}
app.listen(8080)
import mocean.system.*;
class program {
public static void main(String [] args)
{
Client token = new Client("API_KEY_HERE","API_SECRET_HERE");
Mocean mocean = new Mocean(token);
try
{
put("/webhooks/numberlookup", (req, res) -> {
for (String param : req.queryParams())
{
System.out.printf("%s: %s\n", param, req.queryParams(param));
}
res.status(204);
return "";
});
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
public void ReceiveDLR()
{
Debug.WriteLine("------");
Debug.WriteLine("DELIVERY RESULT");
Debug.WriteLine("status: " + Mocean.Message.Client.DLRStatus(Request.Form["status"]));
Debug.WriteLine("msgid: " + Request.Form["msgid"]);
Debug.WriteLine("to: " + Request.Form["to"]);
Debug.WriteLine("current_carrier: " + Request.Form["current_carrier"]);
Debug.WriteLine("original_carrier: " + Request.Form["original_carrier"]);
Debug.WriteLine("ported: " + Request.Form["ported"]);
Debug.WriteLine("err_msg: " + Request.Form["err_msg"]);
Debug.WriteLine("------");
}
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$handler = function (Request $request, Response $response) {
$params = $request->getParsedBody();
// Fall back to query parameters if needed
if (!count($params)){
$params = $request->getQueryParams();
}
error_log(print_r($params, true));
return $response->withStatus(204);
};
$app->put('/webhooks/numberlookup', $handler);
$app->run();
?>
Request sent from Mocean
> PUT /webhooks/numberlookup HTTP/1.1
> Host: example.com
> Accept: */*
> Content-Length: 114
> Content-Type: application/x-www-form-urlencoded
{
status: 0,
msgid: "test0412143224000022.0002",
to: 60123456789,
current_carrier: {
country: "MY",
name: "U Mobile",
network_code: 50218,
mcc: 502,
mnc: 18
},
original_carrier: {
country: "MY",
name: "Maxis Mobile",
network_code: 50212,
mcc: 502,
mnc: 12
},
ported: "ported"
}
If an asynchronous response is requested, Mocean will return the delivery result to the callback URL submitted under "mocean-nl-url" in Number Lookup Request.
After returning delivery result, Mocean API Server is expecting a respond with “HTTP OK” (Status 200) or it will keep on retrying until it expired(36 hours).
Note: If you're using localhost environment for receiving Delivery Results, you will need to make your local environment publicly available so Mocean API server can reach your local server. We recommend you try ngrok to do this quite easily.
PUT https://example.com/webhooks/numberlookup
Parameter | Format | Descriptions | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status |
number | Status of number lookup. | ||||||||||||
msgid |
string | The unique ID of the request. | ||||||||||||
to |
number | Phone number | ||||||||||||
current_carrier |
object | Current mobile operator based on IMSI.
|
||||||||||||
original_carrier |
object | Original mobile operator based on phone number prefix.
|
||||||||||||
ported |
string | Information about whether the phone number is ported. Possible values are:
|
||||||||||||
err_msg |
string | Error message about the failure if status is failed. |
WhatsApp API
Send WhatsApp
Templates Message Content
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "template",
"wa_template": {
"name": "test_template",
"language": "en",
"header_params": [
{
"type": "image",
"rich_media_url": "https://a_link.com/image.png"
}
],
"body_params": [
{
"type": "text",
"text": "This is the first param"
},
{
"type": "text",
"text": "and this is the 2nd"
}
],
"wa_buttons": [
{
"type": "quick_reply",
"index": 0,
"payload": "Content1 to return, used only by button with type: quick_reply"
},
{
"type": "quick_reply",
"index": 1,
"payload": "Content2 to return, used only by button with type: quick_reply"
}
]
}
}
}'
Text messages
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "text",
"text": "Mocean sample text",
"preview_url": false,
}
}'
Rich Media Content
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-content": {
"type": "image",
"text": "Caption for image",
"rich_media_url": "http://www.moceansms.com/images/header_logo.png"
},
"mocean-event-url": "http://webhook.tld/path"
}'
Reaction Content
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "reaction",
"text": "\uD83D\uDE00",
"reply_to_msg_id": "MESSAGE_ID",
}
}'
Interactive Content(button)
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "interactive",
"wa_interactive": {
"type": "button",
"header": {
"type": "image",
"rich_media_url": "https://www.mocean.com.my/logo.png"
},
"body": {
"text": "Example body text for button"
},
"action": {
"wa_buttons": [
{
"type": "reply",
"title": "Button1 Title",
"id": "button1_id"
},
{
"type": "reply",
"title": "Button2 Title",
"id": "button2_id"
}
]
}
}
}
}'
Interactive Content(list)
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "interactive",
"wa_interactive": {
"type": "list",
"header": {
"type": "text",
"text": "Example header text for list"
},
"body": {
"text": "Example body text for list"
},
"action": {
"button_text": "Example button text for list",
"sections": [
{
"title": "Section1 Title",
"rows": [
{
"id": "row_id1",
"title": "row_title1",
"description": "row_description1"
},
{
"id": "row_id2",
"title": "row_title2",
"description": "row_description2"
}
]
},
{
"title": "Section2 Title",
"rows": [
{
"id": "row_id1",
"title": "row_title1",
"description": "row_description1"
},
{
"id": "row_id2",
"title": "row_title2",
"description": "row_description2"
}
]
}
]
}
}
}
}'
Interactive Content(product)
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "interactive",
"wa_interactive": {
"type": "product",
"body": {
"text": "Example body text for single-product"
},
"footer": {
"text": "Example footer text for single-product"
},
"action": {
"catalog_id": "532885782203560",
"product_retailer_id": "4j15rehvf0"
}
}
}
}'
Interactive Content(product list)
curl -X POST \
https://rest.moceanapi.com/rest/2/send-message/whatsapp \
-d '
{
"mocean-api-key": "CLIENT_API_KEY",
"mocean-api-secret": "CLIENT_API_SECRET",
"mocean-from": "60123456789",
"mocean-to": "601987654321",
"mocean-event-url": "http://webhook.tld/path",
"mocean-content": {
"type": "interactive",
"wa_interactive": {
"type": "product_list",
"header": {
"type": "text",
"text": "Example header text for multi-product"
},
"body": {
"text": "Example body text for multi-product"
},
"footer": {
"text": "Example footer text for multi-product"
},
"action": {
"catalog_id": "532885782203560",
"sections": [
{
"title": "Section1 Title",
"product_items": [
{
"product_retailer_id": "erc3zi4d0e"
},
{
"product_retailer_id": "shrlghouts"
}
]
},
{
"title": "Section2 Title",
"product_items": [
{
"product_retailer_id": "4j15rehvf0"
},
{
"product_retailer_id": "v8etcv50u6"
}
]
}
]
}
}
}
}'
POST https://rest.moceanapi.com/rest/2/send-message/whatsapp
Request parameters
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | API key of the account. |
mocean-api-secret required |
string | API secret of the account. |
mocean-from required |
string | Registered WhatsApp Business sender phone number. The phone number must include country code, for example, a Malaysian phone number will be like 60123456789. |
mocean-to required |
string | Phone number of the WhatsApp receiver. The phone number must include country code, for example, a Malaysian phone number will be like 60123456789. |
mocean-content required |
One of the followings: | Content object of the message. Note:
|
mocean-event-url optional |
string | Webhook for receiving delivery events regarding their requested process. |
A successful response for WhatsApp message will be as follows:
{
"status": 0,
"message_id": "d2eaf858-1b0e-11ee-a06f-891a3eb010d6"
}
An unsuccessful response for WhatsApp message will be as follows:
{
"status": 94,
"err_msg": "OTT content parameters error",
"hint": "Parameter wa_template is missing"
}
Response parameters
Upon success, we shall return HTTP status 202.
Parameter | Format | Description |
---|---|---|
status |
number | Status of the HTTP request. |
message_id |
string | Message ID for the message. |
err_msg |
string | (On fail) Error message of the status. |
hint |
string | (On fail, if available) Supplementary information on the failure of the request for user debug. |
Code | Description |
---|---|
0 | OK. No error encountered. |
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret or IP not whitelisted. |
2 | Insufficient balance. |
6 | No destination number specified. |
34 | Invalid request received. Eg: No JSON parameters found in the request body. |
44 | Invalid sender ID. Eg: Empty sender ID. |
72 | Invalid type. Eg: Invalid content or interactive type. |
78 | Invalid bot or bot is not active. Eg: Incorrect WABA phone number for sender ID. |
92 | OTT content syntax error. Eg: Missing mandatory parameter in the content. |
93 | Missing OTT content input. Content JSON object not found in the request body. |
94 | OTT content parameters error. Eg: Missing mandatory parameter in the content’s parameter. |
Delivery Report
Sent
{
"message_id": "in-message-id",
"event_type": "delivery-status",
"event_data": {
"channel_type": "WHATSAPP",
"from": "end-user-phone-number",
"to": "WABA-phone-number",
"meta_delivery_status": "sent",
"timestamp": 1682668041,
"meta_whatsapp_conversation": {
"conversation_id": "ad72a86d9cebac0950e3c38b5f77a473",
"expiration_timestamp": 1681282080,
"pricing_category": "utility"
}
}
}
Delivered
{
"message_id": "in-message-id",
"event_type": "delivery-status",
"event_data": {
"channel_type": "WHATSAPP",
"from": "end-user-phone-number",
"to": "WABA-phone-number",
"meta_delivery_status": "delivered",
"timestamp": 1682669084,
"meta_whatsapp_conversation": {
"conversation_id": "ad72a86d9cebac0950e3c38b5f77a473",
"pricing_category": "utility"
}
}
}
Read
{
"message_id": "in-message-id",
"event_type": "delivery-status",
"event_data": {
"channel_type": "WHATSAPP",
"from": "end-user-phone-number",
"to": "WABA-phone-number",
"meta_delivery_status": "read",
"timestamp": 1682670029
}
}
Error
{
"message_id": "in-message-id",
"event_type": "delivery-status",
"event_data": {
"channel_type":"WHATSAPP",
"from": "end-user-phone-number",
"to": "WABA-phone-number",
"meta_delivery_status": "failed",
"meta_error_details": {
"error_code": 131047,
"error_title": "Re-engagement message",
"error_details": "More than 24 hours have passed since the recipient last replied to the sender number."
}
}
}
POST https://example.com/webhooks/whatsapp-delivery-status
Resource
Parameter | Format | Description |
---|---|---|
message_id |
string | Message ID associated with the transaction which was given from the HTTP response of send WhatsApp. |
event_type |
string | Type of the event. Limited to:
|
event_data |
Delivery Status | Information of the delivery-status |
Delivery Status
Parameter | Format | Description |
---|---|---|
channel_type |
string | Restricted string WHATSAPP. |
from |
string | Source WhatsApp phone number for said message. It is an end-user phone number that includes a country code, for example, a Malaysian phone number will be like 60123456789. |
to |
string | Destination WhatsApp phone number for the message. It is a WABA phone number that includes a country code, for example, a Malaysian phone number will be like 60123456789. |
meta_delivery_status |
string | Delivery status as reported from meta. String limited to:
Note:
|
meta_whatsapp_conversation |
Meta Whatsapp Conversation | Details about the conversation the message belongs to. Note:
|
meta_error_details |
Meta Error Details | (On delivery error) Error details for the delivery. |
timestamp |
UNIX timestamp | UNIX timestamp for the delivery report. |
Meta Whatsapp Conversation
Parameter | Format | Description |
---|---|---|
conversation_id |
string | Identifier for the conversation the message belonged to. |
expiration_timestamp |
UNIX timestamp | Expiration timestamp for the conversation. |
pricing_category |
string | Category of the conversation. Possible values are:
|
Meta Error Details
Parameter | Format | Description |
---|---|---|
error_code |
integer | Error code from meta. Refer here for more information. |
error_title |
string | Title for the error. |
error_details |
string | Detailed description for the error. |
Receive Whatsapp
Text Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"forwarded": true,
"timestamp": 1690124844,
"content": {
"type": "text",
"text": "Text message sent by end-user"
}
}
}
Audio Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "audio",
"media_id": "media-id",
"mime_type": "audio/ogg; codecs=opus",
"voice": false
}
}
}
Document Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "document",
"text": "Caption for document",
"name": "example.pdf",
"media_id": "media-id",
"mime_type": "application/pdf"
}
}
}
Video Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "video",
"text": "Caption for video",
"media_id": "media-id",
"mime_type": "video/mp4"
}
}
}
Image Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "image",
"text": "Caption for image",
"media_id": "media-id",
"mime_type": "image/jpeg"
}
}
}
Sticker Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "sticker",
"media_id": "media-id",
"mime_type": "image/webp",
"animated": true
}
}
}
Quick Reply Button Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"reply_to_msg_id": "MESSAGE_ID",
"timestamp": 1690124844,
"content": {
"type": "button",
"text": "button1 text",
"payload": "button1-payload"
}
}
}
Reaction Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"reply_to_msg_id": "MESSAGE_ID",
"timestamp": 1690124844,
"content": {
"type": "reaction",
"text": "\u2764\ufe0f"
}
}
}
Referral Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "text",
"text": "Text message sent by end-user",
"referral": {
"source_url": "https://fb_post_url",
"source_type": "post",
"source_id": "FB_ID",
"headline": "Example headline",
"body": "Example body",
"rich_media_type": "image",
"rich_media_url": "https://example_image_url"
}
}
}
}
Interactive Button Reply Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"reply_to_msg_id": "MESSAGE_ID",
"timestamp": 1690124844,
"content": {
"type": "interactive_button",
"id": "button1_id",
"title": "I opt for button1"
}
}
}
Interactive List Reply Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"reply_to_msg_id": "MESSAGE_ID",
"timestamp": 1690124844,
"content": {
"type": "interactive_list",
"id": "list_item1_id",
"title": "Title of list item1",
"description": "Description of list item1"
}
}
}
Order Message
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"timestamp": 1690124844,
"content": {
"type": "order",
"catalog_id": "864331704878910",
"product_items": [
{
"product_retailer_id": "91v3m1gh30",
"currency": "MYR",
"item_price": 0.05,
"quantity": 2
},
{
"product_retailer_id": "hhu8narwi5",
"currency": "MYR",
"item_price": 0.25,
"quantity": 3
}
]
}
}
}
Text Message with Product Reference
{
"message_id": "in-message-id",
"event_type": "message",
"event_data": {
"channel_type": "WHATSAPP",
"from_name": "end-user-profile-name",
"to": "WABA-phone-number",
"referred_product": {
"catalog_id": "864331704878910",
"product_retailer_id": "91v3m1gh30"
},
"timestamp": 1690124844,
"content": {
"type": "text",
"text": "Do you have this product in blue color?"
}
}
}
POST https://example.com/webhooks/whatsapp-inbound-message
Resource
Parameter | Format | Description |
---|---|---|
message_id |
string | Identifier for the message |
event_type |
string | Type of the event. Limited to:
|
event_data |
Message | Information of the message |
Message
Parameter | Format | Description |
---|---|---|
channel_type |
string | Restricted string WHATSAPP. |
from_name |
string | Source WhatsApp phone number profile name for said message.. It is an end-user profile name, for example, a profile name will be like 'Tom'. |
to |
string | Destination WhatsApp phone number for the message. It is a WABA phone number that includes a country code, for example, a Malaysian phone number will be like 60123456789. |
forwarded |
boolean | It is an indication that the message had been forwarded. |
frequently_forwarded |
boolean | It is an indication that the message had been frequently forwarded. |
reply_to_msg_id |
string | Message ID of the message that was intended to be replied with. “Message ID” here refers to the “message_id” provided in the HTTP response after sending WhatsApp. |
referred_product |
referred product | Referred product object describing the product the user is requesting information about after received an interactive product message, restricted string type parameters:
Note:
|
timestamp |
UNIX timestamp | UNIX timestamp for the message. |
content |
Receive Whatsapp Content | Content object of the message. |
Receive Whatsapp Content
Parameter | Format | Description |
---|---|---|
type |
string | Content type of the receiving message. String limited to:
|
text |
string | Applicable content type for text , button , reaction , document , video and image . If the content type is text, this parameter indicates a text message sent by the end-user. If the content type is document, video or image, this parameter indicates caption (text message) for the media file sent by the end-user. If the content type is a button, this parameter indicates the quick reply button text that the end-user saw and clicked. If the content type is reaction, this parameter indicates an emoji sent by the end-user. |
payload |
string | Applicable content type for button only. The payload that was sent after the end-user clicks a quick reply button in response to the message template with buttons sent by a WABA. |
media_id |
string | Applicable content type for audio , document , video , image and sticker . The ID of the rich media that is used for downloading the media file sent by the end-user, and you need to call the download media API |
mime_type |
string | Applicable content type for audio , document , video , image and sticker . The mime type of the media file, eg: "video/mp4", is a mp4 file for a video. |
name |
string | Applicable content type for document . The filename of a document. |
voice |
boolean | Applicable content type for audio . Set to true if the audio is voice message; false otherwise. |
animated |
boolean | Applicable content type for sticker . Set to true if the sticker is animated; false otherwise. |
id |
string | Applicable content type for interactive_button and interactive_list . If the content type is interactive_button, this parameter indicates an unique ID of the selected button. If the content type is interactive_list, this parameter indicates an unique ID of the selected list item. |
title |
string | Applicable content type for interactive_button and interactive_list . If the content type is interactive_button, this parameter indicates the title of the button that the end-user saw and clicked. If the content type is interactive_list, this parameter indicates the title of the list item that the end-user saw and clicked. |
description |
string | Applicable content type for interactive_list . Description of the selected item. |
catalog_id |
string | Applicable content type for order . ID for the catalog the ordered item belongs to. |
product_items |
Array of Product Item | Applicable content type for order . List of product item's information that the end-user has placed an order. |
referral |
Referral | A referral object, if the message is sent in response to a Facebook ad or a post. |
Product Item
Parameter | Format | Description |
---|---|---|
product_retailer_id |
string | Product unique identifier, as defined in catalog. |
currency |
string | Price currency of the item. |
item_price |
number | Price of the item in two decimal places. |
quantity |
number | Number of placed orders for the item. |
Referral
Parameter | Format | Description |
---|---|---|
source_url |
string | The URL that leads to a Facebook ad or a post. |
source_type |
string | The type of the Facebook ad’s source. String limited to:
|
source_id |
string | The Facebook ID of the ad or post. |
headline |
string | The headline used in the Facebook ad or post that generated the message. |
body |
string | The body from the Facebook ad or post that generated the message. |
rich_media_type |
string | The type of media in the Facebook ad or post that generated the message. String limited to:
|
rich_media_url |
string | The public url of the media file in the Facebook ad or post that generated the message. |
Download Rich Media
Download Rich Media
curl -v "https://rest.moceanapi.com/rest/2/media/whatsapp?\
mocean-api-key=CLIENT_API_KEY&\
mocean-api-secret=CLIENT_API_SECRET&\
mocean-from=60123456789&\
mocean-media-id=MEDIA_ID" \
--output media_file
GET https://rest.moceanapi.com/rest/2/media/whatsapp
Request parameters
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | API key of the account. |
mocean-api-secret required |
string | API secret of the account. |
mocean-from required |
string | Registered WhatsApp Business sender phone number. The phone number must include country code, for example, a Malaysian phone number will be like 60123456789. |
mocean-media-id required |
string | ID of the rich media. |
A successful HTTP response for Download Rich Media will be as follows:
HTTP/1.1 200 OK
Server: SMSRouter/0.1
Content-Length: 3293799
Content-Disposition: inline;filename=File.mp4
Content-Type: video/mp4
An unsuccessful HTTP response for Download Rich Media will be as follows:
HTTP/1.1 404 Not Found
Server: SMSRouter/0.1
Content-Length: 0
Response status code
HTTP status code | Description |
---|---|
200 | OK. Media successfully downloaded. |
400 | Bad Request. Eg: Missing mandatory parameters. |
401 | Authorization failed. Invalid mocean-api-key or mocean-api-secret or IP not whitelisted. |
403 | Sender not found. |
404 | Media not found. |
406 | Not Acceptable. Eg: Incorrect API URL. |
429 | Too many requests. Rate limit: 20 requests per minute (per account) |
500 | Internal server error. |
Query API
Overview
This is an overview of Query API, this is where you do check Balance, Pricing, Messages Status and everything other than Sending SMS and Verify transaction.
Get Balance
Example request
curl -X GET "https://rest.moceanapi.com/rest/2/account/balance?
mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE"
require 'moceansdk'
mocean = Moceansdk::Client.new(
Moceansdk::Auth::Basic.new('API_KEY_HERE', 'API_SECRET_HERE')
)
res = mocean.balance.inquiry()
print res
from moceansdk import Client, Basic, Transmitter
mocean = Client(
Basic("API_KEY_HERE", "API_SECRET_HERE")
)
res = mocean.balance.inquiry()
print(res)
<?php
$mocean = new \Mocean\Client(
new \Mocean\Client\Credentials\Basic('API_KEY_HERE', 'API_SECRET_HERE')
);
$result = $mocean->account()->getBalance([
'mocean-resp-format' => 'json'
]);
echo $result;
?>
const moceansdk = require('mocean-sdk');
const mocean = new moceansdk.Mocean(
new moceansdk.Client('API_KEY_HERE', 'API_SECRET_HERE')
);
mocean.balance().inquiry((err, res) => {
if(err) throw err;
console.log(res);
});
Mocean mocean = new Mocean(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
String res = mocean.balance().inquiry();
System.out.println(res);
Client client = new Client(
new Basic("API_KEY_HERE", "API_SECRET_HERE")
);
Mocean.Account.Balance _balance = new Mocean.Account.Balance()
{
mocean_resp_format = "json"
};
string response = Mocean.Account.Client.GetBalance(_balance, creds);
Successful response
{
"status": 0,
"value": 100.0000
}
Unsuccessful response
{
"status": 1,
"err_msg": "Authorization failed"
}
Retrieve your current account balance via Mocean API Server at Base URL
Response will be given for every request in XML format by default. In fact, you get to choose between XML or JSON format by setting value for optional parameter "mocean-resp-format" and submit along your account balance query.
GET https://rest.moceanapi.com/rest/2/account/balance
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Error Status Code | Error Description |
---|---|
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, No Request is sent. |
24 | Unknown error. |
40 | System down for maintenance. |
45 | System error, please try again. |
Account Pricing
Example request
curl -X GET "https://rest.moceanapi.com/rest/2/account/pricing?
mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE"
require "moceansdk"
token = Client.new("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean.new(token)
res = mocean.pricing_list.inquiry()
puts res
from moceansdk import Mocean, Client
token = Client("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean(token)
res = mocean.price_list.inquiry()
print(res)
<?php
require_once '../vendor/autoload.php';
$token = new Mocean\Client\Credentials\Basic(
'API_KEY_HERE',
'API_SECRET_HERE'
);
$mocean = new Mocean\Client($token);
$res = $mocean->account()->getPricing([
'mocean-resp-format' => 'json'
]);
echo $res;
?>
const moceanjs = require('mocean-sdk');
var token = new moceanjs.Client('API_KEY_HERE','API_SECRET_HERE');
var mocean = new moceanjs.Mocean(token);
mocean.pricing_list().inquiry((err, res) => {
if(err) throw err;
console.log(res);
});
String res = mocean.pricing_list().setRespFormat("json").inquiry();
System.out.println(res);
Mocean.Account.Pricing _pricing = new Mocean.Account.Pricing()
{
mocean_resp_format = "json",
mocean_mcc = "502",
mocean_mnc = "01",
mocean_delimiter = ";",
};
string response = Mocean.Account.Client.GetPricing(_pricing, creds);
Successful response
{
"status": 0,
"destinations":[
{
"country": "Default",
"operator": "Default",
"mcc": "Default",
"mnc": "Default",
"price": "0.0100",
"currency": "MYR"
},
{
"country": "Malaysia",
"operator": "Default",
"mcc": "502",
"mnc": "Default",
"price": "0.0040",
"currency": "MYR"
},
{
"country": "Malaysia",
"operator": "Celcom",
"mcc": "502",
"mnc": "13,19",
"price": "0.0020",
"currency": "MYR"
}
]
}
Unsuccessful response
{
"status": 1,
"err_msg": "Authorization failed"
}
Retrieve your account pricing & supported destination via Mocean API Server at Base URL
Response will be given for every request in XML format by default. In fact, you get to choose between XML or JSON format by setting value for optional parameter "mocean-resp-format" and submit along your account pricing query.
GET https://rest.moceanapi.com/rest/2/account/pricing
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
mocean-mcc optional |
number | User can specify to get pricing for a particular Mobile Country Code (MCC). |
mocean-mnc optional |
number | Mobile Network Code (MNC) needs to be specified if user passes in mocean-mcc. User is allowed to pass ONE MNC only per query. |
mocean-delimiter optional |
string | Delimiter to be used in CSV format. By default, delimiter is set to “;”. User can specify to set delimiter to “;”, “:” or “ |
mocean-type optional |
string | User can specify which service pricing would user wishes to view. Available options are:
|
Error Status Code | Error Description |
---|---|
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, No Request is sent. |
3 | No rate found. |
24 | Unknown error. |
32 | Throttled. |
40 | System down for maintenance. |
45 | System error, please try again. |
46 | Invalid MCC MNC. |
51 | Invalid delimiter. |
52 | Multiple charging packages. |
72 | Invalid Type. |
Message Status
Example request
curl -X GET "https://rest.moceanapi.com/rest/2/report/message?
mocean-api-key=API_KEY_HERE&
mocean-api-secret=API_SECRET_HERE&
mocean-msgid=MSG_ID"
require "moceansdk"
token = Client.new("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean.new(token)
res = mocean.message_status.inquiry({
'mocean-msgid'=>'example0528181518667384.0002',
'mocean-resp-format'=>'JSON'
})
puts res
const moceanjs = require('mocean-sdk');
var token = new moceanjs.Client('API_KEY_HERE','API_SECRET_HERE');
var mocean = new moceanjs.Mocean(token);
mocean.pricing_list().inquiry((err, res) => {
if (err) throw err;
console.log(res);
});
from moceansdk import Mocean, Client
token = Client("API_KEY_HERE", "API_SECRET_HERE")
mocean = Mocean(token)
res = mocean.message_status.inquiry({'mocean-msgid':'example0528181518667384.0002'})
print(res)
<?php
require_once '../vendor/autoload.php';
$token = new Mocean\Client\Credentials\Basic(
'API_KEY_HERE',
'API_SECRET_HERE'
);
$mocean = new Mocean\Client($token);
$res = $mocean->message()->search([
'mocean-msgid' => 'example0528181518667384.0002',
'mocean-resp-format' => 'json'
]);
echo $res;
?>
String res = mocean.message_status().setMsgid("example0528181518667384.0002").inquiry();
System.out.println(res);
Mocean.Message.Message _message = new Mocean.Message.Message()
{
mocean_resp_format = "json",
mocean_msgid = "example0528181518667384.0002"
};
string response = Mocean.Message.Client.Search(_message, creds);
Successful response
{
"status": 0,
"message_status": 1,
"msgid": "cust20013050311050614001",
"credit_deducted": "1"
}
Unsuccessful response
{
"status": 1,
"err_msg": "Authorization failed"
}
Query your Outbound SMS's current status via Mocean API Server at Base URL
Response will be given for every request in XML format by default. In fact, you get to choose between XML or JSON format by setting value for optional parameter "mocean-resp-format" and submit along your query.
GET https://rest.moceanapi.com/rest/2/report/message
Parameter | Format | Description |
---|---|---|
mocean-api-key required |
string | Your account API key. |
mocean-api-secret required |
string | Your account API secret. |
mocean-msgid required |
string | Message ID associated with the transaction which given during SMS submission. |
mocean-resp-format optional |
string | Response format. By default, response format will be returned in XML. Supported formats are:
|
Parameter | Description |
---|---|
1 | Transaction success. |
2 | Transaction failed. |
3 | Transaction failed due to message expired. |
4 | Transaction pending for final status. |
5 | Transaction not found. |
Error Status Code | Error Description |
---|---|
1 | Authorization failed. Invalid mocean-api-key or mocean-api-secret. NOTE: When this error is encountered, No Request is sent. |
24 | Unknown error. |
25 | Invalid message ID. |
32 | Throttled. |
40 | System down for maintenance |
45 | System error, please try again. |
Network Code
The following list below is the details for Network Code:
Network Code | Country Code | Country Name | Operator | MCC | MNC |
---|---|---|---|---|---|
28967 | AB | Abkhazia | Aquafon | 289 | 67 |
28968 | AB | Abkhazia | A-Mobile | 289 | 68 |
21303 | AD | Andorra | Mobiland | 213 | 03 |
42402 | AE | United Arab Emirates | Etisalat | 424 | 02 |
42403 | AE | United Arab Emirates | Emirates Integrated Telecommunications Company PJSC (du) | 424 | 03 |
41201 | AF | Afghanistan | AWCC | 412 | 01 |
41220 | AF | Afghanistan | Telecom Development Company Afghanistan Ltd. (ROSHAN) | 412 | 20 |
41230 | AF | Afghanistan | Afghan Telecom (AT) | 412 | 30 |
41240 | AF | Afghanistan | Areeba (MTN) | 412 | 40 |
41250 | AF | Afghanistan | Etisalat | 412 | 50 |
34450 | AG | Antigua And Barbuda | Digicel Antigua | 344 | 50 |
344030 | AG | Antigua And Barbuda | APUA PCS | 344 | 030 |
344920 | AG | Antigua And Barbuda | Cable & Wireless (LIME) | 344 | 920 |
365010 | AI | Anguilla | Weblinks | 365 | 010 |
365840 | AI | Anguilla | Cable & Wireless (GSM) | 365 | 840 |
365930 | AI | Anguilla | Wireless Ventures (Anguilla) Ltd. (Digicel) | 365 | 930 |
27601 | AL | Albania | Albania Mobile Communications (AMC) | 276 | 01 |
27602 | AL | Albania | Vodafone Albania | 276 | 02 |
27603 | AL | Albania | Eagle Mobile | 276 | 03 |
27604 | AL | Albania | Plus Communication | 276 | 04 |
28301 | AM | Armenia | ArmenTel (Beeline) | 283 | 01 |
28304 | AM | Armenia | Karabakh Telecom | 283 | 04 |
28305 | AM | Armenia | VivaCell-MTS (K Telecom) | 283 | 05 |
28310 | AM | Armenia | UCom (Orange) | 283 | 10 |
36251 | AN | Netherlands Antilles | Telcell | 362 | 51 |
36269 | AN | Netherlands Antilles | (Digicel) | 362 | 69 |
36291 | AN | Netherlands Antilles | SETEL (UTS Wireless Curaçao) | 362 | 91 |
362997 | AN | Netherlands Antilles | Radcomm | 362 | 997 |
63102 | AO | Angola | Unitel | 631 | 02 |
63104 | AO | Angola | Movicel (CDMA) | 631 | 04 |
72201 | AR | Argentina | Telefónica Móviles S.A (Movistar) | 722 | 01 |
72202 | AR | Argentina | Nextel Communications Argentina S.A. | 722 | 02 |
72236 | AR | Argentina | Telecom Personal S.A. | 722 | 36 |
722310 | AR | Argentina | AMX Argentina S.A (Claro) (formally CTI Movil) | 722 | 310 |
722350 | AR | Argentina | Hutchison Telecommunications Argentina | 722 | 350 |
54411 | AS | American Samoa | Blue Sky Communications | 544 | 11 |
23201 | AT | Austria | Mobilkom Austria (A1) | 232 | 01 |
23203 | AT | Austria | T-Mobile | 232 | 03 |
23205 | AT | Austria | Orange (One) | 232 | 05 |
23207 | AT | Austria | tele.ring (T-Mobile) | 232 | 07 |
23209 | AT | Austria | Tele2 | 232 | 09 |
23210 | AT | Austria | Hutchison 3G | 232 | 10 |
23211 | AT | Austria | bob (A1 MVNO) | 232 | 11 |
23212 | AT | Austria | Yesss (Orange MVNO) | 232 | 12 |
23215 | AT | Austria | Barablu Mobile Ltd. | 232 | 15 |
50502 | AU | Australia | Optus | 505 | 02 |
50503 | AU | Australia | Vodafone Hutchison (Vodafone/H3G) | 505 | 03 |
50519 | AU | Australia | Lycamobile Pty Ltd (MVNO) | 505 | 19 |
50572 | AU | Australia | Telstra Corporation Ltd | 505 | 72 |
50599 | AU | Australia | Virgin (MVNO on Optus) | 505 | 99 |
36301 | AW | Aruba | SETAR | 363 | 01 |
36302 | AW | Aruba | New Millenium Telecom Services N.V. (Digicel) | 363 | 02 |
40001 | AZ | Azerbaijan | Azercell | 400 | 01 |
40002 | AZ | Azerbaijan | Bakcell | 400 | 02 |
40003 | AZ | Azerbaijan | Catel (CDMA-800) (FONEX) | 400 | 03 |
40004 | AZ | Azerbaijan | Nar Mobile (Azerfon) | 400 | 04 |
21803 | BA | Bosnia And Herzegovina | HT-ERONET | 218 | 03 |
21805 | BA | Bosnia And Herzegovina | RS Telecommunications (m:tel)(Mobilna)(Telekom Srpske) | 218 | 05 |
21890 | BA | Bosnia And Herzegovina | BH Mobile (BH Telecom) | 218 | 90 |
342600 | BB | Barbados | Flow (Lime) | 342 | 600 |
342750 | BB | Barbados | Digicel Barbados Ltd. | 342 | 750 |
342810 | BB | Barbados | Cingular Wireless | 342 | 810 |
342820 | BB | Barbados | Sunbeach Communications | 342 | 820 |
47001 | BD | Bangladesh | Grameen Phone | 470 | 01 |
47002 | BD | Bangladesh | Robi (Aktel)(Axiata) | 470 | 02 |
47003 | BD | Bangladesh | Banglalink (Orascom) | 470 | 03 |
47004 | BD | Bangladesh | Teletalk | 470 | 04 |
47005 | BD | Bangladesh | City Cell (CDMA) | 470 | 05 |
47006 | BD | Bangladesh | Beeong Warid Telecom (WTBL) | 470 | 06 |
47007 | BD | Bangladesh | Airtel (Warid) | 470 | 07 |
20601 | BE | Belgium | Belgacom Mobile (Proximus) | 206 | 01 |
20605 | BE | Belgium | Telenet (Mobistar MVNO) | 206 | 05 |
20610 | BE | Belgium | Orange (MOBISTAR) | 206 | 10 |
20620 | BE | Belgium | KPN (BASE) | 206 | 20 |
61301 | BF | Burkina Faso | Onatel (TELMOB) | 613 | 01 |
61302 | BF | Burkina Faso | Orange (Zain/Airtel) | 613 | 02 |
61303 | BF | Burkina Faso | Telecel Faso S.A. | 613 | 03 |
28401 | BG | Bulgaria | A1 (M-TEL) | 284 | 01 |
28403 | BG | Bulgaria | Vivacom BTC (Formerly Vivatel) | 284 | 03 |
28405 | BG | Bulgaria | Telenor Bulgaria (Formerly Globul) | 284 | 05 |
42601 | BH | Bahrain | Batelco | 426 | 01 |
42602 | BH | Bahrain | Zain (MTC Vodafone) | 426 | 02 |
42604 | BH | Bahrain | Viva | 426 | 04 |
64201 | BI | Burundi | Econet Leo (Econet Wireless) | 642 | 01 |
64202 | BI | Burundi | Tempo (Formerly Safaris/Arficell) | 642 | 02 |
64203 | BI | Burundi | Onamob (Onatel) | 642 | 03 |
64207 | BI | Burundi | Smart Mobile (Formerly Lacell) | 642 | 07 |
64282 | BI | Burundi | Leo (Orascom) | 642 | 82 |
61601 | BJ | Benin | Libercom | 616 | 01 |
61602 | BJ | Benin | Moov (Telecel Benin) | 616 | 02 |
61603 | BJ | Benin | MTN Spacetel (Formerly Areeba) | 616 | 03 |
61604 | BJ | Benin | Bell Benin Communications (BBCom) | 616 | 04 |
61605 | BJ | Benin | Glo Communication (GloBenin) | 616 | 05 |
31059 | BM | Bermuda | Cellular One (CMDA) | 310 | 59 |
35001 | BM | Bermuda | Telecommunications (Bermuda & West Indies) Ltd (Digicel Bermuda) | 350 | 01 |
35002 | BM | Bermuda | Mobility (M3 Wireless) | 350 | 02 |
52801 | BN | Brunei Darussalam | Jabatan Telekom Brunei | 528 | 01 |
52802 | BN | Brunei Darussalam | B-Mobile Communications | 528 | 02 |
52811 | BN | Brunei Darussalam | DST Communications Sdn Bhd | 528 | 11 |
73601 | BO | Bolivia (Plurinational State of) | Nuevatel (Viva) | 736 | 01 |
73602 | BO | Bolivia (Plurinational State of) | Entel | 736 | 02 |
73603 | BO | Bolivia (Plurinational State of) | Tigo (Telefonica Celular De Bolivia S.A) (Telecel Bolivia) | 736 | 03 |
72400 | BR | Brazil | Nextel (iDEN) | 724 | 00 |
72402 | BR | Brazil | TIM Celular | 724 | 02 |
72405 | BR | Brazil | Claro | 724 | 05 |
72406 | BR | Brazil | Vivo | 724 | 06 |
72407 | BR | Brazil | Sercomtel Celular (CTBC) | 724 | 07 |
72416 | BR | Brazil | Brasil Telecom (14 Brasil Telecom Celular) | 724 | 16 |
72419 | BR | Brazil | Vivo Minas (Telemig Celular) | 724 | 19 |
72424 | BR | Brazil | Oi (Amazônia Celular) | 724 | 24 |
72431 | BR | Brazil | Oi (TNL PCS) | 724 | 31 |
72437 | BR | Brazil | aeiou (Unicel) | 724 | 37 |
364390 | BS | Bahamas | The Bahamas Telecommunications Company Ltd | 364 | 390 |
40211 | BT | Bhutan | B-Mobile | 402 | 11 |
40277 | BT | Bhutan | TashiCell | 402 | 77 |
65201 | BW | Botswana | Mascom Wireless | 652 | 01 |
65202 | BW | Botswana | Orange(Vista Cellular) | 652 | 02 |
65204 | BW | Botswana | BTC Mobile (BEMOBILE) | 652 | 04 |
25701 | BY | Belarus | VELCOM | 257 | 01 |
25702 | BY | Belarus | Mobile TeleSystems JLLC (MTS) | 257 | 02 |
25703 | BY | Belarus | BelCel JV (DIALLOG) (CDMA) | 257 | 03 |
25704 | BY | Belarus | Belarussian Telecommunications Network (life:)) | 257 | 04 |
70267 | BZ | Belize | Belize Telemedia (DigiCell) | 702 | 67 |
70299 | BZ | Belize | SpeedNet (Smart)(CDMA) | 702 | 99 |
302220 | CA | Canada | Telus Mobility | 302 | 220 |
302290 | CA | Canada | Airtel Wireless (iDEN) | 302 | 290 |
302320 | CA | Canada | DAVE Wireless (Mobilicity) | 302 | 320 |
302350 | CA | Canada | FIRST | 302 | 350 |
302360 | CA | Canada | Telus Mobility (MiKe)(iDEN) | 302 | 360 |
302370 | CA | Canada | Fido (Rogers Wireless)(Microcell) | 302 | 370 |
302380 | CA | Canada | Dryden Mobility (DMTS) | 302 | 380 |
302490 | CA | Canada | Freedom Mobile (WIND) | 302 | 490 |
302510 | CA | Canada | Videotron | 302 | 510 |
302610 | CA | Canada | Bell Mobility | 302 | 610 |
302620 | CA | Canada | ICE Wireless | 302 | 620 |
302651 | CA | Canada | Bell Mobility (CDMA) | 302 | 651 |
302652 | CA | Canada | BC Tel Mobility (Telus)(CDMA) | 302 | 652 |
302655 | CA | Canada | MTS Mobility (Manitoba)(CDMA) | 302 | 655 |
302656 | CA | Canada | Thunder Bay Mobility (TBay)(CDMA) | 302 | 656 |
302657 | CA | Canada | Telus Mobility (CDMA) | 302 | 657 |
302660 | CA | Canada | MTS Mobility | 302 | 660 |
302680 | CA | Canada | SaskTel Mobility (CDMA) | 302 | 680 |
302701 | CA | Canada | MB Tel Mobility (CDMA) | 302 | 701 |
302703 | CA | Canada | Aliant Telecom (MT&T)(New Tel)(CDMA) | 302 | 703 |
302720 | CA | Canada | Rogers Wireless (Rogers Communications) (formally Rogers AT&T wireless) | 302 | 720 |
302780 | CA | Canada | SaskTel Mobility | 302 | 780 |
63001 | CD | Democratic Republic of the Congo | Vodacom (Congolese Wireless Network) | 630 | 01 |
63002 | CD | Democratic Republic of the Congo | Airtel (formerly Celtel/Zain) | 630 | 02 |
63005 | CD | Democratic Republic of the Congo | Supercell | 630 | 05 |
63086 | CD | Democratic Republic of the Congo | CCT (Congo-Chine Telecom / Orange) | 630 | 86 |
63088 | CD | Democratic Republic of the Congo | Yozma Timeturns | 630 | 88 |
63089 | CD | Democratic Republic of the Congo | Oasis SPRL (Tigo Sait Telecom / ORANGE) | 630 | 89 |
63090 | CD | Democratic Republic of the Congo | Africell | 630 | 90 |
62301 | CF | Central African Republic | Centrafrique Telecom Plus (Acell RCA) | 623 | 01 |
62302 | CF | Central African Republic | Telecel Centrafrique | 623 | 02 |
62303 | CF | Central African Republic | Orange | 623 | 03 |
62304 | CF | Central African Republic | NationLink Telecom | 623 | 04 |
62901 | CG | Congo | Airtel (formerly Celtel/Zain) | 629 | 01 |
62907 | CG | Congo | WARID Congo | 629 | 07 |
62910 | CG | Congo | Libertis Telecom (MTN) | 629 | 10 |
22801 | CH | Switzerland | Swisscom Mobile AG | 228 | 01 |
22802 | CH | Switzerland | Sunrise (TDC Switzerland AG) | 228 | 02 |
22803 | CH | Switzerland | Salt Mobile | 228 | 03 |
22805 | CH | Switzerland | Togewanet (Comfone AG) | 228 | 05 |
22806 | CH | Switzerland | SBB AG | 228 | 06 |
22807 | CH | Switzerland | In&Phone SA | 228 | 07 |
22808 | CH | Switzerland | Tele2 Telecommunication Services AG | 228 | 08 |
22851 | CH | Switzerland | Bebbicell AG (MVNO) | 228 | 51 |
22854 | CH | Switzerland | Lyca Mobile (MVNO) | 228 | 54 |
61202 | CI | Cote D'Ivoire | Moov (Atlantique Cellulaire) | 612 | 02 |
61203 | CI | Cote D'Ivoire | Orange Cote d'Ivoire | 612 | 03 |
61204 | CI | Cote D'Ivoire | Comium (KoZ) | 612 | 04 |
61205 | CI | Cote D'Ivoire | MTN Cote d'Ivoire | 612 | 05 |
61206 | CI | Cote D'Ivoire | GreenN S.A (Oricel) | 612 | 06 |
54801 | CK | Cook Islands | Telecom Cook Islands | 548 | 01 |
73002 | CL | Chile | Telefonica Moviles (movistar) | 730 | 02 |
73003 | CL | Chile | Claro Chile (Smartcom) | 730 | 03 |
73004 | CL | Chile | WOM ( Nextel ) | 730 | 04 |
73010 | CL | Chile | Entel Telefonía Móvil S.A.(Entel) | 730 | 10 |
73099 | CL | Chile | WILL Telefonía | 730 | 99 |
62401 | CM | Cameroon | MTN | 624 | 01 |
62402 | CM | Cameroon | Orange | 624 | 02 |
62404 | CM | Cameroon | Nextel | 624 | 04 |
46000 | CN | China | China Mobile | 460 | 00 |
46001 | CN | China | China Unicom | 460 | 01 |
46003 | CN | China | China Telecom | 460 | 03 |
732101 | CO | Colombia | Comcel (Claro/Celcaribe/Occel) | 732 | 101 |
732102 | CO | Colombia | Bellsouth Colombia S.A. (Movistar) | 732 | 102 |
732103 | CO | Colombia | Tigo | 732 | 103 |
732123 | CO | Colombia | Telefonica Moviles Colombia (Movistar/Cocelco) | 732 | 123 |
732130 | CO | Colombia | Avantel | 732 | 130 |
71201 | CR | Costa Rica | Instituto Costarricense de Electricidad (ICE) | 712 | 01 |
71203 | CR | Costa Rica | Claro | 712 | 03 |
71204 | CR | Costa Rica | Movistar | 712 | 04 |
36801 | CU | Cuba | Cubacel (ETECSA, C-Com) | 368 | 01 |
62501 | CV | Cape Verde | CVMóvel, S.A. | 625 | 01 |
62502 | CV | Cape Verde | T+ | 625 | 02 |
28001 | CY | Cyprus | CYTAmobile-Vodafone | 280 | 01 |
28010 | CY | Cyprus | Areeba Ltd (MTN) | 280 | 10 |
28020 | CY | Cyprus | PrimeTel | 280 | 20 |
23001 | CZ | Czech Republic | T-Mobile | 230 | 01 |
23002 | CZ | Czech Republic | O2 (Telefónica/EuroTel Praha) | 230 | 02 |
23003 | CZ | Czech Republic | Vodafone (Oskar/Cesky Mobil) | 230 | 03 |
23004 | CZ | Czech Republic | U:fon (MobilKom)(CDMA) | 230 | 04 |
26201 | DE | Germany | T-Mobile (Cityruf, Scall, Skyper) | 262 | 01 |
26202 | DE | Germany | Vodafone D2 | 262 | 02 |
26207 | DE | Germany | O2 (Germany) GmbH & Co. OHG | 262 | 07 |
26213 | DE | Germany | MobilCom | 262 | 13 |
26214 | DE | Germany | Group 3G (Quam) | 262 | 14 |
26216 | DE | Germany | Vistream (E-plus's MVNE) | 262 | 16 |
26243 | DE | Germany | Lycamobile (Voda's MVNO) | 262 | 43 |
262901 | DE | Germany | Debitel | 262 | 901 |
63801 | DJ | Djibouti | Evatis (Djibouti Telecom SA) | 638 | 01 |
23801 | DK | Denmark | TDC A/S | 238 | 01 |
23802 | DK | Denmark | Telenor (Telenor Denmark/CBB Mobil/Sonofon/Tele2/BiBoB) | 238 | 02 |
23806 | DK | Denmark | Hi3G (Tre) | 238 | 06 |
23807 | DK | Denmark | Barablu Mobile | 238 | 07 |
23812 | DK | Denmark | Lycamobile Denmark Ltd | 238 | 12 |
23820 | DK | Denmark | Telia | 238 | 20 |
366020 | DM | Dominica | Digicel | 366 | 020 |
366110 | DM | Dominica | bMobile (C&W) | 366 | 110 |
37001 | DO | Dominican Republic | Altice (ORANGE) | 370 | 01 |
37002 | DO | Dominican Republic | Claro (Codetel) | 370 | 02 |
37003 | DO | Dominican Republic | Tricom (CDMA) | 370 | 03 |
37004 | DO | Dominican Republic | Viva (Trilogy Dominicana/Centennial Dominicana) | 370 | 04 |
60301 | DZ | Algeria | ATM Mobilis | 603 | 01 |
60302 | DZ | Algeria | Orascom (Djezzy) | 603 | 02 |
60303 | DZ | Algeria | Wataniya (Ooredoo) | 603 | 03 |
74000 | EC | Ecuador | Movistar (Otecel/Bellsouth) | 740 | 00 |
74001 | EC | Ecuador | Porta (Claro / Conecel) | 740 | 01 |
74002 | EC | Ecuador | Alegro (Telecsa) | 740 | 02 |
24801 | EE | Estonia | EMT (Estonian Mobile Telecom) | 248 | 01 |
24802 | EE | Estonia | Elisa Eesti (Eesti) | 248 | 02 |
24803 | EE | Estonia | Tele 2 Eesti | 248 | 03 |
24806 | EE | Estonia | OY ViaTel | 248 | 06 |
60201 | EG | Egypt | Orange (MOBINIL) | 602 | 01 |
60202 | EG | Egypt | Vodafone | 602 | 02 |
60203 | EG | Egypt | Etisalat | 602 | 03 |
65701 | ER | Eritrea | Eritrea Telecommunications Services Corporation (Eritea) | 657 | 01 |
21401 | ES | Spain | Vodafone Espana, S.A. | 214 | 01 |
21403 | ES | Spain | Orange (France Telecom Espana SA) | 214 | 03 |
21404 | ES | Spain | Xfera Moviles, S.A. (Yoigo) | 214 | 04 |
21407 | ES | Spain | Telefonica Moviles Espana, S.A.U. (Movistar) | 214 | 07 |
21408 | ES | Spain | Euskaltel, S.A. (MVNO) | 214 | 08 |
21415 | ES | Spain | BT Group (MVNO) | 214 | 15 |
21416 | ES | Spain | TeleCable | 214 | 16 |
21417 | ES | Spain | Mobil (R Cable y Telecomunicaciones Galicia S.A.) | 214 | 17 |
21418 | ES | Spain | ONO (MVNO) | 214 | 18 |
21419 | ES | Spain | KPN aka Simyo (MVNO) | 214 | 19 |
21420 | ES | Spain | Fonyou | 214 | 20 |
21421 | ES | Spain | Jazztell (MVNO) | 214 | 21 |
21422 | ES | Spain | DigiMobil | 214 | 22 |
21423 | ES | Spain | Barablu (MVNO) | 214 | 23 |
21425 | ES | Spain | Lycamobile | 214 | 25 |
21427 | ES | Spain | Truphone | 214 | 27 |
63601 | ET | Ethiopia | ETMTN(EthioMobile) | 636 | 01 |
24403 | FI | Finland | DNA Oy | 244 | 03 |
24404 | FI | Finland | Finnet Network | 244 | 04 |
24405 | FI | Finland | Elisa Oyj (Elisa) | 244 | 05 |
24407 | FI | Finland | Nokia Oyj | 244 | 07 |
24410 | FI | Finland | Tdc Song Oy | 244 | 10 |
24414 | FI | Finland | Ålands Mobiltelefon Ab | 244 | 14 |
24421 | FI | Finland | Saunalahti (Elisa Oyj) | 244 | 21 |
24491 | FI | Finland | Teliasonera Finland Oyj | 244 | 91 |
90113 | FI | Finland | Nokia Siemens Networks Oy | 901 | 13 |
54201 | FJ | Fiji | Vodafone Fiji (Vodafone) | 542 | 01 |
54202 | FJ | Fiji | Digicel Fiji (Digicel) | 542 | 02 |
75001 | FK | Falkland Islands (Malvinas) | Sure (Batelco) | 750 | 01 |
55001 | FM | Micronesia (Federated States of) | FSM Telecommunication Corporation | 550 | 01 |
28801 | FO | Faroe Islands | Faroese Telecom GSM | 288 | 01 |
28802 | FO | Faroe Islands | HEY (Vodafone) | 288 | 02 |
20801 | FR | France | Orange France | 208 | 01 |
20807 | FR | France | Globalstar Europe (Satellite) | 208 | 07 |
20810 | FR | France | Vivendi SFR | 208 | 10 |
20814 | FR | France | Free Mobile | 208 | 14 |
20820 | FR | France | Bouygues Telecom | 208 | 20 |
20822 | FR | France | Transatel | 208 | 22 |
20825 | FR | France | LycaMobile | 208 | 25 |
20826 | FR | France | NRJ Mobile (MVNO) | 208 | 26 |
20831 | FR | France | Vectone Mobile | 208 | 31 |
62801 | GA | Gabon | Libertis | 628 | 01 |
62802 | GA | Gabon | Moov (Telecel) | 628 | 02 |
62803 | GA | Gabon | Airtel (formerly Celtel/Zain) | 628 | 03 |
62804 | GA | Gabon | Azur | 628 | 04 |
23400 | GB | United Kingdom | British Telecom (BT) | 234 | 00 |
23401 | GB | United Kingdom | Mapesbury Communications Limited | 234 | 01 |
23402 | GB | United Kingdom | O2 (UK) Limited | 234 | 02 |
23405 | GB | United Kingdom | COLT Mobile Telecommunications Limited | 234 | 05 |
23407 | GB | United Kingdom | Cable & Wireless UK (VODAFONE) | 234 | 07 |
23408 | GB | United Kingdom | OnePhone (UK) Ltd | 234 | 08 |
23414 | GB | United Kingdom | HAY SYSTEMS LIMITED | 234 | 14 |
23415 | GB | United Kingdom | Vodafone Ltd | 234 | 15 |
23416 | GB | United Kingdom | Opal Telecom Limited | 234 | 16 |
23417 | GB | United Kingdom | FleXtel Limited | 234 | 17 |
23418 | GB | United Kingdom | Cloud9 Telecom PLC | 234 | 18 |
23419 | GB | United Kingdom | Teleware plc | 234 | 19 |
23420 | GB | United Kingdom | Hutchison 3G UK Ltd | 234 | 20 |
23421 | GB | United Kingdom | Logicstar Limited | 234 | 21 |
23422 | GB | United Kingdom | Routo Telecommunications Limited | 234 | 22 |
23423 | GB | United Kingdom | Vectone Network Limited | 234 | 23 |
23424 | GB | United Kingdom | Stour Marine Limited | 234 | 24 |
23425 | GB | United Kingdom | Software Cellular Network Limited | 234 | 25 |
23426 | GB | United Kingdom | Lycamobile UK Limted | 234 | 26 |
23432 | GB | United Kingdom | T-Mobile (UK) Limited | 234 | 32 |
23433 | GB | United Kingdom | Orange | 234 | 33 |
23475 | GB | United Kingdom | Inquam Telecom (Holdings) Limited | 234 | 75 |
234999 | GB | United Kingdom | Magrathea Telecommunications Limited | 234 | 999 |
865992 | GB | United Kingdom | Airtel Vodafone (Guernsey Airtel Limited) | 234 | 03 |
2066410 | GB | United Kingdom | Sure Mobile (Cable and Wireless Guernsey Limited) | 234 | 55 |
2387493 | GB | United Kingdom | Wave Telecom (JT-Wave)(Guernsey) | 234 | 50 |
35230 | GD | Grenada | Digicel | 352 | 30 |
352110 | GD | Grenada | Cable and Wireless | 352 | 110 |
28201 | GE | Georgia | Geocell | 282 | 01 |
28202 | GE | Georgia | Magti GSM | 282 | 02 |
28203 | GE | Georgia | Magticom GSM (CDMA) | 282 | 03 |
28204 | GE | Georgia | Mobitel (Beeline) | 282 | 04 |
28205 | GE | Georgia | Silqnet (CDMA) | 282 | 05 |
28267 | GE | Georgia | Aquafon | 282 | 67 |
28288 | GE | Georgia | A-Mobile | 282 | 88 |
74201 | GF | French Guiana | Orange Caribe French Guiana | 742 | 01 |
74202 | GF | French Guiana | Outremer Telecom | 742 | 02 |
74203 | GF | French Guiana | Saint Martin et Saint Barthelemy Tel Cell SARL | 742 | 03 |
74220 | GF | French Guiana | Bouygues telecom Caraibe (Digicel) | 742 | 20 |
62001 | GH | Ghana | MTN (Scancom/Areeba) | 620 | 01 |
62002 | GH | Ghana | Vodafone (Ghana Telecommunications Company Ltd) | 620 | 02 |
62003 | GH | Ghana | Millicom Ghana Limited (tiGO) | 620 | 03 |
62004 | GH | Ghana | Expresso Telecom (Formally Kasapa) (CDMA) | 620 | 04 |
62006 | GH | Ghana | Zain (Airtel) | 620 | 06 |
62007 | GH | Ghana | Glo Mobile | 620 | 07 |
26601 | GI | Gibraltar | Gibtelecom | 266 | 01 |
26609 | GI | Gibraltar | Shine | 266 | 09 |
29001 | GL | Greenland | Tele Greenland A/S | 290 | 01 |
60701 | GM | Gambia | Gamcel | 607 | 01 |
60702 | GM | Gambia | Africell | 607 | 02 |
60703 | GM | Gambia | Comium | 607 | 03 |
60704 | GM | Gambia | Qcell | 607 | 04 |
61101 | GN | Guinea | Orange Guinée (formerly Spacetel) | 611 | 01 |
61102 | GN | Guinea | Sotelgui (Lagui) | 611 | 02 |
61103 | GN | Guinea | Intercel | 611 | 03 |
61104 | GN | Guinea | Areeba-Guinée | 611 | 04 |
61105 | GN | Guinea | Cellcom | 611 | 05 |
34002 | GP | Guadeloupe | Outremer Telecom | 340 | 02 |
34003 | GP | Guadeloupe | Saint Martin Et Saint Barthelemy Tel Cell SARL (TelCell) | 340 | 03 |
34008 | GP | Guadeloupe | Dauphin Telecom | 340 | 08 |
34020 | GP | Guadeloupe | Antilles Francaises Guyane (Digicel) | 340 | 20 |
2151572 | GP | Guadeloupe | Orange Caraibe Mobiles | 340 | 01 |
62701 | GQ | Equatorial Guinea | Orange (GETESA) | 627 | 01 |
62703 | GQ | Equatorial Guinea | HiTs EG.SA (HiTs GQ) | 627 | 03 |
20201 | GR | Greece | Cosmote (COSMOTE - Mobile Telecommunications S.A) | 202 | 01 |
20205 | GR | Greece | Vodafone | 202 | 05 |
20210 | GR | Greece | Wind Hellas Telecommunications | 202 | 10 |
70401 | GT | Guatemala | Claro (Sercom) | 704 | 01 |
70402 | GT | Guatemala | Comcel Guatemala / Tigo (Comunicaciones Celulares S.A.) | 704 | 02 |
70403 | GT | Guatemala | Telefonica Centroamerica (movistar) | 704 | 03 |
535032 | GU | Guam | IT&E Overseas, Inc. Pcs | 535 | 032 |
535140 | GU | Guam | Pulse Mobile LLC | 535 | 140 |
535250 | GU | Guam | Wave Runner (i CAN_GSM) | 535 | 250 |
535470 | GU | Guam | Docomo Pacific | 535 | 470 |
535480 | GU | Guam | Choice Phone Llc Dba Iconn | 535 | 480 |
63202 | GW | Guinea-Bissau | SPACETEL GUINÉ-BISSAU (Areeba) | 632 | 02 |
63203 | GW | Guinea-Bissau | ORANGE | 632 | 03 |
63207 | GW | Guinea-Bissau | Guinétel S.A. | 632 | 07 |
73801 | GY | Guyana | Digicel Guyana (Cel*Star, U-Mobile) | 738 | 01 |
73802 | GY | Guyana | Guyana Telephone & Telegraph (Cellink Plus) | 738 | 02 |
45400 | HK | Hong Kong | Hong Kong CSL | 454 | 00 |
45401 | HK | Hong Kong | CITIC Telecom 1616 | 454 | 01 |
45404 | HK | Hong Kong | Hutchison | 454 | 04 |
45407 | HK | Hong Kong | China Unicom International | 454 | 07 |
45408 | HK | Hong Kong | Truphone (Hong Kong) Ltd (Formerly Trident) | 454 | 08 |
45409 | HK | Hong Kong | China Motion Telecom (HK) | 454 | 09 |
45411 | HK | Hong Kong | China-Hongkong Telecom | 454 | 11 |
45412 | HK | Hong Kong | China Mobile Hong Kong Company Limited (Peoples) | 454 | 12 |
45415 | HK | Hong Kong | SmarTone | 454 | 15 |
70801 | HN | Honduras | Servicios de Comunicaciones de Honduras (Claro) | 708 | 01 |
70802 | HN | Honduras | Tigo/Celtel | 708 | 02 |
70830 | HN | Honduras | Empresa Hondurena de Telecomunicaciones (Hondutel) | 708 | 30 |
70840 | HN | Honduras | Digicel | 708 | 40 |
21901 | HR | Croatia | T-Mobile | 219 | 01 |
21902 | HR | Croatia | Tele2 | 219 | 02 |
21910 | HR | Croatia | A1 (VIPNET) | 219 | 10 |
37202 | HT | Haiti | Unigestion Holding S.A. (Digicel) | 372 | 02 |
37203 | HT | Haiti | Natcom | 372 | 03 |
37220 | HT | Haiti | Haitel | 372 | 20 |
37230 | HT | Haiti | Rectel | 372 | 30 |
21601 | HU | Hungary | PANNON GSM (Telenor) | 216 | 01 |
21630 | HU | Hungary | T-Mobile | 216 | 30 |
21670 | HU | Hungary | Vodafone | 216 | 70 |
51000 | ID | Indonesia | PT Pasifik Satelit, PSN (ACeS Indonesia) | 510 | 00 |
51001 | ID | Indonesia | PT Indonesian Satellite Corporation Tbk (INDOSAT) | 510 | 01 |
51007 | ID | Indonesia | PT Telkom (Telkom Flexi) (Fixed CDMA) | 510 | 07 |
51009 | ID | Indonesia | PT Smartfren Telecom (Smartfren) | 510 | 09 |
51010 | ID | Indonesia | PT. Telekomunikasi Selular (Telkomsel) | 510 | 10 |
51011 | ID | Indonesia | PT XL Axiata (XL) | 510 | 11 |
51027 | ID | Indonesia | PT Sampoerna Telekomunikasi Indonesia (Net1) | 510 | 27 |
51028 | ID | Indonesia | PT Mobile8 (CDMA) | 510 | 28 |
51089 | ID | Indonesia | PT Hutchison CP Telecommunications (H3G) | 510 | 89 |
51099 | ID | Indonesia | PT Bakrie (Esia)(Fixed CDMA) | 510 | 99 |
27201 | IE | Ireland | Vodafone Ireland | 272 | 01 |
27202 | IE | Ireland | O2 Communications (Ireland) Ltd | 272 | 02 |
27203 | IE | Ireland | Meteor | 272 | 03 |
27205 | IE | Ireland | Hutchison 3G Ireland Ltd | 272 | 05 |
27209 | IE | Ireland | Clever Communications Ltd | 272 | 09 |
27211 | IE | Ireland | Liffey Telecom (Tesco mobile) (O2 MVNO) | 272 | 11 |
42501 | IL | Israel | Orange - Partner communications Ltd | 425 | 01 |
42502 | IL | Israel | Cellcom | 425 | 02 |
42503 | IL | Israel | Pelephone | 425 | 03 |
42507 | IL | Israel | Mirs / HotMobile | 425 | 07 |
42508 | IL | Israel | Golan Telecom | 425 | 08 |
42509 | IL | Israel | We4G | 425 | 09 |
42514 | IL | Israel | Alon Cellular Ltd (Youphone) | 425 | 14 |
42519 | IL | Israel | Telzar/AZI | 425 | 19 |
4697751 | IL | Israel | Palestine Cellular Communications Ltd. | 425 | 05 |
5501596 | IL | Israel | Wataniya Palestine Ltd. (Ooredoo) | 425 | 06 |
23458 | IM | Isle of Man | Manx Telecom | 234 | 58 |
234009 | IM | Isle of Man | Cable & Wireless Isle of Man Ltd. (Sure Mobile) | 234 | 009 |
40404 | IN | India | IDEA | 404 | 04 |
40410 | IN | India | Bharti Airtel | 404 | 10 |
40411 | IN | India | Vodafone IDEA | 404 | 11 |
40421 | IN | India | Loop Mobile (BPL Mobile)(Mumbai) | 404 | 21 |
40453 | IN | India | BSNL | 404 | 53 |
40468 | IN | India | DOLPHIN (MTNL)(Delhi) | 404 | 68 |
40469 | IN | India | DOLPHIN (MTNL)(Mumbai) | 404 | 69 |
40505 | IN | India | Reliance | 405 | 05 |
40524 | IN | India | HFCL Infotel (Ping)(CDMA)(Punjab) | 405 | 24 |
405800 | IN | India | Aircel | 405 | 800 |
405813 | IN | India | Uninor (Haryana) | 405 | 813 |
405814 | IN | India | Uninor (Himachal Pradesh) | 405 | 814 |
405815 | IN | India | Uninor (Jammu/Kashmir) | 405 | 815 |
405816 | IN | India | Uninor (Punjab) | 405 | 816 |
405817 | IN | India | Uninor (Rajasthan) | 405 | 817 |
405818 | IN | India | Uninor (Uttar Pradesh (West)) | 405 | 818 |
405819 | IN | India | Uninor (Andhra Pradesh) | 405 | 819 |
405820 | IN | India | Uninor (Karnataka) | 405 | 820 |
405821 | IN | India | Uninor (Kerala) | 405 | 821 |
405822 | IN | India | Uninor (Kolkata) | 405 | 822 |
405823 | IN | India | Videocon (Andhra Pradesh) | 405 | 823 |
405824 | IN | India | Videocon (Assam) | 405 | 824 |
405825 | IN | India | Videocon (Bihar/Jharkhand) | 405 | 825 |
405826 | IN | India | Videocon (Delhi) | 405 | 826 |
405827 | IN | India | Videocon (Gujarat) | 405 | 827 |
405828 | IN | India | Videocon (Haryana) | 405 | 828 |
405829 | IN | India | Videocon (Himachal Pradesh) | 405 | 829 |
405830 | IN | India | Videocon (Jammu/Kashmir) | 405 | 830 |
405831 | IN | India | Videocon (Karnataka) | 405 | 831 |
405832 | IN | India | Videocon (Kerala) | 405 | 832 |
405833 | IN | India | Videocon (Kolkata) | 405 | 833 |
405834 | IN | India | Videocon (Madhya Pradesh) | 405 | 834 |
405835 | IN | India | Videocon (Maharashtra/Goa) | 405 | 835 |
405836 | IN | India | Videocon (Mumbai) | 405 | 836 |
405837 | IN | India | Videocon (North East) | 405 | 837 |
405838 | IN | India | Videocon (Orissa) | 405 | 838 |
405839 | IN | India | Videocon (Rajasthan) | 405 | 839 |
405840 | IN | India | Videocon (Tamil Nadu) | 405 | 840 |
405841 | IN | India | Videocon (Uttar Pradesh (East)) | 405 | 841 |
405842 | IN | India | Videocon (Uttar Pradesh (West)) | 405 | 842 |
405843 | IN | India | Videocon (West Bengal) | 405 | 843 |
405844 | IN | India | Uninor (Delhi) | 405 | 844 |
405854 | IN | India | Loop Mobile (BPL Mobile)(Andhra Pradesh) | 405 | 854 |
405855 | IN | India | Loop Mobile (BPL Mobile)(Assam) | 405 | 855 |
405856 | IN | India | Loop Mobile (BPL Mobile)(Bihar/Jharkhand) | 405 | 856 |
405857 | IN | India | Loop Mobile (BPL Mobile)(Delhi) | 405 | 857 |
405858 | IN | India | Loop Mobile (BPL Mobile)(Gujarat) | 405 | 858 |
405859 | IN | India | Loop Mobile (BPL Mobile)(Haryana) | 405 | 859 |
405860 | IN | India | Loop Mobile (BPL Mobile)(Himachal Pradesh) | 405 | 860 |
405861 | IN | India | Loop Mobile (BPL Mobile)(Jammu/Kashmir) | 405 | 861 |
405862 | IN | India | Loop Mobile (BPL Mobile)(Karnataka) | 405 | 862 |
405863 | IN | India | Loop Mobile (BPL Mobile)(Kerala) | 405 | 863 |
405864 | IN | India | Loop Mobile (BPL Mobile)(Kolkata) | 405 | 864 |
405865 | IN | India | Loop Mobile (BPL Mobile)(Madhya Pradesh) | 405 | 865 |
405866 | IN | India | Loop Mobile (BPL Mobile)(Maharashtra/Goa) | 405 | 866 |
405867 | IN | India | Loop Mobile (BPL Mobile)(North East) | 405 | 867 |
405868 | IN | India | Loop Mobile (BPL Mobile)(Orissa) | 405 | 868 |
405869 | IN | India | Loop Mobile (BPL Mobile)(Punjab) | 405 | 869 |
405870 | IN | India | Loop Mobile (BPL Mobile)(Rajasthan) | 405 | 870 |
405871 | IN | India | Loop Mobile (BPL Mobile)(Tamil Nadu) | 405 | 871 |
405872 | IN | India | Loop Mobile (BPL Mobile)(Uttar Pradesh (East)) | 405 | 872 |
405873 | IN | India | Loop Mobile (BPL Mobile)(Uttar Pradesh (West)) | 405 | 873 |
405874 | IN | India | Loop Mobile (BPL Mobile)(West Bengal) | 405 | 874 |
405875 | IN | India | Uninor (Assam) | 405 | 875 |
405876 | IN | India | Uninor (Bihar/Jharkhand) | 405 | 876 |
405877 | IN | India | Uninor (North East) | 405 | 877 |
405878 | IN | India | Uninor (Orissa) | 405 | 878 |
405879 | IN | India | Uninor (Uttar Pradesh (East)) | 405 | 879 |
405880 | IN | India | Uninor (West Bengal) | 405 | 880 |
405881 | IN | India | S Tel (Assam) | 405 | 881 |
405882 | IN | India | S Tel (Bihar/Jharkhand) | 405 | 882 |
405883 | IN | India | S Tel (Himachal Pradesh) | 405 | 883 |
405884 | IN | India | S Tel (Jammu/Kashmir) | 405 | 884 |
405885 | IN | India | S Tel (North East) | 405 | 885 |
405886 | IN | India | S Tel (Orissa) | 405 | 886 |
405908 | IN | India | Spice (Andhra Pradesh) | 405 | 908 |
405909 | IN | India | Spice (Delhi) | 405 | 909 |
405910 | IN | India | Spice (Haryana) | 405 | 910 |
405911 | IN | India | Spice (Maharashtra/Goa) | 405 | 911 |
405912 | IN | India | Etisalat (SWAN)(Andhra Pradesh) | 405 | 912 |
405913 | IN | India | Etisalat (SWAN)(Delhi) | 405 | 913 |
405914 | IN | India | Etisalat (SWAN)(Gujarat) | 405 | 914 |
405915 | IN | India | Etisalat (SWAN)(Haryana) | 405 | 915 |
405916 | IN | India | Etisalat (SWAN)(Karnataka) | 405 | 916 |
405917 | IN | India | Etisalat (SWAN)(Kerala) | 405 | 917 |
405918 | IN | India | Etisalat (SWAN)(Maharashtra/Goa) | 405 | 918 |
405919 | IN | India | Etisalat (SWAN)(Mumbai) | 405 | 919 |
405920 | IN | India | Etisalat (SWAN)(Punjab) | 405 | 920 |
405921 | IN | India | Etisalat (SWAN)(Rajasthan) | 405 | 921 |
405922 | IN | India | Etisalat (SWAN)(Tamil Nadu) | 405 | 922 |
405923 | IN | India | Etisalat (SWAN)(Uttar Pradesh (East)) | 405 | 923 |
405924 | IN | India | Etisalat (SWAN)(Uttar Pradesh (West)) | 405 | 924 |
405925 | IN | India | Uninor (Tamil Nadu) | 405 | 925 |
405926 | IN | India | Uninor (Mumbai) | 405 | 926 |
405927 | IN | India | Uninor (Gujarat) | 405 | 927 |
405928 | IN | India | Uninor (Madhya Pradesh) | 405 | 928 |
405929 | IN | India | Uninor (Maharashtra/Goa) | 405 | 929 |
405930 | IN | India | Etisalat (SWAN)(Bihar/Jharkhand) | 405 | 930 |
405931 | IN | India | Etisalat (SWAN)(Madhya Pradesh) | 405 | 931 |
405932 | IN | India | Videocon (Punjab) | 405 | 932 |
4446437 | IN | India | Jio | 405 | 840 |
41805 | IQ | Iraq | Asia Cell | 418 | 05 |
41820 | IQ | Iraq | Atheer Telecom Iraq (zain IQ) | 418 | 20 |
41830 | IQ | Iraq | Orascom Telecom Iraq Corporation (IRAQNA), Atheer Telecom Iraq (zain Iraq) | 418 | 30 |
41840 | IQ | Iraq | KorekTel | 418 | 40 |
41845 | IQ | Iraq | Mobitel | 418 | 45 |
41847 | IQ | Iraq | Iraq Central Cooperative Association for Communication and Transportation | 418 | 47 |
41880 | IQ | Iraq | Iraqi Telecommunications & Post Company (ITPC) | 418 | 80 |
41883 | IQ | Iraq | Iraqi Telecommunications & Post Company (Sader Al-Iraq) | 418 | 83 |
41893 | IQ | Iraq | SanaTel | 418 | 93 |
43208 | IR | Iran | Shatel | 432 | 08 |
43211 | IR | Iran | Telecommunication Company of Iran (TCI) (MCI) | 432 | 11 |
43214 | IR | Iran | Telecommunication Kish Co. (KIFZO) (TKC) | 432 | 14 |
43219 | IR | Iran | Mobile Telecommunications Company of Esfahan (MTCE) | 432 | 19 |
43220 | IR | Iran | RighTel | 432 | 20 |
43232 | IR | Iran | Rafsanjan Industrial Complex (Taliya) | 432 | 32 |
43235 | IR | Iran | Irancell Telecommunications Services (MTN Irancell) | 432 | 35 |
27401 | IS | Iceland | Siminn(Iceland Telecom) ( former Landssími Íslands h.f) | 274 | 01 |
27402 | IS | Iceland | Vodafone (TAL h.f. , Og fjarskipti) | 274 | 02 |
27404 | IS | Iceland | IMC (Viking) | 274 | 04 |
27406 | IS | Iceland | Núll níu ehf | 274 | 06 |
27407 | IS | Iceland | IceCell ehf | 274 | 07 |
27408 | IS | Iceland | On-waves | 274 | 08 |
27411 | IS | Iceland | Nova ehf | 274 | 11 |
27412 | IS | Iceland | Tal hf | 274 | 12 |
22201 | IT | Italy | TIM Italia | 222 | 01 |
22202 | IT | Italy | Elsacom | 222 | 02 |
22210 | IT | Italy | Vodafone S.p.A. | 222 | 10 |
22230 | IT | Italy | RFI-Rete Ferroviaria Italiana S.p.A. | 222 | 30 |
22250 | IT | Italy | Iliad Italy | 222 | 50 |
22288 | IT | Italy | Wind Telecomunicazioni S.p.A. | 222 | 88 |
22299 | IT | Italy | H3G S.p.A. (UMTS) | 222 | 99 |
23403 | JE | Jersey | Jersey Airtel Limited | 234 | 03 |
23450 | JE | Jersey | Jersey Telecom | 234 | 50 |
23455 | JE | Jersey | Cable & Wireless Jersey Limited (Sure Mobile) | 234 | 55 |
338020 | JM | Jamaica | Cable & Wireless | 338 | 020 |
338050 | JM | Jamaica | Mossel Jamaica Ltd. (Digicel) | 338 | 050 |
338070 | JM | Jamaica | Oceanic Digital Jamaica (Claro Jamaica) | 338 | 070 |
338501 | JM | Jamaica | Oceanic Digital Jamaica (CDMA) | 338 | 501 |
41601 | JO | Jordan | Fastlink, Jordan Mobile Telephone Services (JMTS) (zain JO) | 416 | 01 |
41602 | JO | Jordan | XPress Telecom | 416 | 02 |
41603 | JO | Jordan | UMNIAH | 416 | 03 |
41677 | JO | Jordan | Mobilecom (Orange) | 416 | 77 |
44000 | JP | Japan | Emobile | 440 | 00 |
44003 | JP | Japan | NTT DoCoMo Hokuriku, Inc. | 440 | 03 |
44004 | JP | Japan | SoftBank (Vodafone/J-Phone) | 440 | 04 |
44007 | JP | Japan | DDI Cellular Group | 440 | 07 |
44009 | JP | Japan | NTT DoCoMo Kansai Inc. (440) | 440 | 09 |
44010 | JP | Japan | NTT DoCoMo Inc (DOCOMO) | 440 | 10 |
44011 | JP | Japan | NTT DoCoMo Tokai Inc. | 440 | 11 |
44012 | JP | Japan | NTT DoCoMo Inc. (440) | 440 | 12 |
44024 | JP | Japan | NTT DoCoMo Chugoku Inc. (440) | 440 | 24 |
44025 | JP | Japan | NTT DoCoMo Hokkaido Inc. (440) | 440 | 25 |
44026 | JP | Japan | NTT DoCoMo Kyushu Inc. (440) | 440 | 26 |
44028 | JP | Japan | NTT DoCoMo Shikoku Inc. (440) | 440 | 28 |
44050 | JP | Japan | KDDI Corporation | 440 | 50 |
44067 | JP | Japan | NTT DoCoMo Tohoku Inc. (440) | 440 | 67 |
44083 | JP | Japan | TU-KA Cellular Tokai Inc. | 440 | 83 |
44084 | JP | Japan | TU-KA Phone Kansai Inc. | 440 | 84 |
44143 | JP | Japan | NTT DoCoMo Kansai Inc. (441) | 441 | 43 |
44144 | JP | Japan | NTT DoCoMo Chugoku Inc. (441) | 441 | 44 |
44145 | JP | Japan | NTT DoCoMo Shikoku Inc. (441) | 441 | 45 |
44191 | JP | Japan | NTT DoCoMo Inc. (441) | 441 | 91 |
44193 | JP | Japan | NTT DoCoMo Hokkaido Inc. (441) | 441 | 93 |
44194 | JP | Japan | NTT DoCoMo Tohoku Inc. (441) | 441 | 94 |
44199 | JP | Japan | NTT DoCoMo Kyushu Inc. (441) | 441 | 99 |
63902 | KE | Kenya | Safaricom (GSM) | 639 | 02 |
63903 | KE | Kenya | Airtel (formerly Celtel/Zain) | 639 | 03 |
63907 | KE | Kenya | Telkom Kenya (Orange Kenya) | 639 | 07 |
43701 | KG | Kyrgyzstan | Beeline (Bitel/Sky Mobile) | 437 | 01 |
43703 | KG | Kyrgyzstan | Fonex (AkTel) (CDMA) | 437 | 03 |
43705 | KG | Kyrgyzstan | Megacom (BiMoCom/Alfa Telecom) | 437 | 05 |
43709 | KG | Kyrgyzstan | NurTelecom (O!) | 437 | 09 |
45601 | KH | Cambodia | Cellcard | 456 | 01 |
45604 | KH | Cambodia | qb | 456 | 04 |
45606 | KH | Cambodia | Smart Axiata | 456 | 06 |
45608 | KH | Cambodia | Viettel (Metfone) | 456 | 08 |
45611 | KH | Cambodia | Seatel | 456 | 11 |
54509 | KI | Kiribati | Telecom Services Kiribati Ltd (Kiribati Frigate) | 545 | 09 |
65401 | KM | Comoros | Societe Nationale des Telecommunications (Comores Telecom) (HURI) | 654 | 01 |
35650 | KN | Saint Kitts And Nevis | Digicel | 356 | 50 |
356070 | KN | Saint Kitts And Nevis | UTS CariGlobe | 356 | 070 |
356110 | KN | Saint Kitts And Nevis | Cable & Wireless St Kitts & Nevis | 356 | 110 |
46705 | KP | North Korea | Koryolink (Cheo Technology Jv Company) | 467 | 05 |
467193 | KP | North Korea | SunNet, Korea Posts and Telecommunications Corporation (KPTC) | 467 | 193 |
45002 | KR | South Korea | KT Freetel(KTF) | 450 | 02 |
45005 | KR | South Korea | SK Telecom | 450 | 05 |
45006 | KR | South Korea | LG Telecom | 450 | 06 |
41902 | KW | Kuwait | Zain KW (MTC/Vodafone) | 419 | 02 |
41903 | KW | Kuwait | Wataniya Telecom (Ooredoo) | 419 | 03 |
41904 | KW | Kuwait | Viva | 419 | 04 |
346050 | KY | Cayman Islands | Digicel | 346 | 050 |
346140 | KY | Cayman Islands | Cable & Wireless (LIME) | 346 | 140 |
40101 | KZ | Kazakhstan | Beeline (K-mobile) (Kartel) | 401 | 01 |
40102 | KZ | Kazakhstan | GSM Kazakhstan Ltd (K-Cell) | 401 | 02 |
40107 | KZ | Kazakhstan | Dalacom (CDMA) | 401 | 07 |
40177 | KZ | Kazakhstan | Mobile Telecom Service (MTS)(Tele2) | 401 | 77 |
401501 | KZ | Kazakhstan | Altel | 401 | 501 |
45701 | LA | Laos | Lao Telecom (LaoTel) | 457 | 01 |
45702 | LA | Laos | ETL MOBILE | 457 | 02 |
45703 | LA | Laos | Unitel (Star Telecom) | 457 | 03 |
45708 | LA | Laos | Tigo (Millicom/Tango) | 457 | 08 |
41501 | LB | Lebanon | MIC 1 (Alfa) | 415 | 01 |
41503 | LB | Lebanon | MIC 2 (MTC Touch) | 415 | 03 |
41505 | LB | Lebanon | Ogero Mobile (OM) | 415 | 05 |
41532 | LB | Lebanon | Cellis | 415 | 32 |
41536 | LB | Lebanon | Libancell | 415 | 36 |
358050 | LC | Saint Lucia | Digicel (St Lucia) | 358 | 050 |
358110 | LC | Saint Lucia | Cable & Wireless Caribbean Cellular (St Lucia) | 358 | 110 |
29501 | LI | Liechtenstein | Swisscom (Telecom FL) | 295 | 01 |
29502 | LI | Liechtenstein | Viag Europlatform (Orange FL) | 295 | 02 |
29505 | LI | Liechtenstein | Mobilkom FL1 | 295 | 05 |
29577 | LI | Liechtenstein | Tele2 | 295 | 77 |
41301 | LK | Sri Lanka | Mobitel | 413 | 01 |
41302 | LK | Sri Lanka | MTN Dialog | 413 | 02 |
41303 | LK | Sri Lanka | Etisalat Lanka (Formerlly Tigo) | 413 | 03 |
41305 | LK | Sri Lanka | AirTel | 413 | 05 |
41308 | LK | Sri Lanka | Hutchison Telecommunications Lanka (Hutch) | 413 | 08 |
61801 | LR | Liberia | Lonestar Communications Corp. | 618 | 01 |
61802 | LR | Liberia | Atlantic Wireless Liberia (Libercell) | 618 | 02 |
61803 | LR | Liberia | ORANGE (CELLCOM) | 618 | 03 |
61804 | LR | Liberia | Comium Liberia | 618 | 04 |
61820 | LR | Liberia | LIBTELCO | 618 | 20 |
65101 | LS | Lesotho | Vodacom Lesotho | 651 | 01 |
65102 | LS | Lesotho | Econet Ezi-Cel | 651 | 02 |
65103 | LS | Lesotho | Tele-Com Mobile | 651 | 03 |
24601 | LT | Lithuania | Omnitel (TELIA) | 246 | 01 |
24602 | LT | Lithuania | UAB Bite Lietuva(BITE) | 246 | 02 |
24603 | LT | Lithuania | Tele2 | 246 | 03 |
24606 | LT | Lithuania | Mediafon | 246 | 06 |
27001 | LU | Luxembourg | POST Luxembourg | 270 | 01 |
27077 | LU | Luxembourg | Tango | 270 | 77 |
27099 | LU | Luxembourg | Orange | 270 | 99 |
24701 | LV | Latvia | Latvian Mobile Phone (LMT) | 247 | 01 |
24702 | LV | Latvia | Tele2 | 247 | 02 |
24703 | LV | Latvia | Triatel (Telekom Baltija) | 247 | 03 |
24705 | LV | Latvia | Bite Latvija | 247 | 05 |
24707 | LV | Latvia | Master Telecom MTS GSM | 247 | 07 |
24708 | LV | Latvia | IZZI | 247 | 08 |
60600 | LY | Libyan Arab Jamahiriya | Libyana Mobile Phone | 606 | 00 |
60601 | LY | Libyan Arab Jamahiriya | El Madar Telephone | 606 | 01 |
60603 | LY | Libyan Arab Jamahiriya | Libya Telecom & Technology (LTT) | 606 | 03 |
60400 | MA | Morocco | Medi Telecom S.A.(Méditel) | 604 | 00 |
60401 | MA | Morocco | Itissalat Al-Maghrib (IAM) | 604 | 01 |
60405 | MA | Morocco | WANA Groupe ONA (INWI) | 604 | 05 |
21201 | MC | Monaco | Monaco Telecom | 212 | 01 |
25901 | MD | Moldova | Orange Moldova (VoXtel) | 259 | 01 |
25902 | MD | Moldova | MoldCell | 259 | 02 |
25903 | MD | Moldova | InterDnestrCom (IDC) | Moldtelecom (Unite) [sharing MCC MNC] | |
25904 | MD | Moldova | Eventis | 259 | 04 |
29701 | ME | Montenegro | Telenor (Promonte GSM) | 297 | 01 |
29702 | ME | Montenegro | T-Mobile | 297 | 02 |
29703 | ME | Montenegro | MTEL | 297 | 03 |
64601 | MG | Madagascar | Zain (Celet) (AIRTEL) | 646 | 01 |
64602 | MG | Madagascar | Orange | 646 | 02 |
64603 | MG | Madagascar | Sacel | 646 | 03 |
64604 | MG | Madagascar | Telma | 646 | 04 |
29401 | MK | Macedonia | T-Mobile (Mobimak) | 294 | 01 |
29402 | MK | Macedonia | ONE (Cosmofon/MTS) | 294 | 02 |
61001 | ML | Mali | Malitel | 610 | 01 |
61002 | ML | Mali | Orange (Ikatel) | 610 | 02 |
61003 | ML | Mali | ATEL-SA | 610 | 03 |
41401 | MM | Myanmar | Myanmar Post and Telecommunication (MPT) | 414 | 01 |
41405 | MM | Myanmar | Ooredoo | 414 | 05 |
41406 | MM | Myanmar | Telenor | 414 | 06 |
41409 | MM | Myanmar | Mytel | 414 | 09 |
42888 | MN | Mongolia | Unitel Co. Ltd | 428 | 88 |
42891 | MN | Mongolia | Skytel Co. Ltd | 428 | 91 |
42898 | MN | Mongolia | G-Mobile | 428 | 98 |
42899 | MN | Mongolia | Mobicom Co. Ltd | 428 | 99 |
45500 | MO | Macau | Smartone Mobile Communications (Macao) Ltd. (SmarTone) | 455 | 00 |
45501 | MO | Macau | C.T.M. Telemovel+ | 455 | 01 |
45503 | MO | Macau | Hutchison Telecom | 455 | 03 |
34001 | MQ | Martinique | Orange Martinique | 340 | 01 |
2059122 | MQ | Martinique | Digicel | 340 | 20 |
7365570 | MQ | Martinique | Outremer | 340 | 02 |
60901 | MR | Mauritania | Mattel | 609 | 01 |
60902 | MR | Mauritania | Chinguitel | 609 | 02 |
60910 | MR | Mauritania | Mauritel Mobiles | 609 | 10 |
354860 | MS | Montserrat | Cable & Wireless West Indies Ltd (Montserrat) | 354 | 860 |
27801 | MT | Malta | Vodafone Malta | 278 | 01 |
27821 | MT | Malta | Go Mobile | 278 | 21 |
27877 | MT | Malta | Melita Mobile (3G telecoms Malta) | 278 | 77 |
61701 | MU | Mauritius | Cell Plus MY.T (Orange) | 617 | 01 |
61702 | MU | Mauritius | Mahanagar Telephone (Mauritius) Ltd. (MTML) | 617 | 02 |
61710 | MU | Mauritius | Emtel | 617 | 10 |
47201 | MV | Maldives | Dhiraagu | 472 | 01 |
47202 | MV | Maldives | Ooredoo | 472 | 02 |
65001 | MW | Malawi | Telekom Networks Malawi Ltd. (TNM) | 650 | 01 |
65010 | MW | Malawi | Airtel (formerly Celtel/Zain) | 650 | 10 |
33403 | MX | Mexico | Pegaso Comunicaciones y Sistemas (Movistar) | 334 | 03 |
33404 | MX | Mexico | Iusacell / Unefon (CDMA) | 334 | 04 |
334020 | MX | Mexico | Telcel (Radiomovil Dipsa, S.A. De C.V.) | 334 | 020 |
334050 | MX | Mexico | Iusacell | 334 | 050 |
334090 | MX | Mexico | Nextel Mexico (iDen) | 334 | 090 |
50212 | MY | Malaysia | Maxis Mobile | 502 | 12 |
50213 | MY | Malaysia | Celcom | 502 | 13 |
50216 | MY | Malaysia | DiGi Telecom | 502 | 16 |
50218 | MY | Malaysia | U Mobile | 502 | 18 |
502150 | MY | Malaysia | Tunetalk (MVNO) | 502 | 150 |
502152 | MY | Malaysia | YES | 502 | 152 |
502153 | MY | Malaysia | Unifi (formerly webe) | 502 | 153 |
502156 | MY | Malaysia | Altel Communications | 502 | 156 |
502195 | MY | Malaysia | XOX | 502 | 195 |
64301 | MZ | Mozambique | Mcel | 643 | 01 |
64303 | MZ | Mozambique | Movitel | 643 | 03 |
64304 | MZ | Mozambique | Vodacom Mozambique (VM Sarl) | 643 | 04 |
64901 | NA | Namibia | Mobile Telecommunications Ltd. (MTC) | 649 | 01 |
64902 | NA | Namibia | Telecom Nambia (switch) | 649 | 02 |
64903 | NA | Namibia | Orascom Telecom Holding (Leo) (former Cell One) | 649 | 03 |
54601 | NC | New Caledonia | Mobilis | 546 | 01 |
61401 | NE | Niger | Sahel-Com / Sonitel | 614 | 01 |
61402 | NE | Niger | Airtel (formerly Celtel/Zain) | 614 | 02 |
61403 | NE | Niger | Moov (Telecel) | 614 | 03 |
61404 | NE | Niger | Orange Niger | 614 | 04 |
62120 | NG | Nigeria | Airtel (formerly Celtel/Zain) | 621 | 20 |
62125 | NG | Nigeria | Visafone Communications Ltd. (CDMA) | 621 | 25 |
62130 | NG | Nigeria | MTN Nigeria | 621 | 30 |
62140 | NG | Nigeria | Mtel (Nigerian Telecom)(Mobile arm of NITEL) | 621 | 40 |
62150 | NG | Nigeria | Globacom (Glo Mobile) | 621 | 50 |
62160 | NG | Nigeria | 9mobile (formerly Etisalat) | 621 | 60 |
62194 | NG | Nigeria | Reliance Telecommunications Ltd. (Zoom) | 621 | 94 |
62197 | NG | Nigeria | Multi - Links Telecommunications Ltd. (CDMA) | 621 | 97 |
62199 | NG | Nigeria | Starcomms PLC (CDMA) | 621 | 99 |
71021 | NI | Nicaragua | Claro | 710 | 21 |
71030 | NI | Nicaragua | Movistar | 710 | 30 |
20401 | NL | Netherlands | Scarlet Telecom B.V. OneFoon (VastMobiel) | 204 | 01 |
20402 | NL | Netherlands | Tele2 (Netherlands) B.V. | 204 | 02 |
20403 | NL | Netherlands | FreeTime Telecom B.V. (Voiceworks) | 204 | 03 |
20404 | NL | Netherlands | Vodafone Libertel N.V. | 204 | 04 |
20405 | NL | Netherlands | Elephant Talk | 204 | 05 |
20406 | NL | Netherlands | Vectone Mobile / Delight Mobile (Mundio Mobile) | 204 | 06 |
20407 | NL | Netherlands | Teleena (MVNE) | 204 | 07 |
20408 | NL | Netherlands | KPN Telecom | 204 | 08 |
20409 | NL | Netherlands | Lycamobile | 204 | 09 |
20411 | NL | Netherlands | VenusandMercury Telecom (VoipIT B.V) | 204 | 11 |
20412 | NL | Netherlands | Telfort | 204 | 12 |
20414 | NL | Netherlands | BT INMO (6GMOBILE B.V.) | 204 | 14 |
20416 | NL | Netherlands | T-Mobile (BEN) | 204 | 16 |
20420 | NL | Netherlands | Orange Nederland N.V. (T-Mobile NL) | 204 | 20 |
24201 | NO | Norway | Telenor Norge AS | 242 | 01 |
24202 | NO | Norway | Telia (NetCom) | 242 | 02 |
24209 | NO | Norway | Com4 | 242 | 09 |
24214 | NO | Norway | ICE Communication Norge AS | 242 | 14 |
42901 | NP | Nepal | Nepal Mobile (Nepal Telecom) | 429 | 01 |
42902 | NP | Nepal | Nepal Spice (Ncell) | 429 | 02 |
42904 | NP | Nepal | SmartCell | 429 | 04 |
53602 | NR | Nauru | Digicel | 536 | 02 |
53001 | NZ | New Zealand | Vodafone (Telstra-Clear) | 530 | 01 |
53005 | NZ | New Zealand | Spark New Zealand | 530 | 05 |
53006 | NZ | New Zealand | Skinny | 530 | 06 |
53024 | NZ | New Zealand | 2degrees | 530 | 24 |
42202 | OM | Oman | Oman Mobile (GTO) | 422 | 02 |
42203 | OM | Oman | Ooredoo (Nawras) | 422 | 03 |
71401 | PA | Panama | Cable & Wireless Panama, S.A. | 714 | 01 |
71402 | PA | Panama | Telefonica Moviles de Panama, S.A. (Movistar) | 714 | 02 |
71403 | PA | Panama | Claro (Panama) | 714 | 03 |
71404 | PA | Panama | Digicel | 714 | 04 |
71601 | PE | Peru | TE S.A.M. Peru (GLOBALSTAR) | 716 | 01 |
71606 | PE | Peru | Telefonica Moviles Peru (Movistar/Bellsouth) | 716 | 06 |
71607 | PE | Peru | Nextel Peru (Entel)) | 716 | 07 |
71610 | PE | Peru | Claro (TIM) | 716 | 10 |
71615 | PE | Peru | Viettel Mobile | 716 | 15 |
54720 | PF | French Polynesia | VINI | 547 | 20 |
53701 | PG | Papua New Guinea | Pacific Mobile Comms (PMC) (B-Mobile) | 537 | 01 |
53702 | PG | Papua New Guinea | citifon | 537 | 02 |
53703 | PG | Papua New Guinea | Digicel (PNG) Ltd | 537 | 03 |
51502 | PH | Philippines | Globe Telecom | 515 | 02 |
51503 | PH | Philippines | Smart Communications | 515 | 03 |
51588 | PH | Philippines | Next Mobile (Nextel) | 515 | 88 |
41001 | PK | Pakistan | Mobilink | 410 | 01 |
41003 | PK | Pakistan | PAK Telecom Mobile Ltd (Ufone) | 410 | 03 |
41004 | PK | Pakistan | Paktel, CMPak (ZONG) | 410 | 04 |
41006 | PK | Pakistan | Telenor Pakistan | 410 | 06 |
41007 | PK | Pakistan | Warid Telecomminication | 410 | 07 |
41008 | PK | Pakistan | SCO Mobile | 410 | 08 |
26001 | PL | Poland | POLKOMTEL S.A. (Plus) | 260 | 01 |
26002 | PL | Poland | Polska Telefonia Cyfrowa Sp. z o.o. (PTC) (Era) | 260 | 02 |
26003 | PL | Poland | Orange Polska | 260 | 03 |
26004 | PL | Poland | Tele 2 Polska (MVNO) | 260 | 04 |
26007 | PL | Poland | P4 Sp. z o.o. (Play)(Netia - MVNO) | 260 | 07 |
26008 | PL | Poland | E-Telko | 260 | 08 |
26009 | PL | Poland | Telekomunikacja Kolejowa GSM-R | 260 | 09 |
26012 | PL | Poland | Cyfrowy Polsat (MVNO) | 260 | 12 |
30801 | PM | Saint Pierre And Miquelon | St. Pierre-et-Miquelon Télécom (AMERIS) | 308 | 01 |
33030 | PR | Puerto Rico | Cingular Wireless | 330 | 30 |
330110 | PR | Puerto Rico | Puerto Rico Telephone Company (Claro) Verizon | 330 | 110 |
42505 | PS | Palestinian Territory (Occupied) | Jawwal (Palestine Cellular Communications) | 425 | 05 |
42506 | PS | Palestinian Territory (Occupied) | Wataniya | 425 | 06 |
26801 | PT | Portugal | Vodafone | 268 | 01 |
26803 | PT | Portugal | Optimus / NOS | 268 | 03 |
26804 | PT | Portugal | Lycamobile Portugal | 268 | 04 |
26805 | PT | Portugal | OniWay | 268 | 05 |
26806 | PT | Portugal | TMN / MEO | 268 | 06 |
55201 | PW | Palau | Palau National Communications Corporation (PNCC) | 552 | 01 |
55202 | PW | Palau | Palau Mobile Corporation (PMC) | 552 | 02 |
74401 | PY | Paraguay | Hola Paraguay (Vox) | 744 | 01 |
74402 | PY | Paraguay | AMX Claro | 744 | 02 |
74404 | PY | Paraguay | Telefónica Celular del Paraguay / Tigo | 744 | 04 |
74405 | PY | Paraguay | Nucleo (Personal) | 744 | 05 |
74406 | PY | Paraguay | Copaco S.A. | 744 | 06 |
42701 | QA | Qatar | Qtel / Ooredoo | 427 | 01 |
42702 | QA | Qatar | Vodafone Qatar | 427 | 02 |
64700 | RE | Reunion | Orange Réunion | 647 | 00 |
64702 | RE | Reunion | OUTREMER TELECOM | 647 | 02 |
64710 | RE | Reunion | SRR REUNION | 647 | 10 |
22601 | RO | Romania | Vodafone Romania (formerly Connex) | 226 | 01 |
22603 | RO | Romania | Cosmote | 226 | 03 |
22604 | RO | Romania | Cosmote (CDMA) | 226 | 04 |
22605 | RO | Romania | DigiMobil (RCS-RDS) | 226 | 05 |
22610 | RO | Romania | Orange Romania (formerly Dialog) | 226 | 10 |
22001 | RS | Serbia | Telenor (Mobtel) | 220 | 01 |
22003 | RS | Serbia | Telekom Srbija JSC | 220 | 03 |
22005 | RS | Serbia | VIP Mobile | 220 | 05 |
25001 | RU | Russian Federation | Mobile TeleSystems (MTS) | 250 | 01 |
25002 | RU | Russian Federation | MegaFon (NorthWest/Sonic Duo) | 250 | 02 |
25003 | RU | Russian Federation | Nizhegorodskaya Cellular Communications | 250 | 03 |
25004 | RU | Russian Federation | Sibchallenge | 250 | 04 |
25005 | RU | Russian Federation | Yeniseytelecom (Mobile Communications Systems) | 250 | 05 |
25006 | RU | Russian Federation | Skylink CJSC Saratov System of Cellular Communications | 250 | 06 |
25010 | RU | Russian Federation | DTC Dontelekom | 250 | 10 |
25011 | RU | Russian Federation | Orensot | 250 | 11 |
25012 | RU | Russian Federation | Baykal Westcom (ULAN-UDE) | 250 | 12 |
25013 | RU | Russian Federation | Kuban GSM | 250 | 13 |
25015 | RU | Russian Federation | SMARTS (BM Telecom) | 250 | 15 |
25016 | RU | Russian Federation | New Telephone Company | 250 | 16 |
25017 | RU | Russian Federation | Uralsvyazinform (Utel, Uratel) (former Ermak) | 250 | 17 |
25020 | RU | Russian Federation | Tele2 Russia (ECC) | 250 | 20 |
25021 | RU | Russian Federation | Globalstar | 250 | 21 |
25035 | RU | Russian Federation | MOTIV | 250 | 35 |
25039 | RU | Russian Federation | Rostelecom | 250 | 39 |
25092 | RU | Russian Federation | Primtelefon (Primtelefone) | 250 | 92 |
25099 | RU | Russian Federation | Beeline (VimpelCom) | 250 | 99 |
250020 | RU | Russian Federation | Corporation North Krown | 250 | 020 |
250808 | RU | Russian Federation | Siberian Cellular Communications | 250 | 808 |
4225596 | RU | Russian Federation | Yota Orensot ( Scartel ) | 250 | 11 |
8627527 | RU | Russian Federation | Tele2 | 250 | 20 |
63510 | RW | Rwanda | MTN Rwandacell SARL | 635 | 10 |
63512 | RW | Rwanda | Rwandatel | 635 | 12 |
63513 | RW | Rwanda | TIGO Rwanda | 635 | 13 |
63514 | RW | Rwanda | Airtel Rwanda | 635 | 14 |
63517 | RW | Rwanda | Olleh | 635 | 17 |
42001 | SA | Saudi Arabia | Saudi Telecom (Al Jawal) (STC) | 420 | 01 |
42003 | SA | Saudi Arabia | Etihad Etisalat Company (Mobily) | 420 | 03 |
42004 | SA | Saudi Arabia | Zain Saudi Arabia | 420 | 04 |
42005 | SA | Saudi Arabia | Virgin Mobile | 420 | 05 |
54001 | SB | Solomon Islands | Breeze | 540 | 01 |
54002 | SB | Solomon Islands | beMobile | 540 | 02 |
63301 | SC | Seychelles | Cable and Wireless (Seychelles) Ltd | 633 | 01 |
63302 | SC | Seychelles | MediaTech | 633 | 02 |
63310 | SC | Seychelles | Telecom (Seychelles) (Airtel) | 633 | 10 |
63401 | SD | Sudan | Mobitel (Zain) | 634 | 01 |
63402 | SD | Sudan | MTN Sudan (Areeba) | 634 | 02 |
63405 | SD | Sudan | Canar | 634 | 05 |
63407 | SD | Sudan | Sudani | 634 | 07 |
24001 | SE | Sweden | TeliaSonera Sverige AB | 240 | 01 |
24002 | SE | Sweden | Hi3G Access AB | 240 | 02 |
24003 | SE | Sweden | Netett Sverige AB (Ice.net) | 240 | 03 |
24007 | SE | Sweden | Tele2 Sverige AB | 240 | 07 |
24008 | SE | Sweden | Telenor Sverige AB | 240 | 08 |
24010 | SE | Sweden | Spring Mobil AB (Swefour) | 240 | 10 |
24011 | SE | Sweden | Lindholmen Science Park AB | 240 | 11 |
24012 | SE | Sweden | Barablu Mobile Scandinavia | 240 | 12 |
24013 | SE | Sweden | Ventelo Sverige | 240 | 13 |
24017 | SE | Sweden | Götalandsnätet AB | 240 | 17 |
24020 | SE | Sweden | Wireless Maingate AB | 240 | 20 |
52501 | SG | Singapore | SingTel Mobile | 525 | 01 |
52503 | SG | Singapore | M1 | 525 | 03 |
52505 | SG | Singapore | StarHub Mobile | 525 | 05 |
52510 | SG | Singapore | TPG Telecom | 525 | 10 |
52512 | SG | Singapore | DNA Comms (PTRS) (Grid) | 525 | 12 |
29340 | SI | Slovenia | A1 (SI.MOBIL) | 293 | 40 |
29341 | SI | Slovenia | Mobitel NMT | 293 | 41 |
29364 | SI | Slovenia | T-2 | 293 | 64 |
29370 | SI | Slovenia | Tusmobil | 293 | 70 |
23101 | SK | Slovakia | Orange | 231 | 01 |
23102 | SK | Slovakia | T-Mobile | 231 | 02 |
23103 | SK | Slovakia | Unient Communcations (Swan) | 231 | 03 |
23106 | SK | Slovakia | Telefónica O2 | 231 | 06 |
61901 | SL | Sierra Leone | Orange (AIRTEL) | 619 | 01 |
61904 | SL | Sierra Leone | Comium (Sierra Leone) Ltd. | 619 | 04 |
61905 | SL | Sierra Leone | LINTEL (Sierra Leone) Limited (Africell) | 619 | 05 |
61906 | SL | Sierra Leone | Sierratel | 619 | 06 |
61925 | SL | Sierra Leone | Mobitel | 619 | 25 |
61940 | SL | Sierra Leone | Datatel (GSM) | 619 | 40 |
61950 | SL | Sierra Leone | Datatel (CDMA) | 619 | 50 |
29201 | SM | San Marino | San Marino Telecom | 292 | 01 |
29288 | SM | San Marino | Wind Telecomunicazioni SpA | 292 | 88 |
60801 | SN | Senegal | Orange (Sonatel) | 608 | 01 |
60802 | SN | Senegal | Togo (Millicom) | 608 | 02 |
60803 | SN | Senegal | Expresso (Sudatel) | 608 | 03 |
63701 | SO | Somalia | Telesom | 637 | 01 |
63704 | SO | Somalia | Somafone | 637 | 04 |
63710 | SO | Somalia | Nationlink | 637 | 10 |
63719 | SO | Somalia | SolTelco | 637 | 19 |
63725 | SO | Somalia | Hormuud Telecom Somalia Inc | 637 | 25 |
63730 | SO | Somalia | Golis | 637 | 30 |
63771 | SO | Somalia | Somtel | 637 | 71 |
63782 | SO | Somalia | Telcom Mobile | 637 | 82 |
74602 | SR | Suriname | Telesur | 746 | 02 |
74603 | SR | Suriname | Digicel Suriname | 746 | 03 |
74604 | SR | Suriname | INTERSUR | 746 | 04 |
65902 | SS | South Sudan | MTN | 659 | 02 |
65903 | SS | South Sudan | Gemtel | 659 | 03 |
65904 | SS | South Sudan | Network of the World Ltd (VivaCell) | 659 | 04 |
65906 | SS | South Sudan | Mobitel (ZAIN) | 659 | 06 |
62601 | ST | Sao Tome And Principe | CSTmovel | 626 | 01 |
70601 | SV | El Salvador | Claro (America Movil) | 706 | 01 |
70602 | SV | El Salvador | Digicel | 706 | 02 |
70603 | SV | El Salvador | Telemovil (Tigo/Millicom) | 706 | 03 |
70604 | SV | El Salvador | Movistar (Telefonica Moviles El Salvador) | 706 | 04 |
70605 | SV | El Salvador | Intelfon (iDEN) | 706 | 05 |
706998 | SV | El Salvador | Intelfon RED | 706 | 998 |
41701 | SY | Syria | Syriatel | 417 | 01 |
41702 | SY | Syria | Areeba / MTN | 417 | 02 |
41709 | SY | Syria | Syrian Telecommunication Est. (MOBILE SYRIA) | 417 | 09 |
65302 | SZ | Swaziland | Swazi Mobile | 653 | 02 |
65310 | SZ | Swaziland | Swazi MTN | 653 | 10 |
37605 | TC | Turks And Caicos Islands | Digicel (TCI) Ltd | 376 | 05 |
376350 | TC | Turks And Caicos Islands | Cable and Wireless (GSM) | 376 | 350 |
376352 | TC | Turks And Caicos Islands | IslandCom Communication Ltd | 376 | 352 |
62201 | TD | Chad | Airtel (formerly Celtel/Zain) | 622 | 01 |
62202 | TD | Chad | Tawali | 622 | 02 |
62203 | TD | Chad | TIGO - Millicom | 622 | 03 |
62207 | TD | Chad | Salam | 622 | 07 |
61501 | TG | Togo | Togo Telecom (Togo Cel) | 615 | 01 |
61503 | TG | Togo | Telecel (MoovTogo) | 615 | 03 |
52000 | TH | Thailand | CAT Telecom (CDMA)(Hutch) | 520 | 00 |
52001 | TH | Thailand | Advanced Wireless Network Company (AIS) | 520 | 01 |
52010 | TH | Thailand | WCS | 520 | 10 |
52015 | TH | Thailand | TOT (ACT Mobile) | 520 | 15 |
52018 | TH | Thailand | Total Access Communication Plc. (TAC/DTAC) | 520 | 18 |
52020 | TH | Thailand | AcES Thailand | 520 | 20 |
52099 | TH | Thailand | True Corporation (TrueMove) | 520 | 99 |
43601 | TJ | Tajikistan | Tcell (JV Somoncom) | 436 | 01 |
43602 | TJ | Tajikistan | Tcell (Indigo Tajikistan) | 436 | 02 |
43603 | TJ | Tajikistan | Megafon (TT Mobile) | 436 | 03 |
43604 | TJ | Tajikistan | Babilon-M | 436 | 04 |
43605 | TJ | Tajikistan | Beeline (Tacom) | 436 | 05 |
43610 | TJ | Tajikistan | Babilon-T (WiMax) | 436 | 10 |
436501 | TJ | Tajikistan | TK Mobile (CDMA) | 436 | 501 |
51401 | TL | Timor-Leste | Telkomcel | 514 | 01 |
51402 | TL | Timor-Leste | Timor Telecom | 514 | 02 |
43801 | TM | Turkmenistan | Barash Communication Technologies INC | 438 | 01 |
43802 | TM | Turkmenistan | Altyn Asyr(TM-Cell) | 438 | 02 |
60501 | TN | Tunisia | Orange Tunisie | 605 | 01 |
60502 | TN | Tunisia | Tunisie Telecom (Tunicell) | 605 | 02 |
60503 | TN | Tunisia | ooredoo Tunisiana (Formerly Orascom) | 605 | 03 |
53901 | TO | Tonga | U-Call | 539 | 01 |
53943 | TO | Tonga | Shoreline Communication | 539 | 43 |
53988 | TO | Tonga | Digicel (Tonfon) | 539 | 88 |
28601 | TR | Turkey | Turkcell | 286 | 01 |
28602 | TR | Turkey | Vodafone | 286 | 02 |
28603 | TR | Turkey | Aria (AVEA) | 286 | 03 |
37412 | TT | Trinidad And Tobago | TTST Mobile | 374 | 12 |
374130 | TT | Trinidad And Tobago | Digicel Trinidad and Tobago Ltd | 374 | 130 |
374140 | TT | Trinidad And Tobago | LaqTel Ltd | 374 | 140 |
55301 | TV | Tuvalu | Tuvalu Telecommunications Corporation | 553 | 01 |
46601 | TW | Taiwan | Far EasTone (Formerly KG Telecom) | 466 | 01 |
46605 | TW | Taiwan | Asia Pacific Telecom | 466 | 05 |
46606 | TW | Taiwan | Tuntex Telecom | 466 | 06 |
46611 | TW | Taiwan | Chunghwa Telecom LDM (AMP) | 466 | 11 |
46656 | TW | Taiwan | "CT2 (Taiwan First International Telecom)" | 466 | 56 |
46668 | TW | Taiwan | ACeS International (AIL) | 466 | 68 |
46689 | TW | Taiwan | T Star | 466 | 89 |
46692 | TW | Taiwan | Chunghwa Telecom LDM | 466 | 92 |
46693 | TW | Taiwan | Mobitai | 466 | 93 |
46697 | TW | Taiwan | Taiwan Cellular Corporation (Taiwan Mobile) | 466 | 97 |
46699 | TW | Taiwan | TransAsia | 466 | 99 |
64002 | TZ | Tanzania | MIC (T) Ltd. (Mobitel) (Tigo) | 640 | 02 |
64003 | TZ | Tanzania | Zanzibar Telecom Ltd (Zantel) | 640 | 03 |
64004 | TZ | Tanzania | Vodacom (T) Ltd. | 640 | 04 |
64005 | TZ | Tanzania | Airtel (formerly Celtel/Zain) | 640 | 05 |
64007 | TZ | Tanzania | Tanzania Telecommunications Company Ltd (TTCL) | 640 | 07 |
64008 | TZ | Tanzania | SMART | 640 | 08 |
64009 | TZ | Tanzania | Viettel (Halotel) | 640 | 09 |
64011 | TZ | Tanzania | Smile | 640 | 11 |
25501 | UA | Ukraine | MTS (Ukrainian Mobile Communications) | 255 | 01 |
25503 | UA | Ukraine | Kyivstar | 255 | 03 |
25504 | UA | Ukraine | International Telecommunication (CDMA800) (IT) | 255 | 04 |
25505 | UA | Ukraine | Golden Telecom | 255 | 05 |
25506 | UA | Ukraine | life:) (Astelit) | 255 | 06 |
25507 | UA | Ukraine | 3Mob (Ukrtelecom UMTS ) | 255 | 07 |
25521 | UA | Ukraine | Telesystems (CDMA) (PEOPLEnet) | 255 | 21 |
25599 | UA | Ukraine | Phoenix | 255 | 99 |
64101 | UG | Uganda | Airtel (formerly Celtel/Zain) | 641 | 01 |
64106 | UG | Uganda | Vodacom | 641 | 06 |
64110 | UG | Uganda | MTN (Uganda) Ltd | 641 | 10 |
64111 | UG | Uganda | Uganda Telecom Ltd | 641 | 11 |
64114 | UG | Uganda | Orange Uganda (Africell) | 641 | 14 |
64122 | UG | Uganda | Warid Telecom Uganda | 641 | 22 |
3921 | US | United States | Centennial Southeast License Company Llc | 310 | 030 |
39573 | US | United States | Oklahoma Western Telephone Company | 310 | 540 |
110715 | US | United States | Alltel Communications, Inc. - La | 310 | 500 |
196395 | US | United States | Sprint Spectrum L.p.- Fl | 310 | 020 |
218814 | US | United States | Cellco Partnership Dba Verizon Wireless - Ks | 310 | 012 |
236021 | US | United States | Alltel Communications, Inc. - Mi | 310 | 500 |
310011 | US | United States | Northstar Technology, Llc | 310 | 011 |
310012 | US | United States | Cellco Partnership Dba Verizon Wireless | 310 | 012 |
310015 | US | United States | Southern Communications Services | 310 | 015 |
310016 | US | United States | Cricket Communications, Inc. | 310 | 016 |
310020 | US | United States | Sprint Spectrum L.p. (Union Telephone Company) | 310 | 020 |
310030 | US | United States | Centennial | 310 | 030 |
310034 | US | United States | Airpeak Communications, Llc | 310 | 034 |
310060 | US | United States | Consolidated Communications Networks, Inc. | 310 | 060 |
310080 | US | United States | Corr Wireless Communications, Llc | 310 | 080 |
310090 | US | United States | Edge Wireless, Llc | 310 | 090 |
310100 | US | United States | New Mexico RSA 4 East Ltd Partnership (Plateau Wireless) | 310 | 100 |
310130 | US | United States | Carolina West Wireless | 310 | 130 |
310140 | US | United States | Cross Telephone Co. | 310 | 140 |
310180 | US | United States | West Central Telephone Association | 310 | 180 |
310190 | US | United States | Alaska Wireless Communications, Llc | 310 | 190 |
310250 | US | United States | T-MOBILE (Honolulu-H) | 310 | 250 |
310260 | US | United States | D&e/omnipoint Wirel Joint Vent Lp Dba Pcs One | 310 | 260 |
310311 | US | United States | Farmers Cellular Telephone, Inc. | 310 | 311 |
310320 | US | United States | Smith Bagley Inc. Dba Cellular One Of Ne Arizona | 310 | 320 |
310350 | US | United States | South Carolina Net, Inc. - Sc | 310 | 350 |
310400 | US | United States | Wave Runner LLC Mariana Islands (i CAN_GSM) | 310 | 400 |
310410 | US | United States | Blue Licenses Holding, Llc | 310 | 410 |
310420 | US | United States | Cincinnati | 310 | 420 |
310430 | US | United States | Alaska Digitel, LLC | 310 | 430 |
310440 | US | United States | Dobson Cellular Systems, Inc. | 310 | 440 |
310460 | US | United States | Tmp Corp. | 310 | 460 |
310490 | US | United States | T-Mobile (former Suncom Wireless Operating Company, Llc) | 310 | 490 |
310500 | US | United States | Alltel Communications, Inc. | 310 | 500 |
310540 | US | United States | Oklahoma Western Telephone Co. | 310 | 540 |
310560 | US | United States | Dobson Telephone Co. | 310 | 560 |
310570 | US | United States | MTPCS, LLC (Chinook Wireless) | 310 | 570 |
310590 | US | United States | Western Wireless Corporation | 310 | 590 |
310600 | US | United States | New Cell, Inc. Dba Cellcom | 310 | 600 |
310610 | US | United States | Elkhart Telephone Co., Inc. | 310 | 610 |
310620 | US | United States | Coleman County Telecomm.,ltd Dba Trans Texas Pcs | 310 | 620 |
310630 | US | United States | Choice Wireless Lc | 310 | 630 |
310640 | US | United States | Airadigm Communications Inc | 310 | 640 |
310670 | US | United States | Northstar Access, Llc | 310 | 670 |
310690 | US | United States | Keystone - Arthur Telephone Co. | 310 | 690 |
310760 | US | United States | Panhandle Telecommunications Systems, Inc. | 310 | 760 |
310770 | US | United States | Iowa Wireless Services, Lp | 310 | 770 |
310790 | US | United States | Pinpoint Wireless, Inc. | 310 | 790 |
310830 | US | United States | Caprock Cellular Limited Partnership | 310 | 830 |
310870 | US | United States | Kaplan Telephone Co. | 310 | 870 |
310880 | US | United States | Advantage Cellular Systems, Inc. | 310 | 880 |
310890 | US | United States | Rural Cellular Corp. Dba Rcc Network Inc | 310 | 890 |
310900 | US | United States | Taylor Telephone Cooperative, Inc. | 310 | 900 |
310910 | US | United States | First Communications Llc Dba Corecomm - Oh | 310 | 910 |
310940 | US | United States | Poka - Lambro Telephone Cooperative, Inc. | 310 | 940 |
310950 | US | United States | Xit Rural Telephone Cooperative, Inc. | 310 | 950 |
310970 | US | United States | Globalstar Usa, Inc. | 310 | 970 |
311000 | US | United States | Mid-tex Cellular Ltd. | 311 | 000 |
311040 | US | United States | Commnet Wireless, Inc. | 311 | 040 |
311050 | US | United States | Wilkes Telephone & Electric Co., Inc. | 311 | 050 |
311090 | US | United States | Sioux Valley Telephone Co. | 311 | 090 |
311190 | US | United States | United States Cellular Corp. - Illinois | 311 | 190 |
311230 | US | United States | Cellular South, Inc. | 311 | 230 |
311520 | US | United States | Crossroads Wireless | 311 | 520 |
374391 | US | United States | Sprint Spectrum L.p. - Nd | 310 | 020 |
413426 | US | United States | Cellco Partnership Dba Verizon Wireless - Ut | 310 | 012 |
474151 | US | United States | Union Telephone Company Dba Union Cellular | 310 | 020 |
546973 | US | United States | Cellco Partnership Dba Verizon Wireless - De | 310 | 012 |
600112 | US | United States | Cellco Partnership Dba Verizon Wireless - Co | 310 | 012 |
637817 | US | United States | New Cingular Wireless Pcs, Llc - Mo | 310 | 410 |
653424 | US | United States | Western Wireless Corporation-ut | 310 | 590 |
717011 | US | United States | Centennial Michagan License Company Llc | 310 | 030 |
726632 | US | United States | Cincinnati Bell Wireless, Llc | 310 | 420 |
755819 | US | United States | Verizon Wireless | 310 | 012 |
831426 | US | United States | Cellco Partnership Dba Verizon Wireless - Ny | 310 | 012 |
847961 | US | United States | Alltel Communications, Inc. - Mo | 310 | 500 |
868897 | US | United States | Alltel Communications Of The Midwest, Inc. - Ne | 310 | 500 |
910120 | US | United States | Windstream Standard, Inc. | 310 | 500 |
910343 | US | United States | Sprint Spectrum L.p.- Ny | 310 | 020 |
915979 | US | United States | Western Wireless Corporation-mt | 310 | 590 |
922168 | US | United States | Cellco Partnership Dba Verizon Wireless - Ri | 310 | 012 |
930399 | US | United States | Windstream New York, Inc. - Jamestown | 310 | 500 |
933502 | US | United States | Cellco Partnership Dba Verizon Wireless - Ma | 310 | 012 |
1030233 | US | United States | Sprint Spectrum L.p.- Mt | 310 | 020 |
1074935 | US | United States | Union Telephone Co. | 310 | 020 |
1076900 | US | United States | Omnipoint Communications Midwest Operations Llc | 310 | 260 |
1250626 | US | United States | Alltel Communications, Inc. - Ga | 310 | 500 |
1321804 | US | United States | New Cingular Wireless Pcs, Llc - Ny | 310 | 410 |
1369173 | US | United States | Sprint Spectrum L.p.- Mn | 310 | 020 |
1387483 | US | United States | Cellco Partnership Dba Verizon Wireless - Ar | 310 | 012 |
1469401 | US | United States | Western Wireless Corporation-tx | 310 | 590 |
1470426 | US | United States | New Cingular Wireless Pcs, Llc - Nj | 310 | 410 |
1546548 | US | United States | New Cingular Wireless Pcs, Llc - Wi | 310 | 410 |
1547623 | US | United States | Pine Telephone System, Inc. | 310 | 080 |
1569859 | US | United States | Alltel Communications, Inc. - Wi | 310 | 500 |
1613087 | US | United States | Cellco Partnership Dba Verizon Wireless - Ca | 310 | 012 |
1675189 | US | United States | Windstream New York, Inc. - Fulton | 310 | 500 |
1815967 | US | United States | Cellco Partnership Dba Verizon Wireless - In | 310 | 012 |
1944309 | US | United States | Cellco Partnership Dba Verizon Wireless - Md | 310 | 012 |
1968021 | US | United States | New Cingular Wireless Pcs, Llc - Ga | 310 | 410 |
2044503 | US | United States | Windstream Pennsylvania, Inc. | 310 | 500 |
2061013 | US | United States | Cellco Partnership Dba Verizon Wireless - Oh | 310 | 012 |
2075516 | US | United States | Alltel Communications Of The Southwest, Lp - Az | 310 | 500 |
2082689 | US | United States | Consolidated Telephone Co. | 310 | 060 |
2095246 | US | United States | Cellco Partnership Dba Verizon Wireless - Id | 310 | 012 |
2114865 | US | United States | Sprint Spectrum L.p.- Ne | 310 | 020 |
2162864 | US | United States | New Cingular Wireless Pcs, Llc. | 310 | 410 |
2166802 | US | United States | Sprint Spectrum L.p.- La | 310 | 020 |
2197743 | US | United States | New Cingular Wireless Pcs, Llc - Oh | 310 | 410 |
2309794 | US | United States | Verizon Wireless Of The East, Lp - Al | 310 | 012 |
2334323 | US | United States | Windstream Accucomm Telecommunications, Inc. | 310 | 500 |
2448351 | US | United States | Omnipoint Miami E License, Llc | 310 | 260 |
2481412 | US | United States | Sprint Spectrum L.p.- Ar | 310 | 020 |
2481850 | US | United States | Windstream Nebraska, Inc. | 310 | 500 |
2525830 | US | United States | Xit Telecommunication & Technology, Inc. | 310 | 950 |
2555845 | US | United States | Pine Telephone Company Dba Pine Cell Phones, Inc. | 310 | 080 |
2560043 | US | United States | Sprint Spectrum L.p.- Tx | 310 | 020 |
2563390 | US | United States | Windstream Kentucky East, Inc. - Lexington | 310 | 500 |
2623113 | US | United States | Sprint Spectrum L.p.- Ks | 310 | 020 |
2627909 | US | United States | Alltel Communications, Inc. - Ar | 310 | 500 |
2741143 | US | United States | Windstream Georgia Telephone, Inc. | 310 | 500 |
2746449 | US | United States | Verizon Wireless Of The East, Lp | 310 | 012 |
2813367 | US | United States | Alltel Communications, Inc. - Ok | 310 | 500 |
2817815 | US | United States | Sprint Spectrum L.p.- Tn | 310 | 020 |
2870907 | US | United States | Cellco Partnership Dba Verizon Wireless - Pa | 310 | 012 |
3069979 | US | United States | Powertel Kentucky Licenses, Inc. | 310 | 260 |
3098231 | US | United States | Cellco Partnership Dba Verizon Wireless - Mo | 310 | 012 |
3104132 | US | United States | Windstream Oklahoma, Inc. | 310 | 500 |
3208102 | US | United States | Union Telephone Company | 310 | 020 |
3291005 | US | United States | Sprint Spectrum L.p.- Ca | 310 | 020 |
3309622 | US | United States | Verizon Wireless Of The East, Lp - Fl | 310 | 012 |
3387420 | US | United States | Sprint Spectrum L.p. - Nh | 310 | 020 |
3399960 | US | United States | Western Wireless Corporation-ia | 310 | 590 |
3451445 | US | United States | Cross Wireless L.l.c. | 310 | 140 |
3477723 | US | United States | Sprint Spectrum L.p. - Id | 310 | 020 |
3531741 | US | United States | Alltel Communications, Inc. - Ms | 310 | 500 |
3578020 | US | United States | Windstream Missouri, Inc. | 310 | 500 |
3599478 | US | United States | Western Wireless Corporation-mo | 310 | 590 |
3621397 | US | United States | Cincinnati Bell, Inc. | 310 | 420 |
3662341 | US | United States | Alltel Communications, Inc. - Va | 310 | 500 |
3781463 | US | United States | Western Wireless Corporation-nd | 310 | 590 |
3843011 | US | United States | Sprint Spectrum L.p.- Sc | 310 | 020 |
3845403 | US | United States | Western Wireless Corporation-id | 310 | 590 |
3980472 | US | United States | Sprint Spectrum L.p.- Wi | 310 | 020 |
4007228 | US | United States | Sprint Spectrum L.p.- Ky | 310 | 020 |
4034133 | US | United States | Windstream Kentucky West, Inc. | 310 | 500 |
4053729 | US | United States | Sprint Spectrum L.p.- Va | 310 | 020 |
4061586 | US | United States | Consolidated Telecom, Inc. | 310 | 060 |
4089657 | US | United States | Alltel Comm. Holdings Of The Midwest, Inc. - Ne | 310 | 500 |
4112474 | US | United States | Sprint Spectrum L.p.- Ia | 310 | 020 |
4162174 | US | United States | Sprint Spectrum L.p.- Mo | 310 | 020 |
4268116 | US | United States | New Cingular Wireless Pcs, Llc - Ar | 310 | 410 |
4294278 | US | United States | Keystone Farms Cooperative Telephone Co. | 310 | 690 |
4323181 | US | United States | Omnipoint Communications, Inc. - Nj | 310 | 260 |
4346771 | US | United States | Sprint Spectrum L.p.- Ut | 310 | 020 |
4384799 | US | United States | Western Wireless Corporation-co | 310 | 590 |
4562196 | US | United States | Powertel Atlanta Licenses, Inc. | 310 | 260 |
4682104 | US | United States | Leap Wireless Intl, Inc. Dba Cricket Comm, Inc. | 310 | 016 |
4719923 | US | United States | Cellco Partnership Dba Verizon Wireless - Vt | 310 | 012 |
4895385 | US | United States | New Cingular Wireless Pcs, Lcc - Tx | 310 | 410 |
4972022 | US | United States | Windstream | 310 | 500 |
4978896 | US | United States | Alltel Communications, Inc. - Nm | 310 | 500 |
5041112 | US | United States | Sprint Spectrum L.p.- Nc | 310 | 020 |
5083579 | US | United States | Omnipoint Communications, Inc. - Ny | 310 | 260 |
5094861 | US | United States | Windstream Alabama, Inc. | 310 | 500 |
5114824 | US | United States | Alltel Communications, Inc. - Nc | 310 | 500 |
5136084 | US | United States | Windstream Mississippi, Inc. | 310 | 500 |
5192040 | US | United States | Cellco Partnership Dba Verizon Wireless - Va | 310 | 012 |
5266341 | US | United States | New Cingular Wireless Pcs, Llc - Ky | 310 | 410 |
5291348 | US | United States | Powertel Jacksonville Licenses, Inc. | 310 | 260 |
5320119 | US | United States | Cellco Partnership Dba Verizon Wireless - Nj | 310 | 012 |
5340932 | US | United States | Windstream North Carolina, Inc. | 310 | 500 |
5362154 | US | United States | Cellco Partnership Dba Verizon Wireless - Nc | 310 | 012 |
5416801 | US | United States | Alltel Communications, Inc. - Pa | 310 | 500 |
5450987 | US | United States | Sprint Spectrum L.p.- Nm | 310 | 020 |
5510776 | US | United States | Omnipoint Communications, Inc. - Ct | 310 | 260 |
5548137 | US | United States | Keystone Wireless, Llc | 310 | 690 |
5564527 | US | United States | Western Wireless Corporation-sd | 310 | 590 |
5646168 | US | United States | Cellco Partnership Dba Verizon Wireless - Ky | 310 | 012 |
5710042 | US | United States | Poka Lambro Telecomms, Ltd. Dba Digital Cellular T | 310 | 940 |
5716339 | US | United States | Cellco Partnership Dba Verizon Wireless - Fl | 310 | 012 |
5718022 | US | United States | Cellco Partnership Dba Verizon Wireless - Wy | 310 | 012 |
5813926 | US | United States | Sprint Spectrum L.p. - Nv | 310 | 020 |
5885404 | US | United States | Cingular Wireless Llc - Ny | 310 | 410 |
5927093 | US | United States | Consolidated Communications Of Fort Bend Company | 310 | 060 |
5957700 | US | United States | Cellco Partnership Dba Verizon Wireless - Wv | 310 | 012 |
5998120 | US | United States | Cellco Partnership Dba Verizon Wireless - Sc | 310 | 012 |
6075080 | US | United States | Consolidated Telcom | 310 | 060 |
6147048 | US | United States | Sprint Spectrum L.p.- Az | 310 | 020 |
6159380 | US | United States | Western Wireless Corporation-nm | 310 | 590 |
6161512 | US | United States | Sprint Spectrum L.p. - Md | 310 | 020 |
6174678 | US | United States | Western Wireless Corporation-ca | 310 | 590 |
6369446 | US | United States | Sprint Spectrum L.p.- In | 310 | 020 |
6430991 | US | United States | Centennial Michiana License Company Llc | 310 | 030 |
6467501 | US | United States | Union Telephone Co. - Wi | 310 | 020 |
6526462 | US | United States | Centennial Caribbean Holding Corp. - Pr | 310 | 030 |
6577038 | US | United States | Cellco Partnership Dba Verizon Wireless - Mt | 310 | 012 |
6624575 | US | United States | Omnipoint Communications Enterprises, L.p. | 310 | 260 |
6703351 | US | United States | Sprint Spectrum L.p.- Ms | 310 | 020 |
6717463 | US | United States | Sprint Spectrum L.p.- Or | 310 | 020 |
6738678 | US | United States | New Cingular Wireless Pcs, Llc - Ma | 310 | 410 |
6766109 | US | United States | New Cingular Wireless Pcs, Llc | 310 | 410 |
6772518 | US | United States | Alltel Communications, Inc. - Ky | 310 | 500 |
6862275 | US | United States | Alltel Georgia Communication Corp. | 310 | 500 |
6921039 | US | United States | Cellco Partnership Dba Verizon Wireless - Mi | 310 | 012 |
6940332 | US | United States | Sprint Spectrum L.p.- Ga | 310 | 020 |
6940774 | US | United States | Cellco Partnership Dba Verizon Wireless - Ga | 310 | 012 |
6951963 | US | United States | Cellco Partnership Dba Verizon Wireless - Ia | 310 | 012 |
6969134 | US | United States | Alltel Communications, Inc. - Tn | 310 | 500 |
7023304 | US | United States | New Cingular Wireless Pcs, Llc - Pa | 310 | 410 |
7035757 | US | United States | New Cingular Wireless Pcs, Llc - Il | 310 | 410 |
7072098 | US | United States | Windstream Communications, Inc. - Ar | 310 | 500 |
7077200 | US | United States | Pine Telephone Co. | 310 | 080 |
7079656 | US | United States | Cellco Partnership Dba Verizon Wireless - Nd | 310 | 012 |
7095092 | US | United States | Sprint Spectrum L.p. - Wy | 310 | 020 |
7224098 | US | United States | Cellco Partnership Dba Verizon Wireless - Sd | 310 | 012 |
7228332 | US | United States | Sprint Spectrum L.p.- Wa | 310 | 020 |
7338127 | US | United States | First Communications, Llc - Oh | 310 | 910 |
7348659 | US | United States | Omnipoint Communications Cap Operations, Llc | 310 | 260 |
7365373 | US | United States | Cellco Partnership Dba Verizon Wireless - Nv | 310 | 012 |
7422171 | US | United States | Alltel Mobile Communications, Inc. - Alabama | 310 | 500 |
7554857 | US | United States | Cellco Partnership Dba Verizon Wireless - Hi | 310 | 012 |
7561231 | US | United States | Sprint Spectrum L.p.- Mi | 310 | 020 |
7574401 | US | United States | Cellco Partnership Dba Verizon Wireless - La | 310 | 012 |
7587315 | US | United States | Rural Cellular Corporation | 310 | 890 |
7610053 | US | United States | Panhandle Telephone Cooperative, Inc. | 310 | 760 |
7686194 | US | United States | Keystone Wireless, Inc. | 310 | 690 |
7770891 | US | United States | Alltel Communications Of The Southwest, Lp - Nm | 310 | 500 |
7795587 | US | United States | Powertel Birmingham Licenses, Inc. | 310 | 260 |
7810789 | US | United States | Cellco Partnership Dba Verizon Wireless - Ok | 310 | 012 |
7825385 | US | United States | Windstream Ohio, Inc. | 310 | 500 |
7828180 | US | United States | Wilkes Telephone Membership Corp. | 311 | 050 |
7938461 | US | United States | Union Telephone Co. - Nh | 310 | 020 |
8013882 | US | United States | Sprint Spectrum L.p.- Co | 310 | 020 |
8023494 | US | United States | Cellco Partnership Dba Verizon Wireless - Wi | 310 | 012 |
8057761 | US | United States | Coleman County Telephone Cooperative, Inc. | 310 | 620 |
8126132 | US | United States | Cellco Partnership Dba Verizon Wireless - Tn | 310 | 012 |
8157364 | US | United States | Windstream Georgia, Inc. | 310 | 500 |
8161302 | US | United States | Cellco Partnership Dba Verizon Wireless - Ct | 310 | 012 |
8164777 | US | United States | Voicestream Gsm I, Llc | 310 | 260 |
8169322 | US | United States | Powertel Nashville Licenses, Inc. | 310 | 260 |
8170770 | US | United States | New Cingular Wireless Pcs, Llc - Mi | 310 | 410 |
8198755 | US | United States | Sprint Spectrum L.p.- Oh | 310 | 020 |
8217364 | US | United States | Sprint Spectrum L.p.- Wv | 310 | 020 |
8228690 | US | United States | Consolidated Telephone Co., Inc. | 310 | 060 |
8262745 | US | United States | Sprint Spectrum L.p.- Ok | 310 | 020 |
8305456 | US | United States | Alltel Ohio, Lp - Oh | 310 | 500 |
8338464 | US | United States | Poka Lambro Telephone Company | 310 | 940 |
8344861 | US | United States | Windstream Kentucky East, Inc. - London | 310 | 500 |
8417092 | US | United States | Windstream Western Reserve, Inc. | 310 | 500 |
8471336 | US | United States | Windstream Arkansas, Inc. | 310 | 500 |
8507540 | US | United States | New Cingular Wireless Pcs, Llc - La | 310 | 410 |
8516118 | US | United States | Windstream Florida, Inc. | 310 | 500 |
8522121 | US | United States | Union Telephone Co. - Wy | 310 | 020 |
8523292 | US | United States | New Cingular Wireless Pcs, Llc - Tn | 310 | 410 |
8643907 | US | United States | Alltel Communications, Inc. - Sc | 310 | 500 |
8665146 | US | United States | Cellco Partnership Dba Verizon Wireless - Nm | 310 | 012 |
8676775 | US | United States | New Cingular Wireless Pcs, Llc - Ms | 310 | 410 |
8753337 | US | United States | Sprint Spectrum L.p.- Al | 310 | 020 |
8771271 | US | United States | Consolidated Communications Of Texas Company | 310 | 060 |
8772270 | US | United States | Cellco Partnership Dba Verizon Wireless - Mn | 310 | 012 |
8784411 | US | United States | Western Wireless Corporation-ok | 310 | 590 |
8799080 | US | United States | Sprint Spectrum L.p.- Pa | 310 | 020 |
8812327 | US | United States | Sprint Spectrum L.p.- Ma | 310 | 020 |
8858919 | US | United States | Western Wireless Corporation-wy | 310 | 590 |
8907374 | US | United States | Sprint Spectrum L.p. - Vt | 310 | 020 |
8913948 | US | United States | Alltel Communications, Inc. - Tx | 310 | 500 |
8958364 | US | United States | Cellco Partnership Dba Verizon Wireless - Tx | 310 | 012 |
9006176 | US | United States | Cellco Partnership Dba Verizon Wireless - Dc | 310 | 012 |
9027137 | US | United States | Western Wireless Corporation-mn | 310 | 590 |
9145405 | US | United States | T-mobile Usa, Inc. (Suncom) | 310 | 260 |
9155107 | US | United States | Cellco Partnership Dba Verizon Wireless - Az | 310 | 012 |
9174346 | US | United States | Cellco Partnership Dba Verizon Wireless - Ms | 310 | 012 |
9260770 | US | United States | Alltel Wireless Holdings, Llc - Fl | 310 | 500 |
9274722 | US | United States | New Cingular Wireless Pcs, Llc - In | 310 | 410 |
9311817 | US | United States | Cellco Partnership Dba Verizon Wireless - Ne | 310 | 012 |
9452510 | US | United States | Western Wireless Corporation-nv | 310 | 590 |
9475851 | US | United States | Powertel Memphis Licenses, Inc. | 310 | 260 |
9550011 | US | United States | Alltel Communications, Inc. - Oh | 310 | 500 |
9601799 | US | United States | Alltel Kansas Lp - Ks | 310 | 500 |
9618728 | US | United States | Verizon Wireless Of The East, Lp - Ga | 310 | 012 |
9620341 | US | United States | Cellco Partnership Dba Verizon Wireless - Il | 310 | 012 |
9626425 | US | United States | Windstream New York, Inc. - Red Jacket | 310 | 500 |
9741373 | US | United States | Sprint Spectrum L.p.- Il | 310 | 020 |
9790854 | US | United States | New Cingular Wireless Pcs, Llc - Al | 310 | 410 |
9826870 | US | United States | Alltel Communications, Inc. - Co | 310 | 500 |
9946482 | US | United States | Windstream Communications, Inc. - Nc | 310 | 500 |
74801 | UY | Uruguay | Antel | 748 | 01 |
74807 | UY | Uruguay | Telefónica Móviles Uruguay (Movistar) | 748 | 07 |
74810 | UY | Uruguay | AM Wireless Uruguay S.A. (Claro) | 748 | 10 |
43401 | UZ | Uzbekistan | Buztel | 434 | 01 |
43402 | UZ | Uzbekistan | Uzmacom | 434 | 02 |
43403 | UZ | Uzbekistan | Uzmobile (Uzbektelecom) | 434 | 03 |
43404 | UZ | Uzbekistan | Beeline (Unitel) | 434 | 04 |
43405 | UZ | Uzbekistan | UCell (Coscom) | 434 | 05 |
43406 | UZ | Uzbekistan | Perfectum (Rubicon) (CDMA) | 434 | 06 |
43407 | UZ | Uzbekistan | Universal Mobile Systems | 434 | 07 |
360070 | VC | Saint Vincent And The Grenadines | Digicel | 360 | 070 |
360100 | VC | Saint Vincent And The Grenadines | Cingular Wireless | 360 | 100 |
360110 | VC | Saint Vincent And The Grenadines | Lime (Cable & Wireless) (AT&T) | 360 | 110 |
73401 | VE | Venezuela | Digitel | 734 | 01 |
73404 | VE | Venezuela | Movistar | 734 | 04 |
73406 | VE | Venezuela | Movilnet | 734 | 06 |
348170 | VG | Virgin Islands (British) | Cable & Wireless (West Indies) | 348 | 170 |
348570 | VG | Virgin Islands (British) | Caribbean Cellular Telephone Ltd (CCT) | 348 | 570 |
348770 | VG | Virgin Islands (British) | Digicel (BVI) Limited | 348 | 770 |
45201 | VN | Vietnam | MobiFone | 452 | 01 |
45202 | VN | Vietnam | VinaPhone | 452 | 02 |
45204 | VN | Vietnam | Viettel Mobile (EVNTelecom) | 452 | 04 |
45205 | VN | Vietnam | Vietnam Mobile (Hanoi Telecom) | 452 | 05 |
45207 | VN | Vietnam | GTEL (formerly Beeline) | 452 | 07 |
54100 | VU | Vanuatu | ACeS International (AIL) | 541 | 00 |
54101 | VU | Vanuatu | Telecom Vanuatu (SMILE) | 541 | 01 |
54105 | VU | Vanuatu | Digicel | 541 | 05 |
54901 | WS | Samoa | Digicel | 549 | 01 |
54927 | WS | Samoa | SamoaTel | 549 | 27 |
22101 | XK | Kosovo | Vala | 221 | 01 |
22102 | XK | Kosovo | IPKO Telecommunications | 221 | 02 |
22103 | XK | Kosovo | MTS | 221 | 03 |
42101 | YE | Yemen | Sabafon | 421 | 01 |
42102 | YE | Yemen | Spacetel Yemen (MTN) | 421 | 02 |
42103 | YE | Yemen | Yemen Mobile | 421 | 03 |
42104 | YE | Yemen | Y (Hits-Unitel) | 421 | 04 |
65501 | ZA | South Africa | Vodacom | 655 | 01 |
65502 | ZA | South Africa | TELKOM SA (8TA) | 655 | 02 |
65506 | ZA | South Africa | Sentech (Pty) Ltd. | 655 | 06 |
65507 | ZA | South Africa | CELL C | 655 | 07 |
65510 | ZA | South Africa | MTN | 655 | 10 |
65511 | ZA | South Africa | SAPS Gauteng | 655 | 11 |
65521 | ZA | South Africa | Cape Town Metropolitan Counci | 655 | 21 |
65530 | ZA | South Africa | Bokamoso Consortium | 655 | 30 |
65531 | ZA | South Africa | Karabo Telecoms (Pty) Ltd. | 655 | 31 |
65532 | ZA | South Africa | Ilizwi Telecommunications | 655 | 32 |
65533 | ZA | South Africa | Thinta Thinta Telecommunications | 655 | 33 |
64501 | ZM | Zambia | Airtel (formerly Celtel/Zain) | 645 | 01 |
64502 | ZM | Zambia | MTN Zambia (Telecel Zambia) | 645 | 02 |
64503 | ZM | Zambia | Zamtel | 645 | 03 |
64801 | ZW | Zimbabwe | NetOne | 648 | 01 |
64803 | ZW | Zimbabwe | Telecel | 648 | 03 |
64804 | ZW | Zimbabwe | Econet | 648 | 04 |
0 | * | * | Unknown |
MC Object
Object that are inside the json of your event data
Contact
An object to describe the source and destination contact of a message.
List of Contact types:
- bot_username
- phone_num
- chat_id
Parameter | Type | Required | Description |
---|---|---|---|
type |
String | Required | Type of the contact object. |
id |
String | Required | The identifier of the contact object. |
Content
Text Content
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string: text |
text required |
string | The content string. Note for the maximum character limit imposed by the destination channel. |
preview_url optional |
boolean | Restricted string: true or false . When set to true, a preview of the URL from the text will be shown on the end user's handset.Default: false |
reply_to_msg_id optional |
string | Message ID of the message that was intended to be replied with. "Message ID" here refers to the "message_id" provided in the HTTP response after sending WhatsApp OR in the webhook of WhatsApp message. |
Rich Media Content
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string:
|
rich_media_url required |
string | The URL (direct link for download) of the hosted rich media. Supported rich media types by Official WhatsApp here |
text optional |
string | Caption for rich media type image. |
name optional |
string | Name for rich media type document. |
reply_to_msg_id optional |
string | Message ID of the message that was intended to be replied with. "Message ID" here refers to the "message_id" provided in the HTTP response after sending WhatsApp OR in the webhook of WhatsApp message. |
Rich Media Types
Rich media | Types | Size limit |
---|---|---|
image |
image/jpeg, image/png Images must be 8-bit, RGB or RGBA |
5MB |
audio |
audio/aac, audio/mp4, audio/mpeg, audio/amr, audio/ogg (only opus codecs, base audio/ogg is not supported) | 16MB |
document |
text/plain, application/pdf, application/vnd.ms-powerpoint, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | 100MB |
video |
video/mp4, video/3gp Note:
|
16MB |
sticker |
image/webp | Static stickers: 100KB Animated stickers: 500KB |
Reaction Content
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string: reaction |
text required |
string | Emoji of the reaction, need to encode it with UTF-16 unicode (escape sequences) To send emoji 👍, JSON string example: "text":"\uD83D\uDC4D" Note:
|
reply_to_msg_id required |
string | Message ID of the message that was intended to be replied with. "Message ID" here refers to the "message_id" provided in the HTTP response after sending WhatsApp OR in the webhook of WhatsApp message. |
Templates
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string: template |
wa_template required |
Whatsapp Template | The template and the parameters to be sent. |
Whatsapp Template
Parameter | Format | Description |
---|---|---|
name required |
string | Name of the template to be sent. |
language required |
string | Language selection for the template. |
header_params optional |
Array of Text or Rich Media Content | Parameters for filling in template headers. Template headers type can only be one of the following
Note:
|
body_params optional |
Array of Text | Parameters for filling in template body. Template body restricted type:
Note:
|
wa_buttons optional |
Array of Whatsapp Button | Parameters for buttons when available. Limitation is imposed to a maximum of 3 buttons per template message by WhatsApp. Note:
|
Whatsapp Button (Interactive message templates)
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string:
Note:
|
index required |
integer | Index of current button. "Index" here refers to the sequence number of a button. For example, the first added button during template creation, its index is 0, second added button, its index is 1 and so forth. |
payload required when type is quick_reply |
string | Payload of quick reply upon end user interaction. |
url_parameter required when type is url |
string | If the button is a dynamic website, please set a URL for customers to visit upon end user interaction. If the button is OTP copy code, please set an OTP code that allows the end user to click & copy it. |
Interactive Content
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string:
|
wa_interactive required |
Whatsapp Interactive | The interactive and the parameters to be sent |
Whatsapp Interactive
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string:
|
header required when type is product_list. Optional for other types |
Text or Rich Media Content | Parameter for filling in the interactive header. Header content displayed on top of a message can only be one of the following:
Note:
|
body optional for type product. Required for other message types |
Text Content | Parameter for filling in the interactive body. Body content restricted type:
Note:
|
footer optional |
Text Content | Parameter for filling in the interactive footer. Footer content restricted type:
Note:
|
action required |
Action | Action you want the user to perform after reading the message. For example, you can create an action with the main menu button that redirects to selection buttons after the user clicks it. You can also create an action for product messages that allow the user to place an order. |
Action
Parameter | Format | Description |
---|---|---|
button_text required when type is list |
string | The list is shown after pressing a button which displays this text. |
wa_buttons required when type is button |
Array of Whatsapp Button | Parameter for buttons when available. Limitation is imposed to a maximum of 3 buttons per message. |
catalog_id required when type is product, product_list |
string | The ID that uniquely identifies the catalog registered with Facebook and connected to the WhatsApp Business Account the sender phone number belongs to. |
product_retailer_id |
string | The ID that uniquely identifies the product in the catalog. |
sections |
Array of Section | Parameter for multi product sections when available. Limitation is imposed to a maximum of 10 and minimum of 1 section per message. |
Whatsapp Button (Interactive message)
Parameter | Format | Description |
---|---|---|
type required |
string | Restricted string:
|
title required |
string | Unique title of the button. |
id required |
string | Unique identifier for your button. This ID is returned in the webhook when the button is clicked by the user. Note:
|
Section
Parameter | Format | Description |
---|---|---|
title required if the message has more than one section |
string | Title of the section. |
rows required when type is list |
Array of Row | An array of rows sent within a section. Row object restricted string type parameters:
Note:
|
product_items required when type is product_list |
Array of Product Item | Parameter for filling in product items as defined in the catalog. Product item object restricted string type parameter:
Note:
|