Any system → SMS.
SAP, Oracle, a custom backend, a cron job — if it can POST JSON, it can send SMS. Use the generic preset and point our JSONPaths at your payload's fields.
Create the integration
curl -X POST https://api.mobileapiconnect.com/v1/ingress \ -H "Authorization: Bearer sk_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Order system","preset":"generic"}'
Default mapping: to ← to, text ← text, ref ← ref.
POST your payload
If your JSON already uses to / text, just POST it:
curl -X POST https://api.mobileapiconnect.com/v1/ingress/ig_AbC… \ -H "Content-Type: application/json" \ -d '{"to":"+6581230000","text":"Order #4821 confirmed","ref":"4821"}'
{ "id": "msg_…", "status": "queued", "to": "+6581230000", "text": "Order #4821 confirmed" }Map nested or differently-named fields
Have a payload like the below? Override the paths when creating/updating the integration. Dotted paths reach into nested objects.
{
"customer": { "phone": "+6581230000" },
"notification": { "body": "Your invoice is ready" },
"invoiceId": "INV-99"
}curl -X PUT https://api.mobileapiconnect.com/v1/ingress/wkh_ID \ -H "Authorization: Bearer sk_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Order system","preset":"generic", "toPath":"customer.phone","textPath":"notification.body","refPath":"invoiceId"}'
If to or text resolves empty you'll get 400 missing_fields with the paths it tried — handy for debugging.
(Optional) HMAC-sign requests
Set a signingSecret (and optionally a custom signingHeader, default X-Webhook-Signature). Sign the raw body with HMAC-SHA256 and send sha256=<hex>. Unsigned/invalid requests get 401. Same algorithm as the inbound webhook signature.
outboundUrl to also mirror inbound replies back to your system. See webhooks.