Migration · Twilio → NLSCEVO
Leave Twilio. Keep every feature.
This guide maps each Twilio messaging feature to its NLSCEVO Evolution API equivalent, then walks you through the recommended configuration steps to move production WhatsApp traffic over — without per-message fees, leased numbers or template gatekeeping.
Feature map
Find your Twilio call on the left; use the NLSCEVO endpoint on the right.
| Twilio | NLSCEVO endpoint | Notes |
|---|---|---|
| POST /Messages.json (Body) | POST /message/sendText/{instance} | Plain text WhatsApp message. Swap From/To for your instance name + recipient number. |
| POST /Messages.json (MediaUrl) | POST /message/sendMedia/{instance} | Images, audio, video and documents via public URL or base64 — no MMS surcharge. |
| Messaging Services / Sender Pools | POST /instance/create | Create an instance per number you own. No reseller-leased numbers. |
| Inbound webhook (TwiML / status callback) | POST /webhook/set/{instance} | Receive messages.upsert and connection.update as clean JSON at your endpoint. |
| Content Templates (HX... approval) | POST /message/sendText / sendButtons | No Meta + Twilio template gatekeeping — send freely on session messages. |
| Conversations API (groups) | POST /group/create/{instance} | Create groups, send invites and list participants natively. |
| Account SID + Auth Token | Authorization: Bearer <token> | One sovereign token bound to your verified organisation and lifetime license. |
Recommended configuration steps
- 1Provision your NLSCEVO lifetime license and copy your Bearer token from Settings → API Reference.
- 2Create an instance with POST /instance/create and scan the pairing QR with the number you own.
- 3Re-point each Twilio Messages.json call to /message/sendText/{instance}; replace From/To with instance + number.
- 4Move Twilio status callbacks to POST /webhook/set/{instance} listening for messages.upsert and connection.update.
- 5Delete Twilio sender pools and stop monthly number rentals — your number stays authenticated for life.
- 6Verify everything in the Try It console below before cutting production traffic over.
Before / after
Twilio (before)
curl -X POST \
"https://api.twilio.com/2010-04-01/Accounts/AC.../Messages.json" \
--data-urlencode "From=whatsapp:+14155238886" \
--data-urlencode "To=whatsapp:+256700000000" \
--data-urlencode "Body=Hello" \
-u AC...:auth_tokenNLSCEVO (after)
curl -X POST "https://evo.nlscug.com/message/sendText/sales-team" \
-H "Authorization: Bearer <copied token>" \
-H "Content-Type: application/json" \
-d '{
"number": "256700000000",
"text": "Hello"
}'