A2P Messaging API · SMPP
SMPP authentication
The A2P Messaging API over SMPP authenticates each session with a system_id and password carried on the bind PDU. Credentials are issued in the dashboard once SMPP is enabled on the account.
SMPP authentication is per-session, not per-request. The client binds once, authenticates with system_id + password, and keeps the TCP connection open for the rest of the traffic window.
Enabling SMPP on your account
SMPP is not available by default: you request it from the dashboard, and it needs two things on your account:
- SMPP access. In the A2P Messaging API project, the SMS channel's Settings tab has an SMPP block that shows whether it is on; you can't switch it yourself. While it is off, Request SMPP opens the support chat with your request, and Instasent enables SMPP for your organization.
- The wildcard route. SMPP traffic
always carries your customer's own sender name in
source_addr, so it relies on the route that carries senders not registered in your account. The route is for wholesale providers and is requested from the same Settings tab, with your wholesale legal profile.
Both statuses are also in the Wholesale providers section of the SMS channel's right-hand panel, with a Request button on whichever is off. If SMPP is on but the wildcard route isn't, the SMPP block says that SMPP keys also need the route.
Without both, SMPP keys can't be created, and so nothing can be sent over SMPP. On an API key, the Send SMS through SMPP option stays disabled, and its tooltip says what is missing:
- Without SMPP access — "Needs extra access for your organization. Contact us to enable it."
- Without the wildcard route — "Needs the wildcard route. Request it in the SMS channel settings.", with a Request it in SMS settings link under the options.
A key that already has SMPP keeps it. Once both are in place, an api_sms key with Send SMS
through SMPP exposes an extra pair of credentials — systemID and password — for use over
SMPP. The key's HTTP token remains usable in parallel.
Server endpoint
| Field | Value |
|---|---|
| Host | smpp.instasent.com |
| Port | 2775 |
| Protocol versions | SMPP v3.4 and SMPP v5.0 |
Binding
Use bind_transceiver, bind_transmitter or bind_receiver depending on the direction of traffic you need (see Integration). The required fields are the same on all three.
| Field | Description |
|---|---|
system_id | SMPP username, as shown next to the token in the dashboard. |
password | SMPP password, paired with the system_id. |
Example PDU:
{
"command": "bind_transceiver",
"command_id": 9,
"system_id": "myuser",
"password": "mypass"
}What's next
- Integration — PDUs supported, sending, concatenation, DLRs, inbound messages.
Last updated