React Native
React Native
Twilio Send MMS (using Chilkat HTTP)
See more Twilio Examples
Send an outgoing MMS message. The only difference with MMS (as compared with SMS) is that a MediaUrl parameter is added to the POST. This means your image must be accessible on the web -- the Twilio server must be able to download the image from the URL you provide to include it in the MMS mesage to be sent.Also, see Twilio MMS for more information about MMS.
Chilkat React Native Downloads
import { DtObj, Http, HttpRequest, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'
async function chilkatExample() {
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = new Http();
// Implements the following CURL command:
// (See information about using test credentials and phone numbers: https://www.twilio.com/docs/iam/test-credentials)
// curl -X POST https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json \
// --data-urlencode "From=+15005550006" \
// --data-urlencode "Body=body" \
// --data-urlencode "To=+15005551212" \
// -u TWILIO_ACCOUNT_SID:TWILIO_AUTH_TOKEN
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
http.login = 'TWILIO_ACCOUNT_SID';
http.password = 'TWILIO_AUTH_TOKEN';
const req = new HttpRequest();
req.httpVerb = 'POST';
req.path = '/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json';
req.contentType = 'application/x-www-form-urlencoded';
req.addParam('From', '+15005550006');
req.addParam('Body', 'body');
req.addParam('To', '+15005551212');
req.addParam('MediaUrl', 'https://www.chilkatsoft.com/images/starfish.jpg');
const resp = new HttpResponse();
try {
await http.httpReqAsync('https://api.twilio.com/2010-04-01/Accounts/TWILIO_ACCOUNT_SID/Messages.json', req, resp);
} catch {
console.log(http.lastErrorText);
return;
}
const sbResponseBody = new StringBuilder();
resp.getBodySb(sbResponseBody);
const jResp = new JsonObject();
jResp.loadSb(sbResponseBody);
jResp.emitCompact = false;
console.log('Response Body:');
console.log(jResp.emit());
// A 201 status code indicates success.
const respStatusCode = resp.statusCode;
console.log(`Response Status Code = ${respStatusCode}`);
if (respStatusCode >= 400) {
console.log('Response Header:');
console.log(resp.header);
console.log('Failed.');
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "sid": "SM477111c301794f14b11eca5eefd5c350",
// "date_created": "Tue, 18 Aug 2020 15:04:47 +0000",
// "date_updated": "Tue, 18 Aug 2020 15:04:47 +0000",
// "date_sent": null,
// "account_sid": "AC2e9b6bc0f51133df24926f07341d3824",
// "to": "+15005551212",
// "from": "+15005550006",
// "messaging_service_sid": null,
// "body": "body",
// "status": "queued",
// "num_segments": "1",
// "num_media": "0",
// "direction": "outbound-api",
// "api_version": "2010-04-01",
// "price": null,
// "price_unit": "USD",
// "error_code": null,
// "error_message": null,
// "uri": "/2010-04-01/Accounts/AC2e9b6bc0f51133df24926f07341d3824/Messages/SM477111c301794f14b11eca5eefd5c350.json",
// "subresource_uris": {
// "media": "/2010-04-01/Accounts/AC2e9b6bc0f51133df24926f07341d3824/Messages/SM477111c301794f14b11eca5eefd5c350/Media.json"
// }
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
const dateCreated = new DtObj();
const dateUpdated = new DtObj();
const dateSent = new DtObj();
const sid = jResp.stringOf('sid');
jResp.dtOf('date_created', false, dateCreated);
jResp.dtOf('date_updated', false, dateUpdated);
jResp.dtOf('date_sent', false, dateSent);
const accountSid = jResp.stringOf('account_sid');
const vTo = jResp.stringOf('to');
const fromArg = jResp.stringOf('from');
const messagingServiceSid = jResp.stringOf('messaging_service_sid');
const body = jResp.stringOf('body');
const status = jResp.stringOf('status');
const numSegments = jResp.stringOf('num_segments');
const numMedia = jResp.stringOf('num_media');
const direction = jResp.stringOf('direction');
const apiVersion = jResp.stringOf('api_version');
const price = jResp.stringOf('price');
const priceUnit = jResp.stringOf('price_unit');
const errorCode = jResp.stringOf('error_code');
const errorMessage = jResp.stringOf('error_message');
const uri = jResp.stringOf('uri');
const subresourceUrisMedia = jResp.stringOf('subresource_uris.media');
}