Skip to content

SMS

Jina Connect supports SMS through three providers, each with their own strengths:

ProviderBest ForDLT SupportInbound
TwilioGlobal messagingNoYes
MSG91India (DLT compliant)YesNo
Fast2SMSIndia (DLT compliant)YesNo
  1. Create an SMS App for your tenant

    Terminal window
    curl -X POST http://localhost:8000/sms/v1/apps/ \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
    "name": "My SMS App",
    "provider": "TWILIO",
    "sender_id": "+1234567890",
    "provider_credentials": {
    "account_sid": "ACxxxxxxxx",
    "auth_token": "your-auth-token"
    }
    }'
  2. Configure webhooks (for inbound messages and delivery reports)

    WebhookURL
    Inboundhttps://your-domain.com/sms/v1/webhooks/{sms_app_id}/inbound/
    DLR (Delivery Report)https://your-domain.com/sms/v1/webhooks/{sms_app_id}/dlr/
{
"provider": "TWILIO",
"sender_id": "+1234567890",
"provider_credentials": {
"account_sid": "ACxxxxxxxx",
"auth_token": "your-auth-token"
}
}
MethodEndpointDescription
GET/sms/v1/apps/List SMS apps
POST/sms/v1/apps/Create SMS app
GET/sms/v1/apps/{id}/Get SMS app details
PUT/sms/v1/apps/{id}/Update SMS app
DELETE/sms/v1/apps/{id}/Delete SMS app
GET/sms/v1/messages/List outbound messages
POST/sms/v1/messages/Send SMS message
GET/sms/v1/messages/{id}/Get message details
Terminal window
curl -X POST http://localhost:8000/sms/v1/messages/ \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"phone": "+1234567890",
"text": "Your verification code is 123456"
}'

For sending SMS in India, you need DLT (Distributed Ledger Technology) registration:

FieldDescription
dlt_entity_idYour DLT entity registration ID
dlt_template_idDLT-approved template ID (per message)
sender_id6-character sender ID registered with DLT
SettingDefault
SMS_RATE_LIMIT100/min
Daily counter resetMidnight (via Celery cron)

Provider credentials are encrypted at rest and never exposed in API responses.