Twilio/media
is used to send file attachments, or to send long text via MMS in the US and Canada. As such, the twilio/media
type must contain at least ONE of text or media content. The total size of the text and media attachments must be less than 5MB (16MB for WhatsApp).
If you plan to submit this template to WhatsApp for approval, a valid media sample is required. Static media urls should resolve to publicly hosted media files. Variable media urls should include a valid media URL suffix in the variable declaration.
Only one type of media can be sent per approved variable WhatsApp media template. WhatsApp classifies approved templates into 1 of 3 types of media headers (Image, Video, Document) based on the sample that was submitted. Once the template has been approved another type of media header cannot be sent using the template.
Ex. If a template is approved with an image then a video cannot be sent using the same template.
During a 24-hour user-initiated session, template approval is not required by WhatsApp for twilio/media
templates.
For out of session (business-initiated) media templates, an additional approval step is required during the Beta. In the Media field of the template you create, provide the URL of the publicly hosted file.
If you are using a media template with a variable. Please submit a sample path of a publicly hosted image URL in the variable array. The combined URL must contain the file type. The combined URL must resolve to a publicly hosted file.
Example:
"media": ["https://twilio-cms-prod.s3.amazonaws.com/{{1}}"]
would include a path sample in the variables
definition. "variables": {"1": "images/library-logo-resource2x.width-1000.png"}
Twilio/media templates can be sent via WhatsApp for out of session messages with variables. If the template's body starts or ends with a variable or has two variables next to each other, the template will not be approved by WhatsApp without a sample variable. For additional information about variables Using Variables with Content Templates.
MMS, WhatsApp, Facebook Messenger
body:
media:
www.twilio.com/images/{{1}}
. Supported and Accepted media types can be referenced here (MMS) and here (WhatsApp).1// Install the C# / .NET helper library from twilio.com/docs/csharp/install23using System;4using Twilio;5using Twilio.Rest.Content.V1;67TwilioClient.Init(accountSid, authToken);89// define the twilio/media type10var twilioMedia = new TwilioMedia.Builder();11twilioMedia.WithBody("Thank you for your order {{1}}");12var media1 = new Media.Builder()13.WithMedia("https://twilio-cms-prod.s3.amazonaws.com/images/library-logo-resource2x.width-1000.png")14.Build();15twilioMedia.WithMedia(new List<Media>() { media1 });1617// define all the content types to be part of the template18var types = new Types.Builder();19types.WithTwilioMedia(twilioMedia.Build());2021// build the create request object22var contentCreateRequest = new ContentCreateRequest.Builder();23contentCreateRequest.WithTypes(types.Build());24contentCreateRequest.WithLanguage("en");25contentCreateRequest.WithFriendlyName("media_template");26contentCreateRequest.WithVariables(new Dictionary<string, string>() { {"1", "OrderNumber"} });2728// create the twilio template29var contentTemplate = await CreateAsync(contentCreateRequest.Build());3031Console.WriteLine($"Created Twilio Content Template SID: {contentTemplate.Sid}");
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"date_created": "2022-08-29T15:12:22Z",4"date_updated": "2022-08-29T15:12:22Z",5"friendly_name": "media_template",6"language": "en",7"links": {8"approval_create": "https://content.twilio.com/v1/Content/HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ApprovalRequests/whatsapp",9"approval_fetch": "https://content.twilio.com/v1/Content/HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/ApprovalRequests"10},11"sid": "HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",12"types": {13"twilio/media": {14"body": "Thank you for your order {{1}}",15"media": [16"https://twilio-cms-prod.s3.amazonaws.com/images/library-logo-resource2x.width-1000.png"17]18}19},20"url": "https://content.twilio.com/v1/Content/HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",21"variables": {22"1": "OrderNumber"23}24}