BUSINESS SMS API

SMS API for Businesses in Mexico

Integrate SMS sending into your systems through a REST API or an SMPP connection, with token authentication, allowlisted IPs, optional content encryption and real-time delivery reports.

An API built for critical messaging

An SMS API lets your applications —core banking, CRM, ERP, e-commerce platform or your own backend— send text messages automatically, with no manual work. At Grupo Tecnophone we designed it for operations where every message matters: OTP codes, security alerts, transaction confirmations and large-scale notifications for banking, fintech, retail and government.

The difference between “sending an SMS” and running business messaging lies in everything around the send: strong authentication, control over where requests come from, number normalization, efficient encoding, traceability for every message and specialized support when something fails in production. Our platform has processed more than 140 million SMS with delivery rates above 99%.

Two ways to integrate: REST API and SMPP

AspectREST APISMPP
ProtocolHTTPS with JSONPersistent TCP sessions (SMPP 3.4)
Best forApplications and backends sending OTPs, alerts and notificationsPlatforms with high, sustained traffic and teams with telecom experience
AuthenticationPer-connection Bearer token + allowlisted IPsSession credentials (system_id) + allowlisted IPs
Delivery reportsWebhooks to your endpointdeliver_sm PDU within the session
Integration complexityLow: one HTTP request per messageMedium-high: sessions, windowing and reconnection

Most companies start with the REST API and consider an SMPP connection when sustained volume or their architecture justify it. Both share the same routing, reporting and support platform.

How the REST API works

  1. Create an API connection in the web panel (app.grupotecnophone.com) under API Connections → SMS.
  2. Copy the assigned Bearer Token, one for sandbox and one for production.
  3. Register the IP addresses your system will call from.
  4. Choose whether the connection uses plain text or content encryption.
  5. Validate your integration in the sandbox, which checks token, IP, payload and encryption without sending real SMS.
  6. Switch to the production endpoint.

A send request is a POST call with a JSON body containing the recipient and the text:

curl -X POST https://api.grupotecnophone.com/prod/v1/sms/send \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -H "User-Agent: MyCompany/1.0" \
  -d '{"to":"+525512345678","body":"Your verification code is 482913. It expires in 5 minutes."}'

The response includes a unique message identifier (sid), the applied encoding and the number of segments, so you can reconcile each send with its delivery report and with billing. The API documentation includes official examples in cURL, PHP, Python, Node.js and Java.

Security by design

  • Mandatory HTTPS for all communication.
  • Per-connection Bearer token, separate for sandbox and production.
  • Allowlisted IPs: a request with a valid token from an unregistered IP is rejected.
  • Optional content encryption: the destination number and the text can be sent encrypted with RSA-OAEP (SHA-256) and Base64.
  • Identifiable User-Agent to audit which application originates each send.
  • Blacklists to prevent sending to opted-out or blocked numbers.

Delivery reports (DLR) and webhooks

Knowing a message was sent is not enough: in critical operations you need to know it arrived. Each SMS generates a delivery report (DLR) with its final status, which the platform can push to your system via webhooks, with no polling. Webhooks, DLRs and encryption carry no extra cost: you pay per message sent. Learn more in how delivery reports and webhooks work.

Encoding and cost per segment

An SMS holds up to 160 characters in GSM-7 or 70 in UCS-2. A single unsupported accent can switch the encoding and double the segments. You choose the encoding per connection: with GSM-7, the platform automatically normalizes unsupported characters to avoid extra cost; with UCS-2 enabled, it uses GSM-7 whenever possible. See SMS character limits.

Number validation before sending

The API accepts numbers in E.164 or national format and normalizes the prefix according to the connection settings. Each number is also checked against Mexico’s National Numbering Plan to tell mobile from landline numbers, avoiding charges for messages that cannot be delivered.

Use cases

Engineering support, not just a help desk

We support your integration with specialized, priority support and build custom adaptations when your case requires it. To try the API with your own flow, we offer a 30-day pilot. See also our developer guide.

Frequently asked questions about the SMS API

Scroll to Top