SMSVIRO API DOCUMENTATION

Introduction

SMSVIRO API Documentation adalah dokumentasi yang kami sediakan untuk membantu Anda mengirimkan SMS melalui aplikasi lain.

Getting Started

Sebelum melakukan request API ada beberapa hal berikut yang perlu diperhatikan:

  1. Semua request dikirimkan dalam bentuk JSON.
  2. Pastikan Anda telah memiliki API Key yang digenerate pada Dashboard SMSVIRO. Klik Generate API Key untuk mengetahui cara generate API Key.
  3. Format penulisan API Key pada header adalah App {{API_KEY}}. API KEY Anda harus terdiri dari 69 karakter. Contoh App 5d3g0wk3y1cg20qk0mm4d8l8l419xny2-5z3xooay-7vpc-6z29-za3g-2fpj40mhs0m7.
  4. Pastikan nomor tujuan pada Body diawali dengan kode negara tanpa menggunakan simbol plus/tambah (+). Contoh: 628123456789 (Benar) , 08123456789 (Salah), +628123456789 (Salah).
  5. Klik link ini untuk mengunduh JSON Collection Postman.
  6. Atau klik tombol dibawah untuk run dengan Postman

Generate API Key

Berikut cara untuk generate API Key pada Dashboard SMSVIRO:

  1. Login pada Dashboard SMSVIRO Regular, SMSVIRO Premium, atau SMSVIRO International sesuai dengan jenis Akun Anda.
  2. Setelah berhasil Login, Klik Menu API Keys pada Kategori Developer Tools.
  3. Klik CREATE API KEY.
  4. Pada form, isi Name dengan nama API KEY. Setelah itu pilih roles, terdapat 3 pilihan pada roles:
    1. Public API: Memberikan akses ke semua API
    2. Two-factor authentication: Menyediakan akses untuk Anda yang memiliki aplikasi dengan menerapkan metode 2FA. Isi pesan berupa PIN yang dikirim melalui SMS ke nomor tujuan.
    3. Web SDK: Memberikan akses ke Web JS SDK

    Centang Public API, set tanggal expired API Key, dan tambahkan IP Addresses jika Anda ingin API hanya bisa diakses melalui IP Address tertentu. Lalu klik tombol GENERATE.
  5. Salin API Key yang sudah dibuat dengan cara klik icon copy sesuai gambar dibawah ini.

Send message

Berisi endpoint untuk mengirimkan pesan.

Send Text Message

Endpoint untuk mengirim pesan tunggal ke satu nomor tujuan atau lebih.

POST https://api.smsviro.com/restapi/sms/1/text/single

Header

Required String


Authorization

:

App {{API_KEY}}

API Key didapatkan dari Dashboard SMSVIRO.

Body

JSON Object

Parameter Tipe Data Deskripsi
from * String Sender ID
to * String Nomor tujuan. Jika ingin mengirimkan ke lebih dari satu nomor tujuan pisahkan nomor dengan tanda koma ( , )
text * String Isi pesan

Penting


Parameter yang ditandai dengan tanda ( * ) bersifat wajib.

Responses


Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

Parameter Deskripsi
messages Isi pesan
to Nomor tujuan
messageId ID yang secara unik mengidentifikasi pesan yang dikirim
smscount Jumlah pesan yang dikirim
status Status pengiriman pesan
groupId ID grup
groupName Nama grup
id ID status
name Nama status
description Deskripsi status

Penting


  1. Pastikan penulisan Sender ID benar terutama untuk penulisan huruf kapital. Sender ID/Masking name terdiri dari maksimal 11 karakter kombinasi huruf dan angka yang mewakili nama usaha Anda. Sender ID muncul sebagai nama pengirim SMS .
  2. Nomor tujuan dengan format 628123456789 (benar), 08123456789 (Salah) , +628123456789 (Salah) .
  3. Isi pesan tidak lebih dari 160 karakter. Jika melebihi batas maksimum akan dikenakan biaya lebih dari 1 sms.
                                                            
POST /restapi/sms/1/text/single HTTP/1.1
Host: api.smsviro.com
Content-Type: application/json
Authorization: App {{API_KEY}}
Content-Length: 86

{
    "from": "{{SENDER_ID}}",
    "to": "{{TO}}",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
}


                                                            
<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.smsviro.com/restapi/sms/1/text/single',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "from": "{{SENDER_ID}}",
    "to": "{{TO}}",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: App {{API_KEY}}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>


                                                            
curl --location 'https://api.smsviro.com/restapi/sms/1/text/single' \
--header 'Content-Type: application/json' \
--header 'Authorization: App {{API_KEY}}' \
--data '{
    "from": "{{SENDER_ID}}",
    "to": "{{TO}}",
    "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
}'          


Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

Status: 200 OK

Pesan berhasil dikirim


{
    "messages": [
        {
            "to": "6287654321",
            "status": {
                "groupId": 0,
                "groupName": "ACCEPTED",
                "id": 0,
                "name": "MESSAGE_ACCEPTED",
                "description": "Message accepted"
            },
            "smsCount": 1,
            "messageId": "MESSAGE-ID-123-xyz"
        }
    ]
}


Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

Status: 400 Bad Request

Penyebab gagal:

  1. Sender ID salah
  2. Format nomor tujuan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "BAD_REQUEST",
            "text": "Bad request"
        }
    }
}


Status: 401 Unauthorized

Penyebab gagal:

  1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
  2. API Key yang dimasukkan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "UNAUTHORIZED",
            "text": "Unauthorized"
        }
    }
}


Status: 500 Internal Server Error

Penyebab gagal:

  1. Server sistem sedang down
  2. Jika mengalami error tersebut, hubungi kami

{
    "requestError": {
        "serviceException": {
            "messageId": "GENERAL_ERROR",
            "text": "Something went wrong. Please contact support."
        }
    }
}



Send Text Message Multiple

Endpoint untuk mengirimkan pesan dengan Sender ID sama/berbeda ke satu nomor tujuan atau lebih secara bersamaan.

POST https://api.smsviro.com/restapi/sms/1/text/multi

Header

Required String


Authorization

:

App {{API_KEY}}

API Key didapatkan dari Dashboard SMSVIRO.

Body

JSON Object

Parameter Tipe Data Deskripsi
from * String Sender ID
to * String Nomor tujuan. Jika ingin mengirimkan ke lebih dari satu nomor tujuan pisahkan nomor dengan tanda koma ( , )
text * String Isi pesan

Penting


Parameter yang ditandai dengan tanda ( * ) bersifat wajib.

Responses


Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

Parameter Deskripsi
messages Isi pesan
to Nomor telepon tujuan
messageId ID yang secara unik mengidentifikasi pesan yang dikirim
bulkId ID yang secara unik mengidentifikasi permintaan. bulkId hanya akan diterima bila Anda mengirim pesan ke lebih dari satu alamat tujuan
smscount Jumlah pesan yang dikirim
status Status pengiriman pesan
groupId ID grup
groupName Nama grup
id ID status
name Nama status
description Deskripsi status

Penting


  1. Pastikan penulisan Sender ID benar terutama untuk penulisan huruf kapital. Sender ID/Masking name terdiri dari maksimal 11 karakter kombinasi huruf dan angka yang mewakili nama usaha Anda. Sender ID muncul sebagai nama pengirim SMS.
  2. Nomor tujuan dengan format 628123456789 (benar), 08123456789 (Salah) , +628123456789 (Salah) .
  3. Isi pesan tidak lebih dari 160 karakter. Jika melebihi batas maksmium akan dikenakan biaya lebih dari 1 sms.

POST /restapi/sms/1/text/multi HTTP/1.1
Host: api.smsviro.com
Content-Type: application/json
Authorization: App {{API_KEY}}
Content-Length: 476

{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        },
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}



<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.smsviro.com/restapi/sms/1/text/multi',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        },
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: App {{API_KEY}}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>



curl --location 'https://api.smsviro.com/restapi/sms/1/text/multi' \
--header 'Content-Type: application/json' \
--header 'Authorization: App {{API}}' \
--data '{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }, 
        {
            "from": "{{SENDER_ID}}",
            "to": [
                "{{TO}}"
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}'          


Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

Status: 200 OK

Pesan berhasil dikirim


{
    "bulkId": "BULK-ID-123-xyz",
    "messages": [
        {
            "to": "6287654321",
            "status": {
                "groupId": 0,
                "groupName": "ACCEPTED",
                "id": 0,
                "name": "MESSAGE_ACCEPTED",
                "description": "Message accepted"
            },
            "messageId": "MESSAGE-ID-123-xyz",
            "smsCount": 1
        }
    ]
}


Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

Status: 400 Bad Request

Penyebab gagal:

  1. Sender ID salah
  2. Format nomor tujuan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "BAD_REQUEST",
            "text": "Bad request"
        }
    }
}


Status: 401 Unauthorized

Penyebab gagal:

  1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
  2. API Key yang dimasukkan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "UNAUTHORIZED",
            "text": "Unauthorized"
        }
    }
}


Status: 500 Internal Server Error

Penyebab gagal:

  1. Server sistem sedang down
  2. Jika mengalami error tersebut, hubungi kami

{
    "requestError": {
        "serviceException": {
            "messageId": "GENERAL_ERROR",
            "text": "Something went wrong. Please contact support."
        }
    }
}



Send Text Message Advanced

Endpoint untuk mengirimkan pesan dengan Sender ID yang sama/berbeda ke satu nomor tujuan atau lebih secara bersamaan dengan opsi parameter lebih lanjut.

POST https://api.smsviro.com/restapi/sms/1/text/advanced

Header

Required String


Authorization

:

App {{API_KEY}}

API Key didapatkan dari Dashboard SMSVIRO.

Body

JSON Object

Parameter Tipe Data Deskripsi
from * String Sender ID
to * String Nomor tujuan. Jika ingin mengirimkan ke lebih dari satu nomor tujuan pisahkan nomor dengan tanda koma ( , )
text * String Isi pesan
bulkId String ID hanya diterima jika mengirimkan pesan ke banyak nomor atau mengirim pesan melalui 1 permintaan API.
messageId String ID untuk mengidentifikasi pesan yang dikirim.
flash Boolean Nilai default false. Jika nilainya true, SMS kilat akan dikirim. Jika tidak, SMS biasa akan dikirim.
transliteration String Konversi teks pesan dari satu skrip ke skrip lainnya. Value yang mungkin: “TURKISH”, “YUNANI”, "CYRILLIC", "CENTRAL_EUROPEAN".
languageCode String Menampilkan karakter dengan value: TR untuk bahasa Turki, ES untuk bahasa Spanyol dan PT untuk bahasa Portugis.
singleShift String Tabel shift tunggal menggantikan tabel ekstensi alfabet default GSM 7 bit.
notifyUrl String Delivery report akan dikirim pada URL yang diset sebagai penerima response API. Penjelasan lebih lanjut dapat dilihat pada Notify URL.
notify
ContentType
String Jenis konten delivery report application/json atau application/xml.
callbackData String Data client tambahan yang akan dikirim di NOTIFY URL.
validityPeriod Integer Masa berlaku pesan dalam hitungan menit. Jika periode berakhir, maka pesan tidak dapat dikirim. Lebih dari 48 jam tidak didukung. (diatur otomatis ke 48 jam).
sendAt DateTime Tanggal dan waktu saat pesan akan dikirim. Digunakan untuk schedule SMS. SMS tidak langsung terkirim, tapi sesuai waktu yang sudah dijadwalkan.

Penting


Parameter yang ditandai dengan tanda ( * ) bersifat wajib.

Responses


Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

Parameter Deskripsi
messages Isi pesan
to Nomor telepon tujuan
messageId ID yang secara unik mengidentifikasi pesan yang dikirim
smscount Jumlah pesan yang dikirim
status Status pengiriman pesan
groupId ID grup
groupName Nama grup
id ID status
name Nama status
description Deskripsi status

Penting


  1. Pastikan penulisan Sender ID benar terutama untuk penulisan huruf kapital. Sender ID/Masking name terdiri dari maksimal 11 karakter kombinasi huruf dan angka yang mewakili nama usaha Anda. Sender ID muncul sebagai nama pengirim SMS.
  2. Nomor tujuan dengan format 628123456789 (benar), 08123456789 (Salah) , +628123456789 (Salah) .
  3. Isi pesan tidak lebih dari 160 karakter. Jika melebihi batas maksmium akan dikenakan biaya lebih dari 1 sms.

Notify URL


Notify URL pada payload Body bersifat opsional (tidak wajib ada). Notify URL ini berfungsi untuk menerima perubahan status SMS yang dikirimkan oleh server SMSVIRO. Setiap ada perubahan status delivery pada SMS, maka data tersebut akan dikirimkan ke notify url.

Berikut contoh payload yang dikirimkan oleh server SMSVIRO ke Notify URL


    {
    "messageId": "MESSAGE-ID-123-xyz",
    "status": {
                    "groupId": 0,
                    "groupName": "ACCEPTED",
                    "id": 0,
                    "name": "MESSAGE_ACCEPTED",
                    "description": "Message accepted"
                }
    }                                                            



POST /restapi/sms/1/text/advanced HTTP/1.1
Host: api.smsviro.com
Content-Type: application/json
Authorization: App {{API_KEY}}
Content-Length: 1136

{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}",
                    "messageId": "{{MESSAGE_ID}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum.",
            "flash": false,
            "language": {
                "languageCode": "TR",
                "singleShift": true,
                "lockingShift": false
            },
            "transliteration": "TURKISH",
            "notifyUrl": "{{NOTIFY_URL}}",
            "notifyContentType": "{{NOTIFY_CONTENT_TYPE}}",
            "callbackData": "DLR callback data",
            "validityPeriod": 720,
            "sendAt": "{{SEND_AT}}"
        },
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}



<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.smsviro.com/restapi/sms/1/text/advanced',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}",
                    "messageId": "{{MESSAGE_ID}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum.",
            "flash": false,
            "language": {
                "languageCode": "TR",
                "singleShift": true,
                "lockingShift": false
            },
            "transliteration": "TURKISH",
            "notifyUrl": "{{NOTIFY_URL}}",
            "notifyContentType": "{{NOTIFY_CONTENT_TYPE}}",
            "callbackData": "DLR callback data",
            "validityPeriod": 720,
            "sendAt": "{{SEND_AT}}"
        },
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: App {{API_KEY}}'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>



curl --location 'https://api.smsviro.com/restapi/sms/1/text/advanced' \
--header 'Content-Type: application/json' \
--header 'Authorization: App {{API_KEY}}' \
--data '{
    "messages": [
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}",
                    "messageId": "{{MESSAGE_ID}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum.",
            "flash": false,
            "language": {
                "languageCode": "TR",
                "singleShift": true,
                "lockingShift": false
            },
            "transliteration": "TURKISH",
            "notifyUrl": "{{NOTIFY_URL}}",
            "notifyContentType": "{{NOTIFY_CONTENT_TYPE}}",
            "callbackData": "DLR callback data",
            "validityPeriod": 720,
            "sendAt": "{{SEND_AT}}"
        },
        {
            "from": "{{SENDER_ID}}",
            "destinations": [
                {
                    "to": "{{TO}}"
                }
            ],
            "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras interdum."
        }
    ]
}'


Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

Status: 200 OK

Pesan berhasil dikirim


{
    "bulkId": "BULK-ID-123-xyz",
    "messages": [
        {
            "to": "6287654321",
            "status": {
                "groupId": 0,
                "groupName": "ACCEPTED",
                "id": 0,
                "name": "MESSAGE_ACCEPTED",
                "description": "Message accepted"
            },
            "messageId": "MESSAGE-ID-123-xyz",
            "smsCount": 1
        }
    ]
}


Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

Status: 400 Bad Request

Penyebab gagal:

  1. Sender ID salah
  2. Format nomor tujuan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "BAD_REQUEST",
            "text": "Bad request"
        }
    }
}


Status: 401 Unauthorized

Penyebab gagal:

  1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
  2. API Key yang dimasukkan salah

{
    "requestError": {
        "serviceException": {
            "messageId": "UNAUTHORIZED",
            "text": "Unauthorized"
        }
    }
}


Status: 500 Internal Server Error

Penyebab gagal:

  1. Server sistem sedang down
  2. Jika mengalami error tersebut, hubungi kami

{
    "requestError": {
        "serviceException": {
            "messageId": "GENERAL_ERROR",
            "text": "Something went wrong. Please contact support."
        }
    }
}



Delivery Report

Endpoint untuk melihat status pengiriman pesan.

GET https://api.smsviro.com/restapi/sms/1/reports

Header

Required String


Authorization

:

App {{API_KEY}}

API Key didapatkan dari Dashboard SMSVIRO.

Body

JSON Object

Parameter Tipe Data Deskripsi
bulkId String ID hanya diterima jika mengirimkan pesan ke banyak nomor atau mengirim pesan melalui 1 permintaan API. Dan juga digunakan untuk mendapatkan delivery reports dan message logs
messageId String ID untuk mengidentifikasi pesan yang dikirim
limit Integer Membatasi limit report yang ingin ditampilkan

Responses


Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

Parameter Deskripsi
to Nomor telepon tujuan
bulkId ID yang secara unik mengidentifikasi permintaan. bulkId hanya akan diterima bila Anda mengirim pesan ke lebih dari satu alamat tujuan
messageId ID yang secara unik mengidentifikasi pesan yang dikirim
sentAt Tanggal dan waktu saat pesan dikirim
doneAt Tanggal dan waktu saat pesan berhasil dikirim
smsCount Jumlah pesan yang dikirim
price
  • pricePerMessage: Harga pengiriman per pesan
  • currency: Mata uang
  • status and error Status pengiriman pesan dan error. Penjelasan lebih lanjut dapat dilihat pada Status dan Error.

    Penting


    Jika melakukan request yang sama lagi maka Anda akan mendapatkan response berikut.

    
    {
        "results": []
    }
    
    
    
    Anda akan mendapatkan response kosong karena semua laporan pengiriman sudah terbaca pada request sebelumnya.
                                                                            
    GET /restapi/sms/1/reports HTTP/1.1
    Host: api.smsviro.com
    Authorization: App {{API_KEY}}
    Content-Length: 342
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="messageId"
    
    {{MESSAGE_ID}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="bulkId"
    
    {{BULK_ID}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="limit"
    
    {{LIMIT}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    
    
    
                                                                        
    <?php
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.smsviro.com/restapi/sms/1/reports',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_POSTFIELDS => array('messageId' => '{{MESSAGE_ID}}','bulkId' => '{{BULK_ID}}','limit' => '{{LIMIT}}'),
      CURLOPT_HTTPHEADER => array(
        'Authorization: App {{API_KEY}}'
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
    ?>
    
    
    
                                                                            
    curl --location --request GET 'https://api.smsviro.com/restapi/sms/1/reports' \
    --header 'Authorization: App {{API_KEY}}' \
    --form 'messageId="{{MESSAGE_ID}}"' \
    --form 'bulkId="{{BULK_ID}}"' \
    --form 'limit="{{LIMIT}}"'            
    
    
    

    Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

    Status: 200 OK

    Status pengiriman pesan berhasil ditampilkan

    
    {
        "results": [
            {
                "bulkId": "BULK-ID-123-xyz",
                "messageId": "MESSAGE-ID-123-xyz",
                "to": "6287654321",
                "sentAt": "2015-02-12T09:58:20.323+0100",
                "doneAt": "2015-02-12T09:58:20.337+0100",
                "smsCount": 1,
                "price": {
                    "pricePerMessage": 585.0,
                    "currency": "IDR"
                },
                "status": {
                    "id": 5,
                    "groupId": 3,
                    "groupName": "DELIVERED",
                    "name": "DELIVERED_TO_HANDSET",
                    "description": "Message delivered to handset"
                },
                "error": {
                    "groupId": 0,
                    "groupName": "OK",
                    "id": 0,
                    "name": "NO_ERROR",
                    "description": "No Error",
                    "permanent": false
                }
            }
        ]
    }
    
    
    

    Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

    Status: 401 Unauthorized

    Penyebab gagal:

    1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
    2. API Key yang dimasukkan salah
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "UNAUTHORIZED",
                "text": "Unauthorized"
            }
        }
    }
    
    
    

    Status: 500 Internal Server Error

    Penyebab gagal:

    1. Server sistem sedang down
    2. Jika mengalami error tersebut, hubungi kami
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "GENERAL_ERROR",
                "text": "Something went wrong. Please contact support."
            }
        }
    }
    
    
    

    Logs

    Endpoint untuk melihat semua history pesan yang dikirim.

    GET https://api.smsviro.com/restapi/sms/1/logs

    Header

    Required String


    Authorization

    :

    App {{API_KEY}}

    API Key didapatkan dari Dashboard SMSVIRO.

    Body

    JSON Object

    Parameter Tipe Data Deskripsi
    from String Sender ID
    to String Nomor tujuan. Jika ingin mengirimkan ke lebih dari satu nomor tujuan pisahkan nomor dengan tanda koma ( , )
    text String Isi pesan
    bulkId String ID hanya diterima jika mengirimkan pesan ke banyak nomor atau mengirim pesan melalui 1 permintaan API. Dan juga digunakan untuk mendapatkan delivery reports dan message logs
    messageId String ID untuk mengidentifikasi pesan yang dikirim
    generalStatus String Status pengiriman SMS
    sentSince Date Batas limit tanggal dan waktu pengiriman SMS
    sentUntil Date Batas akhir tanggal dan waktu pengiriman SMS
    limit Date Batas akhir tanggal dan waktu pengiriman SMS
    mcc String Mobile country code
    mnc String Mobile country code

    Penting


    Penjelasan lebih lanjut mengenai mcc dan mnc dapat dilihat pada link ini.

    Responses


    Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

    Parameter Deskripsi
    to Nomor telepon tujuan
    bulkId ID yang secara unik mengidentifikasi permintaan. bulkId hanya akan diterima bila Anda mengirim pesan ke lebih dari satu alamat tujuan
    messageId ID yang secara unik mengidentifikasi pesan yang dikirim
    sentAt Tanggal dan waktu saat pesan dikirim
    doneAt Tanggal dan waktu saat pesan berhasil dikirim
    smsCount Jumlah pesan yang dikirim
    price
  • pricePerMessage: Harga pengiriman per pesan
  • currency: Mata uang
  • status and error Status pengiriman pesan dan error. Penjelasan lebih lanjut dapat dilihat pada Status dan Error.

                                                                        
    GET /restapi/sms/1/logs HTTP/1.1
    Host: api.smsviro.com
    Authorization: App {{API_KEY}}
    Content-Length: 871
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="from"
    
    {{SENDER_ID}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="to"
    
    {{TO}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="bulkId"
    
    {{BULK_ID}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="messageId"
    
    {{MESSAGE_ID}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="generalStatus"
    
    DELIVERED
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="sentSince"
    
    2019-11-09T16:00:00.000+0000
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="sentUntil"
    
    2019-11-09T16:00:00.000+0000
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="limit"
    
    {{LIMIT}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    Content-Disposition: form-data; name="MCC"
    
    {{MCC}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="MNC"
    
    {{MNC}}
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    
    
    
                                                                        
    <?php
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.smsviro.com/restapi/sms/1/logs',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_POSTFIELDS => array('from' => '{{SENDER_ID}}','to' => '{{TO}}','bulkId' => '{{BULK_ID}}','messageId' =>
      '{{MESSAGE_ID}}','generalStatus' => 'DELIVERED','sentSince' => '2019-11-09T16:00:00.000+0000','sentUntil' => 
      '2019-11-09T16:00:00.000+0000','limit' => '{{LIMIT}}', 'MCC' => '{{MCC}}','MNC' => '{{MNC}}'),
      CURLOPT_HTTPHEADER => array(
        'Authorization: App {{API_KEY}}'
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
    ?>
    
    
    
                                                                        
    curl --location --request GET 'https://api.smsviro.com/restapi/sms/1/logs' \
    --header 'Authorization: App {{API_KEY}}' \
    --form 'from="{{SENDER_ID}}"' \
    --form 'to="{{TO}}"' \
    --form 'bulkId="{{BULK_ID}}"' \
    --form 'messageId="{{MESSAGE_ID}}"' \
    --form 'generalStatus="DELIVERED"' \
    --form 'sentSince="2019-11-09T16:00:00.000+0000"' \
    --form 'sentUntil="2019-11-09T16:00:00.000+0000"' \
    --form 'limit="{{LIMIT}}"'\
    --form 'MCC="{{MCC}}"' \
    --form 'MNC="{{MNC}}"'
    
    
    

    Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

    Status: 200 OK

    History pengiriman pesan berhasil ditampilkan

    
    {
        "results": [
            {
                "messageId": "MESSAGE-ID-123-xyz",
                "to": "6287654321",
                "from": "infoSMS",
                "text": "This is a sample message",
                "sentAt": "2023-08-14T07:29:23.288+0000",
                "doneAt": "2023-08-14T07:29:24.570+0000",
                "smsCount": 1,
                "mccMnc": "51010",
                "price": {
                    "pricePerMessage": 585.0,
                    "currency": "IDR"
                },
                "status": {
                    "groupId": 3,
                    "groupName": "DELIVERED",
                    "id": 5,
                    "name": "DELIVERED_TO_HANDSET",
                    "description": "Message delivered to handset"
                },
                "error": {
                    "groupId": 0,
                    "groupName": "OK",
                    "id": 0,
                    "name": "NO_ERROR",
                    "description": "No Error",
                    "permanent": false
                },
                "applicationId": "default"
            }
        ]
    }
    
    
    

    Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

    Status: 401 Unauthorized

    Penyebab gagal:

    1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
    2. API Key yang dimasukkan salah
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "UNAUTHORIZED",
                "text": "Unauthorized"
            }
        }
    }
    
    
    

    Status: 500 Internal Server Error

    Penyebab gagal:

    1. Server sistem sedang down
    2. Jika mengalami error tersebut, hubungi kami
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "GENERAL_ERROR",
                "text": "Something went wrong. Please contact support."
            }
        }
    }
    
    
    

    Get Account Balance

    Endpoint untuk menampilkan saldo akun.

    GET https://api.smsviro.com/restapi/account/1/balance

    Header

    Required String


    Authorization

    :

    App {{API_KEY}}

    API Key didapatkan dari Dashboard SMSVIRO.

    Responses


    Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

    Parameter Deskripsi
    balance Saldo akun
    currency Mata uang

                                                                        
    GET /restapi/account/1/balance HTTP/1.1
    Host: api.smsviro.com
    Authorization: App {{API_KEY}}
    
    
    
                                                                        
    <?php
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://api.smsviro.com/restapi/account/1/balance',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_HTTPHEADER => array(
        'Authorization: App {{API_KEY}}'
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
    ?>
    
    
    
                                                                        
    curl --location 'https://api.smsviro.com/restapi/account/1/balance' \
    --header 'Authorization: App {{API_KEY}}'
    
    
    

    Penjelasan lebih lanjut mengenai status pesan dapat dilihat pada Statuses Groups.

    Status: 200 OK

    Saldo akun berhasil ditampilkan

    
    {
        "balance": 47.79134,
        "currency": "IDR"
    }
    
    
    

    Penjelasan lebih lanjut mengenai pesan error dapat dilihat pada Errors Groups.

    Status: 401 Unauthorized

    Penyebab gagal:

    1. Format penulisan API Key pada header salah. Format yang benar adalah App {{API_KEY}}
    2. API Key yang dimasukkan salah
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "UNAUTHORIZED",
                "text": "Unauthorized"
            }
        }
    }
    
    
    

    Status: 500 Internal Server Error

    Penyebab gagal:

    1. Server sistem sedang down
    2. Jika mengalami error tersebut, hubungi kami
    
    {
        "requestError": {
            "serviceException": {
                "messageId": "GENERAL_ERROR",
                "text": "Something went wrong. Please contact support."
            }
        }
    }
    
    
    

    Status dan Error

    Berikut penjelasan mengenai response yang akan tampil setelah melakukan request:

    Statuses Groups


    GroupId GroupName Description
    0 ACCEPTED Pesan diterima
    1 PENDING Pesan telah diproses dan dikirim ke nomor tujuan
    2 UNDELIVERABLE Pesan belum terkirim
    3 DELIVERED Pesan telah berhasil diproses dan dikirimkan
    4 EXPIRED Pesan telah terkirim, dan telah kedaluwarsa karena melewati masa berlaku yaitu 48 jam
    5 REJECTED Pesan telah diterima, namun ditolak oleh operator

    Contoh response pesan mendapatkan status terkirim ke nomor tujuan:

    
    {
    "groupId": 3,
    "groupName": "DELIVERED",
    "id": 5,
    "name": "DELIVERED_TO_HANDSET",
    "description": "Message delivered to handset"
    }
    
    
    

    Status Codes


    GroupId Id GroupName Description
    1 3 PENDING_WAITING_DELIVERY Pesan telah diproses dan dikirim ke operator. Laporan pengiriman belum diterima sehingga statusnya masih pending.
    7 PENDING_ENROUTE Pesan telah diproses dan dikirim ke operator.
    26 PENDING_ACCEPTED Pesan telah diterima dan diproses, dan siap dikirim ke operator berikutnya.
    2 4 UNDELIVERABLE_REJECTED_OPERATOR Pesan telah terkirim ke operator, namun permintaan ditolak.
    9 UNDELIVERABLE_NOT_DELIVERED Pesan telah terkirim ke operator, namun gagal terkirim ke nomor tujuan.
    3 2 DELIVERED_TO_OPERATOR Pesan telah berhasil terkirim ke operator.
    5 DELIVERED_TO_HANDSET Pesan telah berhasil diproses dan dikirimkan ke penerima.
    4 15 EXPIRED_EXPIRED Pesan telah diterima dan dikirim ke operator, namun masih tertunda hingga masa berlakunya habis, operator mengembalikan status EXPIRED untuk sementara.
    29 EXPIRED_DLR_UNKNOWN Pesan telah diterima dan diteruskan ke operator untuk dikirimkan, namun laporan pengiriman dari operator belum diformat dengan benar, atau belum diakui sah.
    5 6 REJECTED_NETWORK Pesan telah diterima, namun jaringan berada di luar jangkauan.
    8 REJECTED_PREFIX_MISSING Pesan telah diterima, namun ditolak karena nomornya tidak dikenali karena awalan atau panjang nomor salah.
    10 REJECTED_DND Pesan telah diterima, dan ditolak karena pengguna menggunakan mode DND (Jangan Ganggu).
    11 REJECTED_SOURCE Akun Anda diatur untuk hanya menerima ID pengirim yang terdaftar sedangkan ID pengirim yang ditentukan dalam permintaan belum terdaftar di akun Anda.
    12 REJECTED_NOT_ENOUGH_CREDITS Saldo habis. Silakan isi ulang akun Anda pada link ini.
    13 REJECTED_SENDER ID pengirim telah masuk pada daftar blacklist di akun Anda, hapus daftar blacklist di akun Anda atau hubungi kami untuk bantuan lebih lanjut.
    14 REJECTED_DESTINATION Nomor tujuan telah masuk daftar blacklist baik atas permintaan operator maupun pada akun Anda.
    17 REJECTED_PREPAID_PACKAGE_EXPIRED Kredit akun telah habis masa berlakunya. Silakan isi ulang saldo untuk memperpanjang masa berlaku.
    18 REJECTED_DESTINATION_NOT_REGISTERED Akun Anda telah disiapkan untuk pengiriman hanya ke satu nomor tujuan.
    19 REJECTED_ROUTE_NOT_AVAILABLE Pesan telah diterima di sistem, namun akun Anda belum dikonfigurasi untuk mengirim pesan sehingga tidak ada rute di akun Anda yang tersedia untuk pengiriman lebih lanjut.
    20 REJECTED_FLOODING_FILTER Pesan telah ditolak karena Flooding. Secara default, satu nomor hanya dapat menerima 20 pesan bervariasi dan 6 pesan identik per jam.
    21 REJECTED_SYSTEM_ERROR Permintaan telah ditolak karena ada kesalahan sistem, silakan coba lagi pengiriman atau hubungi kami untuk lebih jelasnya.
    23 REJECTED_DUPLICATE_MESSAGE_ID Permintaan telah ditolak karena adanya duplikat ID pesan yang ditentukan dalam permintaan pengiriman, sedangkan ID pesan harus berupa nilai unik.
    24 REJECTED_INVALID_UDH Pesan telah diterima, sementara sistem kami mendeteksi bahwa pesan tersebut diformat secara tidak benar karena parameter kelas ESM yang tidak valid atau jumlah karakter yang tidak akurat saat menggunakan esmclass:64 (UDH). Untuk informasi lebih lanjut, silakan kunjungi artikel di bawah ini User Data Header atau Concatenated SMS.
    25 REJECTED_MESSAGE_TOO_LONG Pesan telah diterima, tetapi panjang pesan lebih dari 25 bagian atau teks pesan melebihi 4000 byte sesuai batasan sistem kami.
    51 MISSING_TO Permintaan telah diterima, namun parameter TO belum isi atau kosong. Maka harus ada Sender ID yang valid untuk mengirim pesan.
    52 REJECTED_INVALID_DESTINATION Permintaan telah diterima, namun tujuannya tidak valid. Awalan nomor salah karena tidak cocok dengan awalan nomor yang valid oleh operator seluler mana pun. Panjang nomor juga menjadi pertimbangan dalam memverifikasi validitas nomor.

    Errors Groups


    GroupId GroupName Description
    0 OK Tidak error, pengiriman berhasil
    1 HANDSET_ERRORS Terjadi kesalahan pada ponsel
    2 USER_ERRORS Terjadi kesalahan pada pengguna
    3 OPERATOR_ERRORS Terjadi kesalahan pada operator

    Penting


    Semua pesan dengan status error, saldo akan tetap terpotong kecuali pesan error REJECTED.

    Contoh response pesan yang gagal dikirim karena error:

    
    {
        "groupId": 1,
        "groupName": "HANDSET_ERRORS",
        "id": 13,
        "name": "EC_CALL_BARRED",
        "description": "Handset error occurred",
        "permanent": false
    }
    
    
    

    Error Codes


    Group Id Id GroupName Is Permanent Description
    1 1 EC_UNKNOWN_SUBSCRIBER TRUE Nomor tersebut tidak ada atau belum menjadi pelanggan aktif mana pun di database operator.
    5 EC_UNIDENTIFIED_SUBSCRIBER FALSE Pelanggan tak dikenal.
    6 EC_ABSENT_SUBSCRIBER_SM FALSE Pelanggan tidak tersedia, karena tidak ada respon dari handset. Hal ini sering terjadi karena handset dimatikan atau berada di area dengan sinyal rendah. Berlaku untuk protokol MAP versi 3.
    7 EC_UNKNOWN_EQUIPMENT FALSE Perangkat seluler belum dikenali oleh EIR (Equipment Identity Register), selama verifikasi perangkat pada tingkat protokol MAP di infrastruktur operator.
    8 EC_ROAMING_NOT_ALLOWED FALSE Pelanggan saat ini sedang roaming di negara lain atau infrastruktur operator lain. Pengiriman roaming tidak bisa karena kurangnya perjanjian roaming antara banyak operator berbeda.
    9 EC_ILLEGAL_SUBSCRIBER TRUE Pelanggan Ilegal.
    11 EC_TELESERVICE_NOT_PROVISIONED TRUE Layanan seluler telah ditangguhkan oleh operator.
    12 EC_ILLEGAL_EQUIPMENT TRUE Illegal Equipment.
    13 EC_CALL_BARRED FALSE Pelanggan menggunakan metode DND (Jangan Ganggu).
    21 EC_FACILITY_NOT_SUPPORTED FALSE Fasilitas tidak didukung.
    27 EC_ABSENT_SUBSCRIBER FALSE Pelanggan sedang offline di jaringan. Hal ini sering terjadi karena handset dimatikan.
    31 EC_SUBSCRIBER_BUSY_FOR_MT_SMS FALSE Pelanggan sibuk untuk MT SMS.
    32 EC_SM_DELIVERY_FAILURE FALSE Gagal pengiriman.
    33 EC_MESSAGE_WAITING_LIST_FULL FALSE Pesan Waiting List penuh.
    34 EC_SYSTEM_FAILURE FALSE Sistem gagal.
    35 EC_DATA_MISSING FALSE Data hilang.
    36 EC_UNEXPECTED_DATA_VALUE FALSE Value data tidak terduga.
    255 EC_UNKNOWN_ERROR FALSE Kesalahan yang tidak diketahui.
    256 EC_SM_DF_MEMORYCAPACITYEXCEEDED FALSE Memori SM DF melebihi kapasitas.
    257 EC_SM_DF_EQUIPMENTPROTOCOLERROR FALSE Kesalahan Protokol Equipment SM DF.
    258 EC_SM_DF_EQUIPMENTNOTSM_EQUIPPED FALSE Equipment SM DF tidak dilengkapi SM.
    259 EC_SM_DF_UNKNOWNSERVICECENTRE FALSE Layanan SM DF tidak diketahui.
    260 EC_SM_DF_SC_CONGESTION FALSE Congestion SM DF SC.
    261 EC_SM_DF_INVALIDSME_ADDRESS FALSE Alamat SM DF tidak valid.
    262 EC_SM_DF_SUBSCRIBERNOTSC_SUBSCRIBER FALSE Pelanggan SM DF bukan Pelanggan SC.
    500 EC_PROVIDER_GENERAL_ERROR FALSE Kesalahan umum penyedia.
    502 EC_NO_RESPONSE FALSE Pesan telah berhasil diproses dan diteruskan ke operator, namun tidak ada respons yang dikembalikan dari operator. Kesalahan ini juga berlaku untuk kesalahan serupa pada tingkat jaringan SS7.
    503 EC_SERVICE_COMPLETION_FAILURE FALSE Layanan gagal.
    504 EC_UNEXPECTED_RESPONSE_FROM_PEER FALSE Respon tak terduga dari rekan.
    507 EC_MISTYPED_PARAMETER FALSE Salah ketik parameter.
    508 EC_NOT_SUPPORTED_SERVICE FALSE Layanan tidak didukung.
    509 EC_DUPLICATED_INVOKE_ID FALSE ID duplikat.
    1024 EC_OR_APPCONTEXTNOTSUPPORTED FALSE Konteks aplikasi tidak didukung.
    1025 EC_OR_INVALIDDESTINATIONREFERENCE FALSE Referensi tujuan tidak valid.
    1026 EC_OR_INVALIDORIGINATINGREFERENCE FALSE Referensi asal tidak valid.
    1027 EC_OR_ENCAPSULATEDAC_NOTSUPPORTED FALSE AC tidak didukung.
    1028 EC_OR_TRANSPORTPROTECTIONNOTADEQUATE FALSE Protect Transportasi Tidak Memadai.
    1029 EC_OR_NOREASONGIVEN FALSE Tidak ada alasan yang diberikan.
    1030 EC_OR_POTENTIALVERSIONINCOMPATIBILITY FALSE Ada potensi versi tidak cocok.
    1031 EC_OR_REMOTENODENOTREACHABLE FALSE Node jarak jauh tidak dapat dijangkau.
    1152 EC_NNR_NOTRANSLATIONFORANADDRESSOFSUCHNATURE FALSE Tidak ada terjemahan untuk alamat yang sifatnya seperti ini.
    1153 EC_NNR_NOTRANSLATIONFORTHISSPECIFICADDRESS FALSE Tidak ada terjemahan untuk alamat khusus ini.
    1154 EC_NNR_SUBSYSTEMCONGESTION FALSE Congestion Subsistem.
    1155 EC_NNR_SUBSYSTEMFAILURE FALSE Subsistem Gagal.
    1156 EC_NNR_UNEQUIPPEDUSER FALSE Pengguna tidak dilengkap.
    1157 EC_NNR_MTPFAILURE FALSE Kegagalan MTP.
    1158 EC_NNR_NETWORKCONGESTION FALSE Permintaan gagal karena kemacetan jaringan pada saat pengajuan.
    1159 EC_NNR_UNQUALIFIED FALSE Tidak memenuhi syarat.
    1160 EC_NNR_ERRORINMESSAGETRANSPORTXUDT FALSE Kesalahan dalam transportasi Pesan XUDT.
    1161 EC_NNR_ERRORINLOCALPROCESSINGXUDT FALSE Kesalahan dalam pemrosesan lokal XUDT.
    1162 EC_NNR_DESTINATIONCANNOTPERFORMREASSEMBLYXUDT FALSE Tujuan tidak dapat melakukan Reassembly XUDT.
    1163 EC_NNR_SCCPFAILURE FALSE SCCP gagal.
    1164 EC_NNR_HOPCOUNTERVIOLATION FALSE Pelanggaran penghitung HOP.
    1165 EC_NNR_SEGMENTATIONNOTSUPPORTED FALSE Segmentasi tidak didukung.
    1166 EC_NNR_SEGMENTATIONFAILURE FALSE Segmentasi gagal.
    1281 EC_UA_USERSPECIFICREASON FALSE Alasan khusus pengguna.
    1282 EC_UA_USERRESOURCELIMITATION FALSE Keterbatasan sumber daya pengguna.
    1283 EC_UA_RESOURCEUNAVAILABLE FALSE Sumber daya tidak tersedia.
    1284 EC_UA_APPLICATIONPROCEDURECANCELLATION FALSE Pembatalan prosedur permohonan.
    1536 EC_UA_APPLICATIONPROCEDURECANCELLATION FALSE Kerusakan penyedia.
    1537 EC_PA_SUPPORTINGDIALOGORTRANSACTIONREALEASED FALSE Dialog pendukung atau transaksi diluncurkan kembali.
    1538 EC_PA_RESSOURCELIMITATION FALSE Keterbatasan sumber daya.
    1539 EC_PA_MAINTENANCEACTIVITY FALSE Maintenance.
    1540 EC_PA_VERSIONINCOMPATIBILITY FALSE Versi tidak cocok.
    1541 EC_PA_ABNORMALMAPDIALOG FALSE MAP DIALOG tidak normal.
    1792 EC_NC_ABNORMALEVENTDETECTEDBYPEER FALSE Peristiwa tidak normal terdeteksi.
    1793 EC_NC_RESPONSEREJECTEDBYPEER FALSE Tanggapan ditolak.
    1794 EC_NC_ABNORMALEVENTRECEIVEDFROMPEER FALSE Peristiwa tidak normal diterima.
    1795 EC_NC_MESSAGECANNOTBEDELIVEREDTOPEER FALSE Pesan tidak dapat dikirim.
    1796 EC_NC_PROVIDEROUTOFINVOKE FALSE Penyedia keluar dari panggilan.
    2 2049 EC_IMSI_BLACKLISTED TRUE IMSI masuk daftar blacklist.
    2052 EC_BLACKLISTED_DESTINATIONADDRESS TRUE Nomor tujuan masuk daftar blacklist.
    2053 EC_BLACKLISTED_SENDERADDRESS TRUE Nomor pengirim masuk daftar blacklist.
    4096 EC_INVALID_PDU_FORMAT TRUE Format PDU tidak valid.
    4099 EC_MONTHLY_LIMIT_REACHED TRUE Batas kredit bulanan akun Anda telah limit.
    4100 EC_MESSAGE_CANCELED TRUE Permintaan telah diterima, namun belum dikirim ke instance berikutnya.
    4101 EC_VALIDITYEXPIRED TRUE Pesan dikirim ke instance berikutnya, dan belum terkirim dalam masa berlaku pesan, sehingga kedaluwarsa.
    4102 EC_NOTSUBMITTEDTOSMPPCHANNEL TRUE SM masuk tidak dapat ditransfer melalui SMPP karena kurangnya konektivitas SMPP.
    4103 EC_DESTINATION_FLOODING TRUE Pesan ditolak karena banyaknya pesan yang dikirim ke satu nomor.
    4104 EC_DESTINATION_TXT_FLOODING TRUE Pesan ditolak karena banyaknya pesan identik yang dikirim ke satu nomor.
    3 10 EC_BEARER_SERVICE_NOT_PROVISIONED TRUE Layanan tidak disediakan.
    20 EC_SS_INCOMPATIBILITY FALSE SS tidak cocok.
    51 EC_RESOURCE_LIMITATION TRUE Operasi MAP tidak dapat diselesaikan karena kesalahan jaringan SS7 pada tingkat protokol MAP.
    71 EC_UNKNOWN_ALPHABET FALSE Alfabet tidak diketahui.
    501 EC_INVALID_RESPONSE_RECEIVED FALSE Respons tidak valid
    2048 EC_TIME_OUT FALSE Waktu habis.
    2050 EC_DEST_ADDRESS_BLACKLISTED TRUE Nomor tersebut masuk pada daftar blacklist DND (Jangan Ganggu).
    2051 EC_INVALIDMSCADDRESS FALSE Teks masuk pada daftar blacklist.
    4097 EC_NOTSUBMITTEDTOGMSC FALSE Tidak Diserahkan Ke GMSC.
    4102 EC_NOTSUBMITTEDTOSMPPCHANNEL TRUE Tidak Dikirim Ke SMPP.