CINXE.COM

Exotel Developer Portal

<style> .content{ margin-top:0px !important; } @media only screen and (max-width: 600px) { .table-responsive{ display: block !important; } .alert-info{ word-break: break-all !important; } .product-search { margin-top: 0vh !important; } } </style> <!DOCTYPE html> <html lang="en" style="margin-top: 0rem !important;"> <head> <meta charset="utf-8"> <meta name="viewport" content=" initial-scale=1.0"> <title>Exotel Developer Portal</title> <meta charset="UTF-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous"> <link href='https://fonts.googleapis.com/css?family=Nunito Sans' rel='stylesheet'> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/developer.exotel.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8.10"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://developer.exotel.com/wp-includes/css/dist/block-library/style.min.css?ver=5.8.10' type='text/css' media='all' /> <link rel='stylesheet' id='contact-form-7-css' href='https://developer.exotel.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.5.3' type='text/css' media='all' /> <link rel='stylesheet' id='pld-font-awesome-css' href='https://developer.exotel.com/wp-content/plugins/posts-like-dislike/css/fontawesome/css/all.min.css?ver=1.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='pld-frontend-css' href='https://developer.exotel.com/wp-content/plugins/posts-like-dislike/css/pld-frontend.css?ver=1.0.6' type='text/css' media='all' /> <link rel='stylesheet' id='wp-pagenavi-css' href='https://developer.exotel.com/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70' type='text/css' media='all' /> <link rel='stylesheet' id='search-filter-plugin-styles-css' href='https://developer.exotel.com/wp-content/plugins/search-filter-pro/public/assets/css/search-filter.min.css?ver=2.5.11' type='text/css' media='all' /> <link rel='stylesheet' id='main-styles-css' href='https://developer.exotel.com/wp-content/themes/exotel/style.css?ver=1669217987' type='text/css' media='' /> <link rel='stylesheet' id='font-css' href='https://fonts.googleapis.com/css?family=Muli%3A300%2C400%2C600%2C800&#038;ver=5.8.10' type='text/css' media='all' /> <link rel='stylesheet' id='style-css' href='https://developer.exotel.com/wp-content/themes/exotel/assets/css/styles.css?ver=5.8.10' type='text/css' media='all' /> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/jquery/jquery.min.js?ver=3.6.0' id='jquery-core-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script> <script type='text/javascript' id='pld-frontend-js-extra'> /* <![CDATA[ */ var pld_js_object = {"admin_ajax_url":"https:\/\/developer.exotel.com\/wp-admin\/admin-ajax.php","admin_ajax_nonce":"de50384d0d"}; /* ]]> */ </script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/plugins/posts-like-dislike/js/pld-frontend.js?ver=1.0.6' id='pld-frontend-js'></script> <script type='text/javascript' id='search-filter-plugin-build-js-extra'> /* <![CDATA[ */ var SF_LDATA = {"ajax_url":"https:\/\/developer.exotel.com\/wp-admin\/admin-ajax.php","home_url":"https:\/\/developer.exotel.com\/","extensions":[]}; /* ]]> */ </script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/plugins/search-filter-pro/public/assets/js/search-filter-build.min.js?ver=2.5.11' id='search-filter-plugin-build-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/plugins/search-filter-pro/public/assets/js/chosen.jquery.min.js?ver=2.5.11' id='search-filter-plugin-chosen-js'></script> <link rel="https://api.w.org/" href="https://developer.exotel.com/wp-json/" /><link rel="alternate" type="application/json" href="https://developer.exotel.com/wp-json/wp/v2/pages/3707" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://developer.exotel.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://developer.exotel.com/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 5.8.10" /> <link rel="canonical" href="https://developer.exotel.com/api/sms" /> <link rel='shortlink' href='https://developer.exotel.com/?p=3707' /> <link rel="alternate" type="application/json+oembed" href="https://developer.exotel.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdeveloper.exotel.com%2Fapi%2Fsms" /> <link rel="alternate" type="text/xml+oembed" href="https://developer.exotel.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdeveloper.exotel.com%2Fapi%2Fsms&#038;format=xml" /> <meta name="generator" content="Site Kit by Google 1.68.0" /><style></style> <!-- Google Tag Manager snippet added by Site Kit --> <script type="text/javascript"> ( function( w, d, s, l, i ) { w[l] = w[l] || []; w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); var f = d.getElementsByTagName( s )[0], j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore( j, f ); } )( window, document, 'script', 'dataLayer', 'GTM-TSLF3FD' ); </script> <!-- End Google Tag Manager snippet added by Site Kit --> <link rel="icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-270x270.png" /> <!-- Link Swiper's CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.css"/> <style> html { margin-top: 0% !important; } .carousel-indicators .active{ width: 20px; } @media (min-width: 1441px){ .nav-container { width: 1170px !important; } nav ul.nav { margin-top: 0px !important; } } @media (min-width: 1200px){ .nav-container { width: 1170px !important; } nav ul.nav { margin-top: 0px !important; } } .rotateimg180 { -webkit-transform:rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } .res-nav{ align-items: center; } @media only screen and (min-width: 1200px) { .res-nav{ display: flex !important; align-items: center; justify-content: center; } } .searchoverlay { height: 0%; width: 100%; position: fixed; top: 0; left: 0; background-color: white; overflow-y: hidden; transition: 0.5s; z-index: 99 !important; margin-top: 5em !important; border-bottom: 2px solid #0098FF; } .searchoverlay-content { position: relative; width: 100%; text-align: center; margin-top: 45px; } .searchoverlay .closebtn { position: absolute; top: 35px; right: 45px; font-size: 60px; opacity: 1; z-index: 999 !important; text-decoration: none !important; } .sf-field-search label input{ border-bottom: none !important; border: 1px solid #0098FF !important; } @media screen and (max-height: 450px) { .searchoverlay {overflow-y: auto;} .searchoverlay a {font-size: 20px} .searchoverlay .closebtn { font-size: 40px; top: 15px; right: 35px; opacity: 1; z-index: 999 !important; color: white !important; text-decoration: none !important; } } ::-webkit-scrollbar { width: 5px; } /* Track */ ::-webkit-scrollbar-track { box-shadow: inset 0 0 5px grey; border-radius: 5px; } /* Handle */ ::-webkit-scrollbar-thumb { background: lightgray; border-radius: 5px; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: lightgray; } #myGlobalSearchNav{ z-index: 99 !important; } .gbl-spc{ margin-top:-2.35rem !important; } @media only screen and (max-width: 600px) { .gbl-spc{ margin-top:-1.35rem !important; } .searchoverlay-content { padding:3rem 1rem !important; } .searchoverlay .closebtn { top:0px !important; right: 10px !important; font-size: 50px !important; } } @media (min-width: 768px){ .navbar { border-radius: 0px !important; } } </style> </head> <body> <!-- Start: Over Nav --> <div id="myNav" class="overlay hidden-lg" style="overflow-y: scroll;overflow-x: hidden;z-index:9999;"> <a href="javascript:void(0)" class="closebtn " onclick="closeNav()">&times;</a> <div class="overlay-content slide-left hidden-lg" style="z-index:9999;" > <div style="background: #FFFF;position:absolute;width:100%;"> <div class="row" style="margin-left: 0px;margin-right: 0px;margin-top: 3px;background: #0000;"> <div class="col-md-12" style="height: 64px;padding-top: 12px;left:10px;"><img src="https://developer.exotel.com/wp-content/uploads/2019/10/ExotelDeveloper-Logo.svg" alt=""> <svg onclick="closeNav()" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="font-size: 40px;position: absolute;right: 30px;color: #0098FF;" > <a href="javascript:void(0)" class="closebtn" > <path d="M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z" fill="currentColor"> </path> </a> </svg> <div style="margin-top: 29px;margin-bottom:20%"> <div class="col-md-12" style="padding-right: 0px;padding-left: 0px;"> <div><a class="btn btn-default" role="button" href="https://developer.exotel.com/" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;"><span>Home</span> </a> </div> <div > <div onclick="funcollapse('collapse-1')"> <a class="btn btn-default coll" data-toggle="collapse" aria-expanded="false" aria-controls="collapse-1" href="#collapse-1" role="button" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;">API Docs <svg xmlns="http://www.w3.org/2000/svg" id="collapse-1icond" class="icond" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" id="collapse-1iconu" class="rotateimg180 iconu" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="display:none;font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> </a> </div> <div class="collapse coll-in" id="collapse-1"> <div class="container" style="padding-right: 0px;padding-left: 0px;"> <div> <div class="col-md-12" style="display: flex;flex-direction: column;flex-wrap: wrap;height: 308.156px;background: rgba(0,152,255,0.19);border-radius: 18px;border: 1px solid rgba(51,51,51,0.15);margin-right:10px;"> <h1 onclick="locachange('https://developer.exotel.com/api/make-a-call-api')" href="https://developer.exotel.com/api/make-a-call-api" style="width: 80px;font-size: 20px;text-align: left;">Voice</h1> <h1 onclick="locachange('https://developer.exotel.com/api/sms')" href="https://developer.exotel.com/api/sms" style="width: 80px;font-size: 20px;text-align: left;">SMS</h1> <h1 onclick="locachange('https://developer.exotel.com/api/exophones')" href="https://developer.exotel.com/api/exophones" style="width: 80px;font-size: 20px;text-align: left;">Exophones</h1> <h1 onclick="locachange('https://developer.exotel.com/api/heart-beat')" href="https://developer.exotel.com/api/heart-beat" style="width: 80px;font-size: 20px;text-align: left;">Heartbeat</h1> <h1 onclick="locachange('https://developer.exotel.com/api/campaigns')" href="https://developer.exotel.com/api/campaigns" style="width: 80px;font-size: 20px;text-align: left;">Call Campaigns</h1> <h1 onclick="locachange('https://developer.exotel.com/api/sms-campaigns')" href="https://developer.exotel.com/api/sms-campaigns" style="width: 80px;font-size: 20px;text-align: left;">SMS Campaigns</h1> <h1 onclick="locachange('https://developer.exotel.com/api/leadassist-greenvn')" href="https://developer.exotel.com/api/leadassist-greenvn" style="width: 80px;font-size: 20px;text-align: left;">Lead Assist</h1> <h1 onclick="locachange('https://developer.exotel.com/api/users')" href="https://developer.exotel.com/api/users" style="width: 80px;font-size: 20px;text-align: left;">Users</h1> <h1 onclick="locachange('https://developer.exotel.com/api/product-exoverify-apis')" href="https://developer.exotel.com/api/product-exoverify-apis" style="width: 80px;font-size: 20px;text-align: left;">ExoVerify</h1> <h1 onclick="locachange('https://developer.exotel.com/api/whatsapp')" href="https://developer.exotel.com/api/whatsapp" style="width: 80px;font-size: 20px;text-align: left;">Whatsapp </h1> <h1 onclick="locachange('https://developer.exotel.com/api/url-shortening')" href="https://developer.exotel.com/api/url-shortening" style="width: 80px;font-size: 20px;text-align: left;">URL shortening</h1> <h1 onclick="locachange('https://developer.exotel.com/api')" href="https://developer.exotel.com/api" style="width: 80px;font-size: 20px;text-align: left;">More...</h1> </div> </div> </div> </div> </div> <div > <div onclick="funcollapse('collapse-2')"> <a class="btn btn-default coll" data-toggle="collapse" aria-expanded="false" aria-controls="collapse-2" href="#collapse-2" role="button" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;">API Console <svg xmlns="http://www.w3.org/2000/svg" id="collapse-2icond" class="icond" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" id="collapse-2iconu" class="rotateimg180 iconu" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="display:none;font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> </a> </div> <div class="collapse coll-in" id="collapse-2"> <div class="container" style="padding-right: 0px;padding-left: 0px;"> <div> <div class="col-md-12" style="display: flex;flex-direction: column;flex-wrap: wrap;height: 308.156px;background: rgba(0,152,255,0.19);border-radius: 18px;border: 1px solid rgba(51,51,51,0.15);margin-right:10px;"> <h1 onclick="locachange('https://developer.exotel.com/api-console/make-a-call-api')" href="https://developer.exotel.com/api-console/make-a-call-api" style="width: 80px;font-size: 20px;text-align: left;">Voice</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/product-sms')" href="https://developer.exotel.com/api-console/product-sms" style="width: 80px;font-size: 20px;text-align: left;">SMS</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/exophone')" href="https://developer.exotel.com/api-console/exophone" style="width: 80px;font-size: 20px;text-align: left;">Exophones</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/heart-beat')" href="https://developer.exotel.com/api-console/heart-beat" style="width: 80px;font-size: 20px;text-align: left;">Heartbeat</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/campaigns')" href="https://developer.exotel.com/api-console/campaigns" style="width: 80px;font-size: 20px;text-align: left;">Call Campaigns</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/sms-campaigns')" href="https://developer.exotel.com/api-console/sms-campaigns" style="width: 80px;font-size: 20px;text-align: left;">SMS Campaigns</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console/lead-assist-greenvn')" href="https://developer.exotel.com/api-console/lead-assist-greenvn" style="width: 80px;font-size: 20px;text-align: left;">LeadAssist</h1> <h1 onclick="locachange('https://developer.exotel.com/api-console')" href="https://developer.exotel.com/api-console" style="width: 80px;font-size: 20px;text-align: left;">More...</h1> </div> </div> </div> </div> </div> <div > <div onclick="funcollapse('collapse-3')"> <a class="btn btn-default coll" data-toggle="collapse" aria-expanded="false" aria-controls="collapse-3" href="#collapse-3" role="button" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;">Applets Docs <svg xmlns="http://www.w3.org/2000/svg" id="collapse-3icond" class="icond" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" id="collapse-3iconu" class="rotateimg180 iconu" width="1em" height="1em" viewBox="0 0 24 24" fill="none" style="display:none;font-size: 26px;position: absolute;right: 30px;transform-origin: 50% 50% rotate(90);"> <path d="M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z" fill="currentColor"></path> </svg> </a> </div> <div class="collapse coll-in" id="collapse-3"> <div class="container" style="padding-right: 0px;padding-left: 0px;"> <div> <div class="col-md-12" style="display: flex;flex-direction: column;flex-wrap: wrap;height: 308.156px;background: rgba(0,152,255,0.19);border-radius: 18px;border: 1px solid rgba(51,51,51,0.15);margin-right:10px;"> <h1 onclick="locachange('https://developer.exotel.com/applet#greeting')" href="https://developer.exotel.com/applet#greeting" style="width: 80px;font-size: 20px;text-align: left;">Greeting</h1> <h1 onclick="locachange('https://developer.exotel.com/applet#connect')" href="https://developer.exotel.com/applet#connect" style="width: 80px;font-size: 20px;text-align: left;">Connect</h1> <h1 onclick="locachange('https://developer.exotel.com/applet#passthru')" href="https://developer.exotel.com/applet#passthru" style="width: 80px;font-size: 20px;text-align: left;">Passthru</h1> <h1 onclick="locachange('hhttps://developer.exotel.com/applet#transfer')" href="hhttps://developer.exotel.com/applet#transfer" style="width: 80px;font-size: 20px;text-align: left;">Transfer</h1> <h1 onclick="locachange('https://developer.exotel.com/applet#sms')" href="https://developer.exotel.com/applet#sms" style="width: 80px;font-size: 20px;text-align: left;">SMS</h1> <h1 onclick="locachange('https://developer.exotel.com/applet#email')" href="https://developer.exotel.com/applet#email" style="width: 80px;font-size: 20px;text-align: left;">Email</h1> <h1 onclick="locachange('https://developer.exotel.com/applet')" href="https://developer.exotel.com/applet" style="width: 80px;font-size: 20px;text-align: left;">More</h1> </div> </div> </div> </div> </div> <div onclick="locachange('https://developer.exotel.com/usecases'); "> <a class="btn btn-default" role="button" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;"> <span>Use Cases</span> </a> </div> <div onclick="locachange('https://developer.exotel.com/faqs'); "> <a class="btn btn-default" role="button" style="width: 98%;text-align: left;background: rgba(255,255,255,0);font-size: 20px;border-style: none;box-shadow: none;background: transparent;padding-left: 12px;margin-top: 10px;margin-bottom: 10px;"> <span>FAQs</span> </a> </div> </div> </div> </div> </div> <div class="row btp" style="text-align: center;position: fixed; bottom: 10px;width: 100%;"> <div class="col-md-3 col-xs-3 col-sm-3"> <a class="btn btn-default" role="button" target="_blank" href="https://my.exotel.com/auth/register" style="width: 200px;height: 56px;border-radius: 10px;font-size: 14px;padding: 17px 22px;padding-left: 32px;padding-right: 32px;color:rgb(255,255,255);background:#0098FF;"> Create Account</a> </div> </div> </div> </div> </div> <!-- Start: over Nav --> <!-- Start: Navigation --> <nav class="navbar navbar-default navigation-clean-button npanel" style="background: rgb(0,152,255);position:fixed;z-index:102;width:100%; border:none;padding-top: 3px;"> <div class="nav-container container"> <div class="navbar-header navicon"> <a class="navbar-brand ico" href="/" style="padding: 15px;margin-bottom: 0px;position:absolute;left:70px;top:4px"><img src="https://developer.exotel.com/wp-content/uploads/2023/04/exotel-developers-01-1.png" alt="" height="36" /></a> <button class="navbar-toggle visible-md visible-sm visible-xs collapsed text-right" onclick="openNav()" data-target="#navcol-5" style="border-style: none;text-align: right;position:absolute;right:0px;top: 2px;"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar" style="height:4px;width: 24px;background-color: #FFF;"></span> <span class="icon-bar" style="height:4px;width: 16px;background-color: #FFF;margin-left:8px;"></span> <span class="text-right icon-bar" style="height:4px;width: 10px;background-color: #FFF;margin-left:14px;"></span> </button> <button id="search_icon" onclick="openGlobalNav()" class="navbar-toggle visible-md visible-sm visible-xs collapsed text-right " data-target="#navcol-5" style="border-style: none;text-align: right; position:absolute;right:40px;top:-0px;background: transparent;"> <svg xmlns="http://www.w3.org/2000/svg" width="32.243" height="25" viewBox="0 0 32.243 32.243"> <path id="Icon_material-search" data-name="Icon material-search" d="M27.544,24.779H26.088l-.516-.5a12,12,0,1,0-1.29,1.29l.5.516v1.456L34,36.743,36.743,34Zm-11.061,0a8.3,8.3,0,1,1,8.3-8.3A8.285,8.285,0,0,1,16.483,24.779Z" transform="translate(-4.5 -4.5)" fill="#fff"/> </svg> </button> </div> <div class="collapse navbar-collapse" id="navcol-5" style="background:#0098ff;" > <ul class="nav navbar-nav hidden-md hidden-sm " style="background:#0098ff;position:relative;margin-right: 20%;margin-left:20%;padding-top:0px;margin-bottom:0px"> <!-- <li id="home" class="active" onclick="locachange('/');" style="background:#0098ff;" ><a style="background:rgb(255, 255, 255,0);"><span style="color: rgb(255, 255, 255);padding-bottom:8px">Home</span></a></li> --> <li class="dropdown navl" style="background:#0098ff;" onclick="locachange('https://developer.exotel.com/api'); "><a class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown" href="https://developer.exotel.com/api" ><span style="color: rgb(255, 255, 255);;font-size: 16px;">API Docs</span></a> <ul class="dropdown-menu"> <li onclick="locachange('https://developer.exotel.com/api/make-a-call-api')"><a href="https://developer.exotel.com/api/make-a-call-api">Voice</a></li> <li onclick="locachange('https://developer.exotel.com/api/sms')"><a href="https://developer.exotel.com/api/sms">SMS</a></li> <li onclick="locachange('https://developer.exotel.com/api/exophones')"><a href="https://developer.exotel.com/api/exophones">Exophones</a></li> <li onclick="locachange('https://developer.exotel.com/api/heart-beat')"><a href="https://developer.exotel.com/api/heart-beat">Heartbeat</a></li> <li onclick="locachange('https://developer.exotel.com/api/campaigns')"><a href="https://developer.exotel.com/api/campaigns">Call Campaigns</a></li> <li onclick="locachange('https://developer.exotel.com/api/sms-campaigns')"><a href="https://developer.exotel.com/api/sms-campaigns">SMS Campaigns</a></li> <li onclick="locachange('https://developer.exotel.com/api/leadassist-greenvn')"><a href="https://developer.exotel.com/api/leadassist-greenvn">Lead Assist</a></li> <li onclick="locachange('https://developer.exotel.com/api/users')"><a href="https://developer.exotel.com/api/users">Users</a></li> <li onclick="locachange('https://developer.exotel.com/api/product-exoverify-apis')"><a href="https://developer.exotel.com/api/product-exoverify-apis">ExoVerify</a></li> <li onclick="locachange('https://developer.exotel.com/api/whatsapp')"><a href="https://developer.exotel.com/api/whatsapp">Whatsapp </a></li> <li onclick="locachange('https://developer.exotel.com/api/url-shortening')"><a href="https://developer.exotel.com/api/url-shortening">URL shortening</a></li> <li onclick="locachange('https://developer.exotel.com/api')"><a href="https://developer.exotel.com/api">More...</a></li> </ul> </li> <li class="dropdown navl" style="background:#0098ff;" onclick="locachange('https://developer.exotel.com/api-console'); "><a class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown" href="https://developer.exotel.com/api-console" ><span style="color: rgb(255, 255, 255);;font-size: 16px;">API Console</span></a> <ul class="dropdown-menu"> <li onclick="locachange('https://developer.exotel.com/api-console/make-a-call-api')"><a href="https://developer.exotel.com/api-console/make-a-call-api">Voice</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/product-sms')"><a href="https://developer.exotel.com/api-console/product-sms">SMS</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/exophone')"><a href="https://developer.exotel.com/api-console/exophone">Exophones</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/heart-beat')"><a href="https://developer.exotel.com/api-console/heart-beat">Heartbeat</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/campaigns')"><a href="https://developer.exotel.com/api-console/campaigns">Call Campaigns</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/sms-campaigns')"><a href="https://developer.exotel.com/api-console/sms-campaigns">SMS Campaigns</a></li> <li onclick="locachange('https://developer.exotel.com/api-console/lead-assist-greenvn')"><a href="https://developer.exotel.com/api-console/lead-assist-greenvn">LeadAssist</a></li> <li onclick="locachange('https://developer.exotel.com/api-console')"><a href="https://developer.exotel.com/api-console">More...</a></li> </ul> </li> <li class="dropdown navl" style="background:#0098ff;" onclick="locachange('https://developer.exotel.com/applet'); "><a class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown" href="https://developer.exotel.com/applet" ><span style="color: rgb(255, 255, 255);;font-size: 16px;">Applets Docs</span></a> <ul class="dropdown-menu"> <li onclick="locachange('https://developer.exotel.com/applet#greeting')"><a href="https://developer.exotel.com/applet#greeting">Greeting</a></li> <li onclick="locachange('https://developer.exotel.com/applet#connect')"><a href="https://developer.exotel.com/applet#connect">Connect</a></li> <li onclick="locachange('https://developer.exotel.com/applet#passthru')"><a href="https://developer.exotel.com/applet#passthru">Passthru</a></li> <li onclick="locachange('hhttps://developer.exotel.com/applet#transfer')"><a href="hhttps://developer.exotel.com/applet#transfer">Transfer</a></li> <li onclick="locachange('https://developer.exotel.com/applet#sms')"><a href="https://developer.exotel.com/applet#sms">SMS</a></li> <li onclick="locachange('https://developer.exotel.com/applet#email')"><a href="https://developer.exotel.com/applet#email">Email</a></li> <li onclick="locachange('https://developer.exotel.com/applet')"><a href="https://developer.exotel.com/applet">More</a></li> </ul> </li> <li class="dropdown navl" style="background:#0098ff;" onclick="locachange('https://developer.exotel.com/usecases'); "><a class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown" href="https://developer.exotel.com/usecases" ><span style="color: rgb(255, 255, 255);;font-size: 16px;">Use Cases</span></a> </li> <li class="dropdown navl" style="background:#0098ff;" onclick="locachange('https://developer.exotel.com/faqs'); "><a class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown" href="https://developer.exotel.com/faqs" ><span style="color: rgb(255, 255, 255);;font-size: 16px;">FAQs</span></a> </li> </ul><!-- Start: Actions --> <button id="search_icon2" onclick="openGlobalNav()" class="visible-lg collapsed text-right " data-target="#navcol-5" style="border-style: none;text-align: right; position:absolute;right: 310px;top: 25px; background-color: transparent !important;opacity:1; "> <svg xmlns="http://www.w3.org/2000/svg" width="32.243" height="25" viewBox="0 0 32.243 32.243"> <path id="Icon_material-search" data-name="Icon material-search" d="M27.544,24.779H26.088l-.516-.5a12,12,0,1,0-1.29,1.29l.5.516v1.456L34,36.743,36.743,34Zm-11.061,0a8.3,8.3,0,1,1,8.3-8.3A8.285,8.285,0,0,1,16.483,24.779Z" transform="translate(-4.5 -4.5)" fill="#fff"/> </svg> </button> <p class="navbar-text navbar-right hidden-md hidden-sm actions" style="position: absolute;right: 100px;top:10px;"> <a class="btn btn-default action-button" target="_blank" role="button" href="https://my.exotel.com/auth/register" style="width: 200px;border-radius: 8px;font-size: 16px;padding: 10px 22px;color: #0098FF;background: rgb(255,255,255);font-weight:600;">Create Account</a> </p> <!-- End: Actions --> </div> </div> </nav><!-- End: Navigation --> <div id="myGlobalSearchNav" class="searchoverlay"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> <div class="searchoverlay-content"> <form data-sf-form-id='6277' data-is-rtl='0' data-maintain-state='' data-ajax-url='https://developer.exotel.com/?sfid=6277&amp;sf_action=get_data&amp;sf_data=all' data-ajax-form-url='https://developer.exotel.com/?sfid=6277&amp;sf_action=get_data&amp;sf_data=form' data-display-result-method='shortcode' data-use-history-api='1' data-template-loaded='0' data-lang-code='en' data-ajax='1' data-ajax-data-type='json' data-ajax-links-selector='.pagination a' data-ajax-target='#search-filter-results-6277' data-ajax-pagination-type='normal' data-scroll-to-pos='0' data-init-paged='1' data-auto-update='1' data-auto-count='1' data-auto-count-refresh-mode='1' action='' method='post' class='searchandfilter' id='search-filter-form-6277' autocomplete='off' data-instance-count='1'><ul><li class="sf-field-search" data-sf-field-name="search" data-sf-field-type="search" data-sf-field-input-type=""> <label><span class="screen-reader-text">global-search</span><input placeholder="Seach Exotel documentation... try &quot;Send SMS&quot;" name="_sf_search[]" class="sf-input-text" type="text" value="" title="global-search"></label> </li></ul></form> <div id="search-result-global"> <div id="search-recent-global" class="search-container container dropdown-s gbl-spc" style="border-top: 2px solid #d3d3d382;display:none;padding-bottom:18px;padding: 0rem 1rem 0rem 1rem; border-color:1px solid #C1CDDC; border-top: none;box-shadow: 0px 3px 16px #0098FF29;"> <div style="background-color:#fff;margin-top:10px;text-align: left;padding: 0rem 1rem 0rem 1rem;"> <p>Recent search</p> </div> <div class="search-selection" style="background-color:#fff;text-align: left;width:100%;margin-bottom: 12px;padding: 1rem;" onclick="memo('3707','https://developer.exotel.com/api/sms')"> <div style="display: flex;justify-content: space-between;"> <p class="shr-title">Product-SMS</p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div style="background-color:#fff;display: flex;justify-content: center;"> <p> <a id="viewMore" style="text-align:center;font-size:18px; color: #0098FF; font-weight: bold;margin-bottom:5px;">Advanced Search</a> </p> </div> </div> <div id="search-found-result" style="display:none;"> <div class="search-filter-results" id="search-filter-results-6277"><style> .box-result { background: #D6E4F078; width: 100%; margin: auto; padding: 2rem; } .sf-field-search label input { display: block; max-width: 640px !important; margin: auto; height: 4rem; border-radius: 2px 2px 0px 0px !important; text-align:left !important; padding-left: 2rem; border-bottom: none; } .dropdown-s{ background-color:#fff; display:block; z-index:100; overflow-y: scroll; max-height: 42rem; margin-top: -14px; margin-left: 15px; width: 640px; position: absolute; left: 0; right: 0; margin: 0 auto; } .src-spc{ margin-top: -24px !important; } .search-selection:hover{ background-color: #b9d5ff29 !important; } @media (max-width:769px) { .dropdown-s{ width: 100%; margin: auto; position: relative; } } @media only screen and (max-width: 600px) { .src-spc{ margin-top: -24px !important; } } input[type=text]:focus { outline: 1px solid #0098FF !important; border: 1px solid #0098FF; border-top: none; border-bottom: none; box-shadow: 0px 3px 16px #0098FF29; } input[type=text]{ box-shadow: 0px 3px 16px #0098FF29; border: 1px solid #0098FF; } </style> <div> <div id="dy_search" class="search-container container dropdown-s src-spc" style="border-top: 2px solid #d3d3d382;padding-bottom:18px;border-top:none;border: 1px solid #0098FF !important; box-shadow: 0px 3px 16px #0098FF29;"> <div style="background-color:#fff;margin-top:10px;padding: 0rem 0.5rem;text-align: left;"> <p> 233 results found</p> </div> <div class="context firstFAQ search-selection" onclick="memo('7949','https://developer.exotel.com/api/rcs-send-rcs-template-message');" style="background-color:#fff;text-align: left;cursor:pointer;padding: 5px;"> <div style="display: flex;justify-content: space-between;margin:0px; "> <p class="shr-title"> Send RCS Template Message </p> <p style="background:#96A5B8;color:#FFFFFF;padding: 2px 4px;border-radius:5px;margin-right: 10px;height: 2.6rem;"> API </p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div class="context firstFAQ search-selection" onclick="memo('7900','https://developer.exotel.com/api/receive-outbound-call-notifications');" style="background-color:#fff;text-align: left;cursor:pointer;padding: 5px;"> <div style="display: flex;justify-content: space-between;margin:0px; "> <p class="shr-title"> Receive Outbound Call Notifications </p> <p style="background:#96A5B8;color:#FFFFFF;padding: 2px 4px;border-radius:5px;margin-right: 10px;height: 2.6rem;"> API </p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div class="context firstFAQ search-selection" onclick="memo('7871','https://developer.exotel.com/api/error-code');" style="background-color:#fff;text-align: left;cursor:pointer;padding: 5px;"> <div style="display: flex;justify-content: space-between;margin:0px; "> <p class="shr-title"> WhatsApp Error Code </p> <p style="background:#96A5B8;color:#FFFFFF;padding: 2px 4px;border-radius:5px;margin-right: 10px;height: 2.6rem;"> API </p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div class="context firstFAQ search-selection" onclick="memo('6935','https://developer.exotel.com/api/send-sms-2');" style="background-color:#fff;text-align: left;cursor:pointer;padding: 5px;"> <div style="display: flex;justify-content: space-between;margin:0px; "> <p class="shr-title"> Send SMS </p> <p style="background:#96A5B8;color:#FFFFFF;padding: 2px 4px;border-radius:5px;margin-right: 10px;height: 2.6rem;"> API </p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div class="context firstFAQ search-selection" onclick="memo('7735','https://developer.exotel.com/api/exomind-tasker-api');" style="background-color:#fff;text-align: left;cursor:pointer;padding: 5px;"> <div style="display: flex;justify-content: space-between;margin:0px; "> <p class="shr-title"> ExoMind Tasker API </p> <p style="background:#96A5B8;color:#FFFFFF;padding: 2px 4px;border-radius:5px;margin-right: 10px;height: 2.6rem;"> API </p> </div> <p class="shr-descr" style="height:15px;"> </p> </div> <div class="context firstFAQ" onclick="" style="background-color:#fff;display: flex;justify-content: center;"> <p> <a id="viewMore1" style="text-align:center;font-size:16px;color: #0098FF;font-weight: bold;margin-bottom:5px;">Advanced Search</a> </p> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> var markInstance = new Mark(document.querySelector(".search-filter-results")); // Cache DOM elements var data=[]; var keywordInput = document.querySelector("input[name='_sf_search[]']"); if(window.localStorage.getItem("hist")!==null){ data=JSON.parse(window.localStorage.getItem("hist")); } function memo(a,redirectUrl){ if(data.includes(a)){ let x=data.indexOf(a); data.splice(x, 1); } data=[a,...data] console.log(data); if(data.length>5){data.pop()} window.localStorage.setItem("hist",JSON.stringify(data)); data=JSON.parse(JSON.stringify(data)); console.log(data); var d = new Date(); d.setTime(d.getTime() + (1*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = 'cook' + "=" + cook+ ";" + expires + ";path=/"; console.log('exop' + redirectUrl); window.location=redirectUrl; } var cook = localStorage.getItem("hist"); console.log(cook); var d = new Date(); d.setTime(d.getTime() + (1*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = 'cook' + "=" + cook+ ";" + expires + ";path=/"; function performMark() { // Read the keyword var keyword = keywordInput.value; // Remove previous marked elements and mark // the new keyword inside the context if(keyword.length>1) { markInstance.unmark({ done: function() { markInstance.mark(keyword); } }); } }; (function ( $ ) { "use strict"; $(document).on("sf:ajaxstart", ".searchandfilter", function(){ console.log("ajax start"); $("#search-recent-global").css("display", "none"); }); $(document).on("sf:ajaxfinish", ".searchandfilter", function(){ console.log("ajax complete"); var keyword = keywordInput.value; if(keyword.length>0) { $("#search-found-result").css("display", ""); } else{ $("#search-recent-global").css("display", ""); $("#search-found-result").css("display", "none"); } //so load your lightbox or JS scripts here again }); }(jQuery)); function ser_recent(){ var keyword = keywordInput.value; if(keyword.length===0) { $('#search-recent-global').fadeIn("slow"); $("#search-recent-global").css("display", "block"); } if(keyword.length>=1) { $('#search-found-result').fadeIn("slow"); $("#search-found-result").css("display", "block"); } } // document.querySelector('#search-filter-form-6277').addEventListener("focusin", // function(){ // console.log('sdsd'); // ser_recent() // } // ); // document.querySelector('#search-filter-form-6277').addEventListener('focusout', function(event) { // console.log(event) // // $("#search-found-result").css("display", "none"); // // // console.log('sdsd') // // if(event.relatedTarget==null){ // // $("#search-recent-global").css("display", "none"); // // } // }); window.addEventListener('click', function(e){ if (document.getElementById('search-filter-form-6277').contains(e.target)){ ser_recent(); } }); keywordInput.addEventListener("input", performMark); a = document.getElementById('viewMore'); a.setAttribute("href", "https://developer.exotel.com/advance-search?_sf_s="+keywordInput.value); a = document.getElementById('viewMore1'); a.setAttribute("href", "https://developer.exotel.com/advance-search?_sf_s="+keywordInput.value); setTimeout(function() { performMark(); }, 1000); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> </div> </div> </div> </div> </div> </div> <script> function locachange(a){ window.location.href=a; } let pageurl= window.location.href; if(document.querySelectorAll([".navbar-nav a[href='" + pageurl + "'"])[0]){ document.querySelectorAll([".navbar-nav a[href='" + pageurl + "'"])[0].classList.add('currentMenu') } function openNavser() { //document.getElementById("myNavSer").style.display = "block"; let pageurl= window.location.href; window.location.href=pageurl+'advance-search'; } function closeNavser() { document.getElementById("myNavSer").style.display = "none"; } function openNav() { document.getElementById("myNav").style.display = "block"; } function openGlobalNav() { document.getElementById("myGlobalSearchNav").style.height = "75%"; document.getElementById("search_icon2").style.display = "none"; $('#search_icon2').css("opacity","0"); setTimeout(function() { $('#search-recent-global').fadeIn("slow"); $("#search-recent-global").css("display", ""); $("input[name='_sf_search[]']").focus() }, 500); } function closeNav() { document.getElementById("myGlobalSearchNav").style.height = "0%"; document.getElementById("myNav").style.display = "none"; $("#search-recent-global").css("display", "none"); $('#search_icon2').css("opacity","1"); } </script> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/wp-embed.min.js?ver=5.8.10' id='wp-embed-js'></script> <link rel="https://api.w.org/" href="https://developer.exotel.com/wp-json/" /><link rel="alternate" type="application/json" href="https://developer.exotel.com/wp-json/wp/v2/pages/3707" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://developer.exotel.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://developer.exotel.com/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 5.8.10" /> <link rel="canonical" href="https://developer.exotel.com/api/sms" /> <link rel='shortlink' href='https://developer.exotel.com/?p=3707' /> <link rel="alternate" type="application/json+oembed" href="https://developer.exotel.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdeveloper.exotel.com%2Fapi%2Fsms" /> <link rel="alternate" type="text/xml+oembed" href="https://developer.exotel.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdeveloper.exotel.com%2Fapi%2Fsms&#038;format=xml" /> <meta name="generator" content="Site Kit by Google 1.68.0" /><style></style> <!-- Google Tag Manager snippet added by Site Kit --> <script type="text/javascript"> ( function( w, d, s, l, i ) { w[l] = w[l] || []; w[l].push( {'gtm.start': new Date().getTime(), event: 'gtm.js'} ); var f = d.getElementsByTagName( s )[0], j = d.createElement( s ), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore( j, f ); } )( window, document, 'script', 'dataLayer', 'GTM-TSLF3FD' ); </script> <!-- End Google Tag Manager snippet added by Site Kit --> <link rel="icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://developer.exotel.com/wp-content/uploads/2023/04/cropped-white-bg-X-01-1-270x270.png" /> <div class="container row"> <div class="col-md-4 col-sm-3 sidebar add-ps-scrollbar"> <div class="search product-search"> <div class="col-lg-12"> <label>Please choose your relevant Products </label> <select id="docSelect" class="form-control product-select" name="item"> <option class="doc-list-heading noSelect" data-url="/api" value="/api"> Overview </option> <option class="doc-list-heading noSelect" data-url="/api/product-voice-version-3" value="/api/product-voice-version-3"> Voice v3 </option> <option class="doc-list-heading noSelect" data-url="/api/ccm-calls" value="/api/ccm-calls"> Voice v2 </option> <option class="doc-list-heading noSelect" data-url="/api/make-a-call-api" value="/api/make-a-call-api"> Voice v1 </option> <option class="doc-list-heading noSelect" data-url="/api/gen-ai" value="/api/gen-ai"> Gen AI </option> <option class="doc-list-heading noSelect" data-url="/api/sms" value="/api/sms"> SMS </option> <option class="doc-list-heading noSelect" data-url="/api/exophones" value="/api/exophones"> ExoPhones </option> <option class="doc-list-heading noSelect" data-url="/api/heart-beat" value="/api/heart-beat"> Heartbeat </option> <option class="doc-list-heading noSelect" data-url="/api/campaigns" value="/api/campaigns"> Campaigns </option> <option class="doc-list-heading noSelect" data-url="/api/sms-campaigns" value="/api/sms-campaigns"> SMS Campaigns </option> <option class="doc-list-heading noSelect" data-url="/api/campaigns-contacts" value="/api/campaigns-contacts"> Campaigns Contacts </option> <option class="doc-list-heading noSelect" data-url="/api/campaigns-lists" value="/api/campaigns-lists"> Campaigns - Lists </option> <option class="doc-list-heading noSelect" data-url="/api/leadassist-greenvn" value="/api/leadassist-greenvn"> ExoBridge (Lead Assist) - GreenVN </option> <option class="doc-list-heading noSelect" data-url="/api/leadassist-greenpin" value="/api/leadassist-greenpin"> ExoBridge (Lead Assist) - GreenPin </option> <option class="doc-list-heading noSelect" data-url="/api/lead-assist-settings" value="/api/lead-assist-settings"> ExoBridge (Lead Assist) - Settings </option> <option class="doc-list-heading noSelect" data-url="/api/users" value="/api/users"> Users </option> <option class="doc-list-heading noSelect" data-url="/api/product-exoverify-apis" value="/api/product-exoverify-apis"> ExoVerify </option> <option class="doc-list-heading noSelect" data-url="/api/url-shortening" value="/api/url-shortening"> URL Shortening </option> <option class="doc-list-heading noSelect" data-url="/api/whatsapp " value="/api/whatsapp "> WhatsApp- Messaging API </option> <option class="doc-list-heading noSelect" data-url="/api/whatsapp-template-management-apis" value="/api/whatsapp-template-management-apis"> WhatsApp - Template Management APIs </option> <option class="doc-list-heading noSelect" data-url="/api/ip-pstn-intermix-webrtc-sdk-integration" value="/api/ip-pstn-intermix-webrtc-sdk-integration"> IP-PSTN intermix: WebRTC SDK integration </option> <option class="doc-list-heading noSelect" data-url="/api/whatsapp-onboarding-apis" value="/api/whatsapp-onboarding-apis"> WhatsApp - Onboarding APIs </option> </select> </div> <div class="collpase in"> <div class="sidemenu"> <li id="item1"> <div class="collpase in list-heading"> <ul class="list-item"> <li class="noSelect" id="menu-options"> <a href="#send-sms" class="applet-sidebar-menu-section" > Send SMS </a> </li> <li class="noSelect" id="menu-options"> <a href="#sms-details" class="applet-sidebar-menu-section" > SMS details </a> </li> <li class="noSelect" id="menu-options"> <a href="#send-bulk-static-sms" class="applet-sidebar-menu-section" > Send Bulk SMS With Static Content </a> </li> <li class="noSelect" id="menu-options"> <a href="#send-bulk-dynamic-sms" class="applet-sidebar-menu-section" > Send Bulk SMS With Dynamic Content </a> <sup class="beta-sup">Beta</sup> </li> </ul> </div> </li> </div> </div> </div> </div> </div> <div class="row"> <div class="content col-md-7 col-md-offset-4 col-sm-9 col-sm-offset-3"> <section class="sectionAPIClass" id="send-sms"> <h1 >Send SMS </h1> <div class="wrapper-list"> <p>This API will send an SMS to the specified To number. To send an SMS through our API, you will need to make a HTTP POST request to</p> </div> <div class="well api-well"> <div class="col-sm"> <span class="post">POST</span> </div> <div class="col-sm" style="margin: auto 10px;"> <p class="copy-text"> <span>https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send</span> </p> </div> <div class="col-sm"> <li> <a type="button" id="apidocTrynowbtn" onclick="openConsolePage(event,'https://developer.exotel.com/api-console/product-sms#sendsms')" href="https://developer.exotel.com/api-console/product-sms#sendsms" class="api-try btn-block show" >Try it</a> </li> <!-- <input class="api-try btn-block <?php// echo esc_html($tryvalue); ?>" onclick="openConsolePage(event,'<?php// echo $tryProductUrl?>')" type="button" value="Try it"> --> </div> </div> <div class="alert alert-info" role="alert"> <p>If you&#8217;d prefer response in JSON format, just append .json at the end of the HTTP POST request.</p> <p>Before you start sending transactional SMS through this API, please test <a href="http://support.exotel.in/support/solutions/articles/48307-is-my-sms-template-working-">whether your content is matching a template</a>. Otherwise, the SMS will end up becoming promotional.</p> </div> <div class="wrapper-list"> <ul> <li>Replace <code>&lt;your_api_key&gt;</code> and <code>&lt;your_api_token&gt;</code> with the API key and token created by you.</li> <li>Replace <code>&lt;your_sid&gt;</code> with your “Account sid”</li> <li>Replace <code>&lt;subdomain&gt;</code> with the region of your account <ol> <li>&lt;subdomain&gt; of Singapore cluster is @api.exotel.com</li> <li>&lt;subdomain&gt; of Mumbai cluster is @api.in.exotel.com</li> </ol> </li> </ul> <p><code>&lt;your_api_key&gt;</code> , <code>&lt;your_api_token&gt;</code> and <code>&lt;your_sid&gt;</code> are available in the API settings page of your <a href="https://my.exotel.com/apisettings/site#api-credentials">Exotel Dashboard</a></p> <p>The following are the POST parameters:</p> <table class="table table-hover table-responsive table-bordered" class="table table-hover table-responsive table-bordered" style="width: 100%; height: 2776px;"> <tbody> <tr style="height: 48px;"> <th style="width: 25.926%; height: 48px;">Parameter Name</th> <th style="width: 18.9814%; height: 48px;">Mandatory/Optional</th> <th style="width: 53.9351%; height: 48px;">Value</th> </tr> <tr id="sms-send-api-params-from" style="height: 360px;"> <td style="width: 25.926%; height: 360px;">From</td> <td style="width: 18.9814%; height: 360px;">Mandatory</td> <td style="width: 53.9351%; height: 360px;"> <p>Specify one of your ExoPhone or Sender ID (header) linked to it.</p> <ul> <li>ExoPhone: From = '080XXXXXX'</li> <li>Transactional Sender ID: From = 'EXOTEL' (If linked to your ExoPhone)</li> <li>Promotional Numeric Sender ID: From = '600XXX' (If linked to your ExoPhone)</li> </ul> <p>If your account doesn't have a valid Sender ID against the SMS body, API will return <code>HTTP 400 Error Code</code>.</p> <p>To view or configure your Sender IDs, refer <a href="https://support.exotel.com/support/solutions/articles/126794-how-to-choose-an-sms-sender-id-">here</a>.</p> <p>If you are sending SMSs in India, please refer <a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-">here</a> to the new TRAI Guidelines and process (effective 1st June 2020). The Sender ID (From) should be linked with the SMS template as registered on DLT portal.</p> </td> </tr> <tr id="sms-send-api-params-to" style="height: 48px;"> <td style="width: 25.926%; height: 48px;">To</td> <td style="width: 18.9814%; height: 48px;">Mandatory</td> <td style="width: 53.9351%; height: 48px;">Mobile number to which SMS has to be sent. Preferably in <a href="https://en.wikipedia.org/wiki/E.164">E.164 format</a>. If not set, our system will try to match it with a country and route the SMS</td> </tr> <tr id="sms-send-api-params-body" style="height: 96px;"> <td style="width: 25.926%; height: 96px;">Body</td> <td style="width: 18.9814%; height: 96px;">Mandatory</td> <td style="width: 53.9351%; height: 96px;">Content of your SMS; Max Length of the body cannot exceed 2000 characters<br /> To avoid SMS failure, make sure this exactly matches with SMS template added on <a href="https://my.exotel.com/Exotel/settings/site#sms-settings">Exotel Dashboard</a> and is registered with operator DLT portal in case of India.</td> </tr> <tr id="sms-send-api-params-encoding" style="height: 24px;"> <td style="width: 25.926%; height: 24px;">EncodingType</td> <td style="width: 18.9814%; height: 24px;">Optional</td> <td style="width: 53.9351%; height: 24px;">Message type of SMS; <a href="http://support.exotel.in/support/solutions/articles/3000019425-how-is-the-length-of-a-unicode-sms-calculated-">plain or unicode</a></td> </tr> <tr id="sms-send-api-params-priority" style="height: 72px;"> <td style="width: 25.926%; height: 72px;">ShortenUrl </td> <td style="width: 18.9814%; height: 72px;">Optional</td> <td style="width: 53.9351%; height: 72px;"> <p>Whether to shorten the URLs present in the SMS. Can be: "true" or "false". <br /> Please note that it is a chargeable feature and you can refer to <a href="https://support.exotel.com/support/solutions/articles/3000117586">Support article</a> to understand more and get it enabled for your account.</p> </td> </tr> <tr> <td style="width: 25.926%;"> <p>ShortenUrlParams</p> <p>[Header]</p> </td> <td style="width: 18.9814%;">Optional</td> <td style="width: 53.9351%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Header that is part of the whitelisted Shortened URL on the DLT(Distributed Ledger Technology) platform of your choice.  Please ensure that this is an exact match with the header that is part of the whitelisted URL to avoid message failure</p> </td> </tr> <tr style="height: 328px;"> <td style="width: 25.926%; height: 328px;">ShortenUrlParams<br /> [CustomDomain]</td> <td style="width: 18.9814%; height: 328px;">Optional</td> <td style="width: 53.9351%; height: 328px;"> <p>Whether you want the short URL to start with default domain- exo.tl or you want to provide a custom domain of your own choice.</p> <p><span style="font-weight: 400;">     If custom domain is not present or empty, we will use the default domain(exo.tl)</span></p> <p><span style="font-weight: 400;">      If custom domain is given in the request it will be used to form the short URL</span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">Note : </span><span style="font-weight: 400;">Clients will have to route the traffic on their custom domain to</span><a href="http://exo.tl/"> <span style="font-weight: 400;">exo.tl</span></a><span style="font-weight: 400;"> domain, this is a change on your domain management system</span></p> </td> </tr> <tr style="height: 80px;"> <td style="width: 25.926%; height: 80px;"> <p class="star-align">ShortenUrlParams<br /> [Tracking]</p> </td> <td style="width: 18.9814%; height: 80px;">Optional </td> <td style="width: 53.9351%; height: 80px;"> <p>Whether to track the URLs present in the SMS. Can be: "true" or "false". "ShortenUrl" needs to be "true" for Tracking to work.</p> <p>This feature is currently available to select customers. For early access, <a href="https://webforms.pipedrive.com/f/aF051KqXRawWNsP4qANJxV4vy3zZK3yBLMu0Xqtvl74GVhsJhke4GoDPsARfR9">please fill this form. </a></p> </td> </tr> <tr style="height: 712px;"> <td style="width: 25.926%; height: 712px;">ShortenUrlParams<br /> [ClickTrackingCallbackUrl]</td> <td style="width: 18.9814%; height: 712px;">Optional </td> <td style="width: 53.9351%; height: 712px;"> <p>Once someone clicks on the shortened URL,  Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.  </p> <p>Below are the parameters: </p> <p>sid - The Sid (unique id) of the shortened URL  </p> <p>short_url - The complete shortened URL</p> <p>short_code - Key of the shortened URL </p> <p>long_url - Original URL which is shortened</p> <p>Tracking - Whether to track the URLs present in the SMS</p> <p>custom_field - custom field passed in SMS API request String value</p> <p>Expires_at -  Date Time in ISO format when link will expire</p> <p>Created_time - Date Time in ISO format when URL is created</p> <p>Last_viewed -  Date Time in ISO format when link was visited last</p> <p>Total_clicks  - count of total views of short url</p> <p>Account_sid -  Exotel’s unique Account SID</p> <p>Country_code - Country code of the customer who received the SMS</p> <p>Date_created - Date Time in ISO format when link was created </p> <p>Sms_sid - The Sid (unique id) of the SMS, this SID can be used to track the SMS</p> <p>To -  Contact number of the customer who clicked on the URL</p> <p>city - City where the shorten URL is clicked</p> <p>Country - Country code where shorten URL is clicked</p> <p>IP - IP address where shorten URL is clicked</p> <p>Postal code - Postal code where shorten URL is clicked </p> <p>Region - Region where shorten URL is clicked</p> <p>Accuracy radius - Aproximate accuracy radius where shorten URL is clicked </p> <p>OS_version - OS version of the customer who clicked the shorten URL </p> <p>OS_name - OS name of the customer who clicked the shorten URL </p> <p>Device_name - Device name of the customer who clicked the shorten URL </p> <p>Platform type - Platform where shorten URL is clicked </p> </td> </tr> <tr> <td style="width: 25.926%;">ShortenUrlParams<br /> [TimeToExpiry]</td> <td style="width: 18.9814%;">Optional</td> <td style="width: 53.9351%;"> <p>The duration(minutes) after which the short URL becomes invalid.<br /> Minimum is 1 minute and default is 31 days. max. value is  365 days</p> </td> </tr> <tr id="sms-send-api-params-statuscallback" style="height: 256px;"> <td style="width: 25.926%; height: 256px;">StatusCallback</td> <td style="width: 18.9814%; height: 256px;">Optional</td> <td style="width: 53.9351%; height: 256px;"> <p>Once SMS reaches terminal state (sent/failed/failed-dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is <span style="color: #ff6600;">application/x-www-form-urlencoded</span> </p> <p>Below are the parameters:</p> <ul> <li>SmsSid - The Sid (unique id) of the SMS that you got in response to your request</li> <li>To - Mobile number to which SMS was sent</li> <li>Status - one of: queued, sending, submitted, sent, failed-dnd, failed</li> <li>SmsUnits - The number of  SMS units being sent</li> <li>DetailedStatus - Human readable word that explains what happened to the message </li> <li>DetailedStatusCode - Exotel’s Detailed Status code corresponding to the DetailedStatus </li> <li>DateSent - The date on which the message was sent</li> <li>CustomField - The custom field that was set in the POST request. (Will be returned only if it was set)</li> </ul> <p>&nbsp;</p> </td> </tr> <tr style="height: 176px;"> <td style="width: 25.926%; height: 176px;">DltEntityId</td> <td style="width: 18.9814%; height: 176px;">Optional (Globally)<br /> Mandatory (India)</td> <td style="width: 53.9351%; height: 176px;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. This is mandatory to be passed in API or configured on Dashboard for SMS towards Indian destination  (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</p> </td> </tr> <tr style="height: 152px;"> <td style="width: 25.926%; height: 152px;">DltTemplateId</td> <td style="width: 18.9814%; height: 152px;">Optional</td> <td style="width: 53.9351%; height: 152px;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</p> </td> </tr> <tr style="height: 240px;"> <td style="width: 25.926%; height: 240px;">SmsType</td> <td style="width: 18.9814%; height: 240px;">Optional</td> <td style="width: 53.9351%; height: 240px;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers. For International entities, the step to <a href="https://support.exotel.com/support/solutions/articles/38686-what-is-an-sms-template-and-how-can-i-get-a-template-approved-">add a Template</a> on the Exotel dashboard is mandatory.<br /> <br /> This optional parameter can be used to skip template addition on Exotel Dashboard and configure SMS type based on the template registered on DLT in India. </p> <p>Possible values-</p> <ul> <li><strong>transactional</strong> (OTP or Service Implicit content)</li> <li><strong>transactional_opt_in</strong> (Service Explicit content)</li> <li><strong>promotional</strong> (Promotional content with numeric header)</li> </ul> <p>If not set or incorrectly passed, Exotel will look up if content matches Templates added on Exotel for fetching SMS Type and DLT details.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 25.926%; height: 80px;">CustomField</td> <td style="width: 18.9814%; height: 80px;">Optional</td> <td style="width: 53.9351%; height: 80px;"> <p>Set a Custom Field relevant to your use case while sending an SMS. E.g Order ID, Payment ID, Login Attempt etc</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 25.926%; height: 104px;">Priority </td> <td style="width: 18.9814%; height: 104px;">Optional </td> <td style="width: 53.9351%; height: 104px;"> <p>Priority of the SMS; normal or high. Priority=high parameter should only be used for OTP SMSes (Bank or Delivery). Using it for any other SMS may impact your delivery</p> </td> </tr> </tbody> </table> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request</li> <li role="presentation" class="active"><a href="#callagent-1-5-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-1-5-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-1-5-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-1-5-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-1-5-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-1-5-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send -d "From=0XXXXXX4890" -d "To=XXXXX30240" -d "Body=Hello World!" </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-5-2"> <pre class="prettyprint">var request = require('request'); var dataString = 'From=0XXXXXX4890&amp;To=XXXXX30240&amp;Body=Hello World!'; var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', method: 'POST', body: dataString }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-5-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $data = array( 'From' =&gt; '0XXXXXX4890', 'To' =&gt; 'XXXXX30240', 'Body' =&gt; 'Hello World!' ); $response = Requests::post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', $headers, $data); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-5-4"> <pre class="prettyprint">import requests data = { 'From': '0XXXXXX4890', 'To': 'XXXXX30240', 'Body': 'Hello World!' } requests.post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', data=data) </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-5-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send") request = Net::HTTP::Post.new(uri) request.body = "From=0XXXXXX4890&amp;To=XXXXX30240&amp;Body=Hello World!" req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end # response.code # response.body </pre> </div> </div> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request for using URL shortening & click tracking</li> <li role="presentation" class="active"><a href="#callagent-1-6-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-1-6-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-1-6-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-1-6-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-1-6-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-1-6-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send -d "From=0XXXXXX4890" <span class="pun">-</span><span class="pln">d </span><span class="str">"To=XXXXX30241"</span> -d "Body=Hello World!" -d "ShortenUrl=true" -d "ShortenUrlParams[Header]=EXOTEL" -d "ShortenUrlParams[Tracking]=true" -d "ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-6-2"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">var</span><span class="pln"> request </span><span class="pun">=</span> <span class="kwd">require</span><span class="pun">(</span><span class="str">'request'</span><span class="pun">);</span> <span class="kwd">var</span><span class="pln"> dataString </span><span class="pun">=</span> <span class="str">'From=0XXXXXX4890&amp;To=XXXXX30240&amp;Body=Hello World!&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/'</span><span class="pun">;</span> <span class="kwd">var</span><span class="pln"> options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> url</span><span class="pun">:</span> <span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> method</span><span class="pun">:</span> <span class="str">'POST'</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">:</span><span class="pln"> dataString </span><span class="pun">};</span> <span class="kwd">function</span><span class="pln"> callback</span><span class="pun">(</span><span class="pln">error</span><span class="pun">,</span><span class="pln"> response</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">)</span> <span class="pun">{</span> <span class="kwd">if</span> <span class="pun">(!</span><span class="pln">error </span><span class="pun">&amp;&amp;</span><span class="pln"> response</span><span class="pun">.</span><span class="pln">statusCode </span><span class="pun">==</span> <span class="lit">200</span><span class="pun">)</span> <span class="pun">{</span><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">body</span><span class="pun">);</span> <span class="pun">}</span> <span class="pun">}</span><span class="pln"> request</span><span class="pun">(</span><span class="pln">options</span><span class="pun">,</span><span class="pln"> callback</span><span class="pun">);</span></pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-6-3"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="pun">&lt;?</span><span class="pln">php include</span><span class="pun">(</span><span class="str">'vendor/rmccue/requests/library/Requests.php'</span><span class="pun">);</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">register_autoloader</span><span class="pun">();</span><span class="pln"> $headers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln"> $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span> <span class="str">'From'</span> <span class="pun">=&gt;</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'To'</span> <span class="pun">=&gt;</span> <span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'Body'</span> <span class="pun">=&gt;</span> <span class="str">'Hello World!', 'ShortenUrl' =&gt; 'true', 'ShortenUrlParams[Header]' =&gt; 'EXOTEL' 'ShortenUrlParams[Tracking]' =&gt; 'true', 'ShortenUrlParams[ClickTrackingCallbackUrl]' =&gt; 'https://www.google.co.in/'</span> <span class="pun">);</span><span class="pln"> $response </span><span class="pun">=</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> $headers</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">);</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-6-4"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">import</span><span class="pln"> requests data </span><span class="pun">=</span> <span class="pun">{</span> <span class="str">'From'</span><span class="pun">:</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'To'</span><span class="pun">:</span> <span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'Body'</span><span class="pun">:</span> <span class="str">'Hello World!', </span> <span class="str">'ShortenUrl' : 'true', 'ShortenUrlParams[Header]' : 'EXOTEL', </span> <span class="str">'ShortenUrlParams[Tracking]' : 'true', </span> <span class="str">'ShortenUrlParams[ClickTrackingCallbackUrl]' : 'https://www.google.co.in/'</span> <span class="pun">}</span><span class="pln"> requests</span><span class="pun">.</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">=</span><span class="pln">data</span><span class="pun">)</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-6-5"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">require</span> <span class="str">'net/http'</span> <span class="kwd">require</span> <span class="str">'uri'</span><span class="pln"> uri </span><span class="pun">=</span><span class="pln"> URI</span><span class="pun">.</span><span class="pln">parse</span><span class="pun">(</span><span class="str">"https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send"</span><span class="pun">)</span><span class="pln"> request </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">::</span><span class="typ">Post</span><span class="pun">.</span><span class="kwd">new</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">)</span><span class="pln"> request</span><span class="pun">.</span><span class="pln">body </span><span class="pun">=</span> <span class="str">"From=0XXXXXX4890&amp;To=XXXXX30240&amp;Body=Hello World!&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</span><span class="pln"> req_options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> use_ssl</span><span class="pun">:</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">scheme </span><span class="pun">==</span> <span class="str">"https"</span><span class="pun">,</span> <span class="pun">}</span><span class="pln"> response </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">.</span><span class="pln">start</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">.</span><span class="pln">hostname</span><span class="pun">,</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">port</span><span class="pun">,</span><span class="pln"> req_options</span><span class="pun">)</span> <span class="kwd">do</span> <span class="pun">|</span><span class="pln">http</span><span class="pun">|</span><span class="pln"> http</span><span class="pun">.</span><span class="pln">request</span><span class="pun">(</span><span class="pln">request</span><span class="pun">)</span> <span class="kwd">end</span> <span class="com"># response.code</span> <span class="com"># response.body</span> </pre> </div> </div> </div> <div class="wrapper-list"> <p>HTTP Response:</p> <ul> <li>On success, the HTTP response status code will be 200</li> <li>The Sid is the unique identifier of the SMS and it will be useful to log this for future debugging</li> <li>the HTTP body will contain an XML similar to the one below</li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response</li> <li role="presentation" class="active"><a href="#callagent-1-8-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-1-8-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-1-8-1"> <pre class="prettyprint">{ "SMSMessage": { "Sid": "0f477d60517e6e6a0f6d9a7e9af8630e", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30240", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": null, "Body": "Hello World!", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e.json", "ApiVersion": null, "Price": null, "Status": "queued", "DetailedStatusCode": "21010", "DetailedStatus": "PENDING_TO_OPERATOR", "SmsUnits": null } }</pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-1-8-2"> <pre class="prettyprint">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;TwilioResponse&gt; &lt;SMSMessage&gt; &lt;Sid&gt;0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30240&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent/&gt; &lt;Body&gt;Hello World!&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;queued&lt;/Status&gt; &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt; &lt;SmsUnits/&gt; &lt;/SMSMessage&gt; &lt;/TwilioResponse&gt;</pre> </div> </div> </div> <div class="wrapper-list"> <p>Description of parameters mentioned in the above response:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%; height: 1240px;"> <tbody> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>Parameter Name</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>Type &amp; Value</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>Sid</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>string; an alpha-numeric unique identifier of the SMS</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>AccountSid</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>String; Your account identifier</p> </td> </tr> <tr style="height: 80px;"> <td style="height: 80px; width: 22.3777%;"> <p>From</p> </td> <td style="height: 80px; width: 76.6899%;"> <p>String; It is of format &lt;VN&gt;/&lt;SenderID&gt; where &lt;VN&gt; is your Exotel Virtual Number/ExoPhone through which you are sending the SMS. &lt;SenderID&gt; is the SenderID via which this SMS was sent</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>To</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>String; The mobile number(s) to which the SMS was sent</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>DateCreated</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was received at our server</p> </td> </tr> <tr style="height: 80px;"> <td style="height: 80px; width: 22.3777%;"> <p>DateUpdated</p> </td> <td style="height: 80px; width: 76.6899%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when any property of this SMS was last updated by our server</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>DateSent</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recepient</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>Body</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>String; The body of the SMS message sent</p> </td> </tr> <tr style="height: 288px;"> <td style="height: 288px; width: 22.3777%;"> <p>Status</p> </td> <td style="height: 288px; width: 76.6899%;"> <p>Can be of:</p> <ul> <li>queued - This means that the SMS you have sent has been queued internally for delivery</li> <li>sending - This means that we're in process of sending the SMS to upstream provider/gateway</li> <li>submitted - This means that the SMS you have sent has been submitted from our system to SMS Gateway</li> <li>sent - The SMS was successfully delivered to the handset</li> <li>failed-dnd - The delivery of the SMS failed because the number belongs to the TRAI NCPR list. This is applicable only for promotional SMS</li> <li>failed - The delivery of SMS failed. Please see DetailedStatusCode and DetailedStatus for further details.</li> </ul> </td> </tr> <tr style="height: 80px;"> <td style="height: 80px; width: 22.3777%;"> <p>DetailedStatus</p> </td> <td style="height: 80px; width: 76.6899%;"> <p>Human readable word that explains what happened to the Message. Log these strings in your log files for grepping and debugging by a developer.</p> </td> </tr> <tr style="height: 80px;"> <td style="height: 80px; width: 22.3777%;"> <p>DetailedStatusCode</p> </td> <td style="height: 80px; width: 76.6899%;"> <p>Exotel’s Detailed Status code corresponding to the DetailedStatus. Use this field to build decision making in your code.</p> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>Price</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>Double; If present, this will be the amount (in INR or USD) you have been charged for the SMS</p> </td> </tr> <tr style="height: 128px;"> <td style="height: 128px; width: 22.3777%;"> <p>Direction</p> </td> <td style="height: 128px; width: 76.6899%;"> <ul> <li>incoming - incoming messages</li> <li>outbound-api - messages initiated via the REST API</li> <li>outbound-call - messages initiated during a call</li> <li>outbound-reply - messages initiated in response to an incoming message</li> </ul> </td> </tr> <tr style="height: 56px;"> <td style="height: 56px; width: 22.3777%;"> <p>Uri</p> </td> <td style="height: 56px; width: 76.6899%;"> <p>Uri is the path of the SmsSid</p> </td> </tr> <tr> <td style="width: 22.3777%;"> <p>SmsUnits</p> </td> <td style="width: 76.6899%;"> <p>The number of  SMS units being sent</p> </td> </tr> </tbody> </table> <p><strong>Mapping and Description of status codes</strong></p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 15.4895%;"> <p>Detailed Status Code</p> </td> <td style="width: 15.9068%;"> <p>Nature of Detailed Status Code</p> </td> <td style="width: 15.8881%;"> <p>Status</p> </td> <td style="width: 15.5967%;"> <p>DetailedStatus</p> </td> <td style="width: 40.4872%;"> <p>What it means</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21010</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>queued</p> </td> <td style="width: 15.5967%;"> <p>PENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message is is being processed by Exotel.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21015</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>sending</p> </td> <td style="width: 15.5967%;"> <p>SENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been processed by Exotel and is en-route to the operator.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21020</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>submitted</p> </td> <td style="width: 15.5967%;"> <p>PENDING_ON_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been successfully Submitted to the operator and is pending delivery. In India, Promotional SMS may be in this state if submitted outside permitted time (10AM to 9PM).</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>20005</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>sent</p> </td> <td style="width: 15.5967%;"> <p>DELIVERED_TO_HANDSET</p> </td> <td style="width: 40.4872%;"> <p>We know with confidence that the message has been delivered to recipient's handset.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>20006</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>sent</p> </td> <td style="width: 15.5967%;"> <p>DELIVERED_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been delivered to operator. In some regions and routes, handset delivery status (DELIVERED_TO_HANDSET) is not available and hence this is the best we can ever report about the delivery status.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23005</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed-dnd</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED_DND</p> </td> <td style="width: 40.4872%;"> <p>The message has been rejected as the end user is a subscriber of DND (Do Not Disturb) services.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23010</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_INVALID_DESTINATION_NUMBER</p> </td> <td style="width: 40.4872%;"> <p>The destination number is incorrect, not SMS-enabled or is a PSTN landline.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23015</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SPAM_DETECTED</p> </td> <td style="width: 40.4872%;"> <p>One of the most common reasons for SMS delivery failure is carrier level spam filters. Carriers have added systems and algorithms that detect spam content and then block these messages. Unfortunately, these filters are hidden, subject to carrier preferences, vary from carrier to carrier, and can be changed without notice.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23020</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED_BLACKLIST</p> </td> <td style="width: 40.4872%;"> <p>You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP/DND opt-out message and no longer wishes to receive messages from you.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24990</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_UNKNOWN_ERROR</p> </td> <td style="width: 40.4872%;"> <p>Delivering your message failed for reasons that are unknown to us and to our carriers. If you notice too many of these cases, please reach out to us.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23030</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_UNAVAILABLE_ROUTE</p> </td> <td style="width: 40.4872%;"> <p>The carrier and fallback carriers were not able to deliver the SMS message because no route was available.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23035</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_UNAVAILABLE</p> </td> <td style="width: 40.4872%;"> <p>This message was not delivered because subscriber was temporarily unavailable. For example, the receiving handset was out of coverage or switched off. This is a temporary failure, but a message sent to the same subscriber at a later point in time may get delivered.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23040</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_UNKNOWN</p> </td> <td style="width: 40.4872%;"> <p>Subscriber is unknown to the operators or no longer active.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23050</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_EXPIRED</p> </td> <td style="width: 40.4872%;"> <p>The message was sent to the operator and may have been retried several times within the default network SMS expiration duration. The message request has now expired.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23060</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED</p> </td> <td style="width: 40.4872%;"> <p>For a number of reasons, the message was rejected by Exotel or the operator.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24105</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_HANDSET_ERROR</p> </td> <td style="width: 40.4872%;"> <p>The message was not delivered to the subscriber due to handset failure</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24110</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_OPERATOR_ERROR</p> </td> <td style="width: 40.4872%;"> <p>The message failed due to an issue at the operator end</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23070</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_INVALID_MESSAGE</p> </td> <td style="width: 40.4872%;"> <p>The message was rejected by the operator as Invalid. While Exotel will automatically split messages longer than 160 GSM 7-bit characters, or 70 unicode 16-bit characters into multipart SMS, Messages exceeding the allowed character limit of 2000 characters may also end in this state. Any request error related to the message, say unidentified character, may also fall under this bucket.<br /> <br /> In India, if DLT related parameters are not set like Entity ID, your SMS may fail with this error code.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23072</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;">FAILED_INVALID_SENDER_ID<br /> <p>&nbsp;</p> </td> <td style="width: 40.4872%;"> <p>The message failed due to invalid or unregistered Sender ID. In case of India, if your Sender ID (header) is not registered with operator DLT platform, you may receive this error.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24010</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SYSTEM_ERROR</p> </td> <td style="width: 40.4872%;"> <p>SMS failed while processing within Exotel system.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24120</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_ERROR</p> </td> <td style="width: 40.4872%;"> <p>All subscriber or recipient issues that are unrelated to the handset (For ex - Receiver does not have enough mobile balance to receive the SMS) may fall under this bucket.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23080</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>SENDER_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Sender ID (Header) is blocked or failed at DLT platform by the operator due to mismatch, non-registration, template not linked with Sender (header) etc.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23081</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>ENTITY_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Entity (DLT Entity ID) is blocked or failed at DLT platform by the operator due to DLT Entity ID not passed in API or configured on Exotel Dashboard, values are mismatching etc.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23082</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>TEMPLATE_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Template (Template ID) is blocked or failed at DLT due to Template ID not set in API or configured on Exotel Dashboard, content is not exactly matching, non-registration of the template etc.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p><span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">23083</span></p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_SCRUBBING_ERROR</span></p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. SMS is blocked or failed at DLT even after registration due to explicit blocking of the Sender ID due to spam, issues with consent or any other technical issues with DLT platform.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>&nbsp;</p> <p>23084<span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"> </span></p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_CONSENT_ERROR</span></p> </td> <td style="width: 40.4872%;"> <p>SMS <span class="il">DLT</span> c<span class="il">onsent</span> registration is required for you to continue sending SMS to your customers. Applicable only for SMS sent to Indian destination numbers via domestic lines. </p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p dir="ltr" data-identifyelement="641"><span dir="ltr" data-identifyelement="643">23181</span></p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span dir="ltr" data-identifyelement="643">DLT_TEMPLATE_ID_INVALID</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is invalid. </span>Some operators may report this error as 23182: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND.</span></span></p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23182</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template was not found.</span></p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23183</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_INACTIVE</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is inactive.</span></p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23184</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_BLACKLISTED</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template has been blacklisted. This may happen due to users reporting this message.</span></p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23185</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message body does not match the Template on the DLT portal. </span></p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23186</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_LENGTH_EXCEEDED</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message has exceeded the maximum allowed length of 2000 characters. </span>Some operators may report this error as 23185: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH.</span></span></p> </td> </tr> <tr> <td style="width: 15.4895%;"><span style="font-weight: 400;">23281</span> <p>&nbsp;</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_ENTITY_NOT_FOUND</span></span></p> </td> <td style="width: 40.4872%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The ENTITY_ID was not found on the DLT portal. </span><span style="font-family: inherit; font-size: inherit;">Some operators may report this error as 23081: ENTITY_BLOCKED_BY DLT.</span></p> </td> </tr> </tbody> </table> </div> <div class="alert alert-info" role="alert"> <p>In case your SMS body contains special characters (like -, &amp;, % etc), URL-encode the text</p> <p>In case EncodingType is not set, then it will auto detect the encoding type of SMS, whether it is plain or unicode</p> <p>DetailedStatusCode in the range of 23084-24000 are reserved for future and can be expanded for any other detailed status scenario related to SMS.</p> </div> <div class="wrapper-list"> <p><strong>Mapping and Description of HTTP API Error Codes in the API response</strong></p> <p>POST (/send, /bulksend) API error codes:</p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your trial account is being used to send promotional SMS</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40000</span></p> </td> <td> <p><span style="font-weight: 400;">Not allowed to send promotional SMS(s).</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is trial and KYC not completed, and one of the following occurs:</span></p> <p><span style="font-weight: 400;">- Number not whitelisted</span></p> <p><span style="font-weight: 400;">- It is whitelisted but is not of type agent-whitelist</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">340030</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not yet KYC compliant;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If there is insufficient balance in your account</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40001</span></p> </td> <td> <p><span style="font-weight: 400;">Insufficient balance to send $n sms. Please recharge your account.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is not configured to send SMSes to the recipient country.</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40003</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not configured to send SMSes to this country. Please write to hello@exotel.com to update the setup.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If yours is a trial account with incomplete KYC and has a whitelisting error. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">35000</span></p> </td> <td> <p><span style="font-weight: 400;">Internal Server Error</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Exotel internal error code related to processing. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">40100</span></p> </td> <td> <p><span style="font-weight: 400;">Error Processing Request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for single send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40200</span></p> </td> <td> <p><span style="font-weight: 400;">Message body cannot be empty.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for bulk send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40201</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Array) message body</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40202</span></p> </td> <td> <p><span style="font-weight: 400;">Message body is invalid.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all destination numbers are invalid</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40203</span></p> </td> <td> <p><span style="font-weight: 400;">All the destination numbers are invalid: $number</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid SMS type parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40204</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: SmsType is not set correctly</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Empty) From parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40205</span></p> </td> <td> <p><span style="font-weight: 400;">Empty From field in the request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">From parameter does not match SMS type</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40206</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From format is not matching with the SmsType</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Request parameter passed as array and not as a string</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40207</span></p> </td> <td> <p><span style="font-weight: 400;">Array passed as Value in params. Expecting String</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Non-array) messages parameter</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40208</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages has to be an array</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid encoding type parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40209</span></p> </td> <td> <p><span style="font-weight: 400;">Encoding type is not properly set. Please check the encoding type again before sending the request for Msg=[$body]</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Missing FROM parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40210</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all the below conditions are true:</span></p> <p><span style="font-weight: 400;">- SMS type is promotional</span></p> <p><span style="font-weight: 400;">- It is an Indian account</span></p> <p><span style="font-weight: 400;">- Promotional sender ID is not found (contact hello@exotel.com)</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40300</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional template found and no numeric sender ID exists in your account for sending it as promotional</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your sender ID is not found This is specific to international accounts and SMS type is not promotional</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40301</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional sender ID found in your account</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a dynamic bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40400</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account has sent POST requests higher than the maximum limit feasible</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40402</span></p> </td> <td> <p><span style="font-weight: 400;">Too many POST requests.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">In the trial phase, if your account exceeds the max. SMS limit</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40404</span></p> </td> <td> <p><span style="font-weight: 400;">Please note that you can send only 10 SMS from your account during the trial phase.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Throttle limit has been exceeded</span></p> <p><span style="font-weight: 400;">(Update to existing error code)</span></p> </td> <td> <p><span style="font-weight: 400;">503</span></p> </td> <td> <p><span style="font-weight: 400;">35006 -&gt; 40405</span></p> </td> <td> <p><span style="font-weight: 400;">Service Unavailable</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a static bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40406</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">POST API call to an unrecognized SMS endpoint. eg: v1/Accounts/&lt;account-sid&gt;/Sms/&lt;invalid-parameter&gt;</span></p> </td> <td> <p><span style="font-weight: 400;">405</span></p> </td> <td> <p><span style="font-weight: 400;">40502</span></p> </td> <td> <p><span style="font-weight: 400;">This method is not supported</span></p> </td> </tr> </tbody> </table> <p><strong>POST (/send, /bulksend) and /GET (/sms) error codes:</strong></p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account is inactive</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40002</span></p> </td> <td> <p><span style="font-weight: 400;">Account inactive.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Api call to v1/Accounts/exotel42us3/Sms</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40500</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid Parameters</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Unsupported API version</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Exotel API Version $version not supported. Contact Exotel for details.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Accounts missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">/Accounts/ missing from URL</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Account sid missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Auth key or auth token missing</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Authentication is required to view this page.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid auth key or auth token</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td> <p><span style="font-weight: 400;">34010</span></p> </td> <td> <p><span style="font-weight: 400;">Unauthorized;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid Account sid or any resource or action is missing or invalid</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Non alpha-numeric auth key or token</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">34001</span></p> </td> <td> <p><span style="font-weight: 400;">Bad or missing parameters in request.;</span></p> </td> </tr> </tbody> </table> <p>&nbsp;</p> </div> <hr> </section> <section class="sectionAPIClass" id="sms-details"> <h1 >SMS details </h1> <div class="wrapper-list"> <p>To get the details of a SMS (including Status, Direction, etc.), you will need to make a HTTP GET request to</p> </div> <div class="well api-well"> <div class="col-sm"> <span class="get">GET</span> </div> <div class="col-sm" style="margin: auto 10px;"> <p class="copy-text"> <span>https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/&lt;SmsSid&gt;</span> </p> </div> <div class="col-sm"> <li> <a type="button" id="apidocTrynowbtn" onclick="openConsolePage(event,'https://developer.exotel.com/api-console/product-sms#sms-details')" href="https://developer.exotel.com/api-console/product-sms#sms-details" class="api-try btn-block show" >Try it</a> </li> <!-- <input class="api-try btn-block <?php// echo esc_html($tryvalue); ?>" onclick="openConsolePage(event,'<?php// echo $tryProductUrl?>')" type="button" value="Try it"> --> </div> </div> <div class="wrapper-list"> <p>where <code>&lt;SmsSid&gt;</code> is the Sid of the SMS.</p> </div> <div class="alert alert-info" role="alert"> <p>If you&#8217;d prefer response in JSON format, just append .json at the end of the HTTP POST request.</p> <p>SmsSid is an alpha-numeric unique identifier generated for all the SMS sent via Exotel</p> </div> <div class="wrapper-list"> <ul> <li>Replace <code>&lt;your_api_key&gt;</code> and <code>&lt;your_api_token&gt;</code> with the API key and token created by you.</li> <li>Replace <code>&lt;your_sid&gt;</code> with your “Account sid”</li> <li>Replace <code>&lt;subdomain&gt;</code> with the region of your account <ol> <li>&lt;subdomain&gt; of Singapore cluster is @api.exotel.com</li> <li>&lt;subdomain&gt; of Mumbai cluster is @api.in.exotel.com</li> </ol> </li> </ul> <p><code>&lt;your_api_key&gt;</code> , <code>&lt;your_api_token&gt;</code> and <code>&lt;your_sid&gt;</code> are available in the API settings page of your <a href="https://my.exotel.com/apisettings/site#api-credentials">Exotel Dashboard</a></p> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request</li> <li role="presentation" class="active"><a href="#callagent-2-6-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-2-6-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-2-6-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-2-6-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-2-6-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-2-6-1"> <pre class="prettyprint lang-bsh">curl https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/0b6c6a98f32682862ce6edf1bdab3526 </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-2-6-2"> <pre class="prettyprint">var request = require('request'); var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/0b6c6a98f32682862ce6edf1bdab3526' }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-2-6-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $response = Requests::get('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/0b6c6a98f32682862ce6edf1bdab3526', $headers); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-2-6-4"> <pre class="prettyprint">import requests requests.get('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/0b6c6a98f32682862ce6edf1bdab3526') </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-2-6-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/SMS/Messages/0b6c6a98f32682862ce6edf1bdab3526") response = Net::HTTP.get_response(uri) # response.code # response.body </pre> </div> </div> </div> <div class="wrapper-list"> <p>HTTP Response:</p> <ul> <li>On success, the HTTP response status code will be 200</li> <li>the HTTP body will contain an XML similar to the one below</li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response</li> <li role="presentation" class="active"><a href="#callagent-2-8-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-2-8-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-2-8-1"> <pre class="prettyprint">{ "SMSMessage": { "Sid": "0f477d60517e6e6a0f6d9a7e9af8630e", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30240", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": "1970-01-01 05:30:00", "Body": "Hello World!", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e.json", "ApiVersion": null, "Price": null, "Status": "submitted", "DetailedStatusCode": "21020", "DetailedStatus": "PENDING_ON_OPERATOR", "SmsUnits": 1 } } </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-2-8-2"> <pre class="prettyprint">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;TwilioResponse&gt; &lt;SMSMessage&gt; &lt;Sid&gt;0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30240&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent&gt;1970-01-01 05:30:00&lt;/DateSent&gt; &lt;Body&gt;Hello World!&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;submitted&lt;/Status&gt; &lt;DetailedStatusCode&gt;21020&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_ON_OPERATOR&lt;/DetailedStatus&gt; &lt;SmsUnits&gt;1&lt;/SmsUnits&gt; &lt;/SMSMessage&gt; &lt;/TwilioResponse&gt;</pre> </div> </div> </div> <div class="wrapper-list"> <p>Description of parameters mentioned in the above response:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 21.0957%;"> <p>Parameter Name</p> </td> <td style="width: 77.9719%;"> <p>Type &amp; Value</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Sid</p> </td> <td style="width: 77.9719%;"> <p>string; an alpha-numeric unique identifier of the SMS</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>AccountSid</p> </td> <td style="width: 77.9719%;"> <p>String; Your account identifier</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>From</p> </td> <td style="width: 77.9719%;"> <p>String; It is of format &lt;VN&gt;/&lt;SenderID&gt; where &lt;VN&gt; is your Exotel Virtual Number/ExoPhone through which you are sending the SMS. &lt;SenderID&gt; is the SenderID via which this SMS was sent</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>To</p> </td> <td style="width: 77.9719%;"> <p>String; Mobile number to which SMS was sent. Preferably in <a href="https://en.wikipedia.org/wiki/E.164">E.164 format</a>. If not set, our system will try to match it with a country and route the SMS</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>DateCreated</p> </td> <td style="width: 77.9719%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was received at our server</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>DateUpdated</p> </td> <td style="width: 77.9719%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when any property of this SMS was last updated by our server</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>DateSent</p> </td> <td style="width: 77.9719%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recepient</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Body</p> </td> <td style="width: 77.9719%;"> <p>String; The body of the SMS message sent</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Status</p> </td> <td style="width: 77.9719%;"> <p>Can be of:</p> <ul> <li>queued - This means that the SMS you have sent has been queued internally for delivery</li> <li>sending - This means that we're in process of sending the SMS to upstream provider/gateway</li> <li>submitted - This means that the SMS you have sent has been submitted from our system to SMS Gateway</li> <li>sent - The SMS was successfully delivered to the handset</li> <li>failed-dnd - The delivery of the SMS failed because the number belongs to the TRAI NCPR list. This is applicable only for promotional SMS</li> <li>failed - The delivery of SMS failed. Please see DetailedStatusCode and DetailedStatus for further details.</li> </ul> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>DetailedStatus</p> </td> <td style="width: 77.9719%;"> <p>Human readable word that explains what happened to the Message. Log these strings in your log files for grepping and debugging by a developer.</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>DetailedStatusCode</p> </td> <td style="width: 77.9719%;"> <p>Exotel’s Detailed Status code corresponding to the DetailedStatus. Use this field to build decision making in your code.</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Price</p> </td> <td style="width: 77.9719%;"> <p>Double; If present, this will be the amount (in INR) you have been charged for the SMS</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Direction</p> </td> <td style="width: 77.9719%;"> <ul> <li>incoming - incoming messages</li> <li>outbound-api - messages initiated via the REST API</li> <li>outbound-call - messages initiated during a call</li> <li>outbound-reply - messages initiated in response to an incoming message</li> </ul> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>Uri</p> </td> <td style="width: 77.9719%;"> <p>Uri is the path of the SmsSid</p> </td> </tr> <tr> <td style="width: 21.0957%;"> <p>SmsUnits</p> </td> <td style="width: 77.9719%;"> <p>The number of  SMS units being sent</p> </td> </tr> </tbody> </table> <p><strong>Mapping and Description of status codes</strong></p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 15.4895%;"> <p>Detailed Status Code</p> </td> <td style="width: 15.9068%;"> <p>Nature of Detailed Status Code</p> </td> <td style="width: 15.8881%;"> <p>Status</p> </td> <td style="width: 15.5967%;"> <p>DetailedStatus</p> </td> <td style="width: 40.4872%;"> <p>What it means</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21010</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>queued</p> </td> <td style="width: 15.5967%;"> <p>PENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message is is being processed by Exotel.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21015</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>sending</p> </td> <td style="width: 15.5967%;"> <p>SENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been processed by Exotel and is en-route to the operator.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>21020</p> </td> <td style="width: 15.9068%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%;"> <p>submitted</p> </td> <td style="width: 15.5967%;"> <p>PENDING_ON_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been successfully Submitted to the operator and is pending delivery. In India, Promotional SMS may be in this state if submitted outside permitted time (10AM to 9PM).</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>20005</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>sent</p> </td> <td style="width: 15.5967%;"> <p>DELIVERED_TO_HANDSET</p> </td> <td style="width: 40.4872%;"> <p>We know with confidence that the message has been delivered to recipient's handset.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>20006</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>sent</p> </td> <td style="width: 15.5967%;"> <p>DELIVERED_TO_OPERATOR</p> </td> <td style="width: 40.4872%;"> <p>The message has been delivered to operator. In some regions and routes, handset delivery status (DELIVERED_TO_HANDSET) is not available and hence this is the best we can ever report about the delivery status.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23005</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed-dnd</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED_DND</p> </td> <td style="width: 40.4872%;"> <p>The message has been rejected as the end user is a subscriber of DND (Do Not Disturb) services.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23010</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_INVALID_DESTINATION_NUMBER</p> </td> <td style="width: 40.4872%;"> <p>The destination number is incorrect, not SMS-enabled or is a PSTN landline.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23015</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SPAM_DETECTED</p> </td> <td style="width: 40.4872%;"> <p>One of the most common reasons for SMS delivery failure is carrier level spam filters. Carriers have added systems and algorithms that detect spam content and then block these messages. Unfortunately, these filters are hidden, subject to carrier preferences, vary from carrier to carrier, and can be changed without notice.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23020</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED_BLACKLIST</p> </td> <td style="width: 40.4872%;"> <p>You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP/DND opt-out message and no longer wishes to receive messages from you.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24990</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_UNKNOWN_ERROR</p> </td> <td style="width: 40.4872%;"> <p>Delivering your message failed for reasons that are unknown to us and to our carriers. If you notice too many of these cases, please reach out to us.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23030</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_UNAVAILABLE_ROUTE</p> </td> <td style="width: 40.4872%;"> <p>The carrier and fallback carriers were not able to deliver the SMS message because no route was available.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23035</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_UNAVAILABLE</p> </td> <td style="width: 40.4872%;"> <p>This message was not delivered because subscriber was temporarily unavailable. For example, the receiving handset was out of coverage or switched off. This is a temporary failure, but a message sent to the same subscriber at a later point in time may get delivered.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23040</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_UNKNOWN</p> </td> <td style="width: 40.4872%;"> <p>Subscriber is unknown to the operators or no longer active.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23050</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_EXPIRED</p> </td> <td style="width: 40.4872%;"> <p>The message was sent to the operator and may have been retried several times within the default network SMS expiration duration. The message request has now expired.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23060</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_REJECTED</p> </td> <td style="width: 40.4872%;"> <p>For a number of reasons, the message was rejected by Exotel or the operator.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24105</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_HANDSET_ERROR</p> </td> <td style="width: 40.4872%;"> <p>The message was not delivered to the subscriber due to handset failure</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24110</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_OPERATOR_ERROR</p> </td> <td style="width: 40.4872%;"> <p>The message failed due to an issue at the operator end</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23070</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_INVALID_MESSAGE</p> </td> <td style="width: 40.4872%;"> <p>The message was rejected by the operator as Invalid. While Exotel will automatically split messages longer than 160 GSM 7-bit characters, or 70 unicode 16-bit characters into multipart SMS, Messages exceeding the allowed character limit of 2000 characters may also end in this state. Any request error related to the message, say unidentified character, may also fall under this bucket.<br /> <br /> In India, if DLT related parameters are not set like Entity ID, your SMS may fail with this error code.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23072</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;">FAILED_INVALID_SENDER_ID<br /> <p>&nbsp;</p> </td> <td style="width: 40.4872%;"> <p>The message failed due to invalid or unregistered Sender ID. In case of India, if your Sender ID (header) is not registered with operator DLT platform, you may receive this error.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24010</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SYSTEM_ERROR</p> </td> <td style="width: 40.4872%;"> <p>SMS failed while processing within Exotel system.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>24120</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>FAILED_SUBSCRIBER_ERROR</p> </td> <td style="width: 40.4872%;"> <p>All subscriber or recipient issues that are unrelated to the handset (For ex - Receiver does not have enough mobile balance to receive the SMS) may fall under this bucket.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23080</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>SENDER_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Sender ID (Header) is blocked or failed at DLT platform by the operator due to mismatch, non-registration, template not linked with Sender (header) etc.<br /> <br /> </p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23081</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>ENTITY_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Entity (DLT Entity ID) is blocked or failed at DLT platform by the operator due to DLT Entity ID not passed in API or configured on Exotel Dashboard, values are mismatching etc.<br /> <br /> </p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p>23082</p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p>TEMPLATE_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. Template (Template ID) is blocked or failed at DLT due to Template ID not set in API or configured on Exotel Dashboard, content is not exactly matching, non-registration of the template etc.<br /> <br /> </p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p><span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">23083</span></p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_SCRUBBING_ERROR</span></p> </td> <td style="width: 40.4872%;"> <p>Applicable only for SMS sent to Indian destination numbers via domestic lines. SMS is blocked or failed at DLT even after registration due to explicit blocking of the Sender ID due to spam, issues with consent or any other technical issues with DLT platform.</p> </td> </tr> <tr> <td style="width: 15.4895%;"> <p><span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">23084</span></p> </td> <td style="width: 15.9068%;"> <p>Final</p> </td> <td style="width: 15.8881%;"> <p>failed</p> </td> <td style="width: 15.5967%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_CONSENT_ERROR</span></p> </td> <td style="width: 40.4872%;"> <p>SMS <span class="il">DLT</span> c<span class="il">onsent</span> registration is required for you to continue sending SMS to your customers. Applicable only for SMS sent to Indian destination numbers via domestic lines. </p> </td> </tr> </tbody> </table> </div> <div class="alert alert-info" role="alert"> <p>DetailedStatusCode in the range of 23084-24000 are reserved for future and can be expanded for any other detailed status scenario related to SMS.</p> </div> <div class="wrapper-list"> <p>Exotel can push the SMS status to you after the SMS reaches any terminal state ie <strong>sent</strong>, <strong>failed</strong> or <strong>failed-dnd</strong>. For this, you need to pass an additional parameter <strong>StatusCallback</strong> along with your other parameters. This parameter should be an URL hosted by you.</p> <p>Exotel will make a POST request to the <strong>StatusCallback</strong> with the following parameter:</p> <ul> <li><strong>SmsSid -</strong> The Sid (unique id) of the SMS that you got in response to your request</li> <li><strong>To -</strong> Mobile number to which SMS was sent</li> <li><strong>Status -</strong> one of: queued, sending, submitted, sent, failed-dnd, failed</li> <li><strong>DetailedStatus</strong> - Human readable word that explains what happened to the message </li> <li><strong>DetailedStatusCode</strong> - Exotel’s Detailed Status code corresponding to the DetailedStatus </li> <li><strong>DateSent</strong> - The date on which the message was sent</li> <li><strong>SmsUnits</strong> -  The number of  SMS units being sent</li> </ul> </div> <div class="wrapper-list"> <p><strong>Mapping and Description of  HTTP API Error codes in the API response</strong></p> <p><strong>GET (/sms) error codes:</strong></p> <table class="table table-hover table-responsive table-bordered" style="width: 98.0879%; height: 275px;"> <tbody> <tr style="height: 55px;"> <td style="height: 55px;"> <p><strong>Scenario</strong></p> </td> <td style="height: 55px;"> <p><strong>HTTP Error Code</strong></p> </td> <td style="height: 55px;"> <p><strong>API Error code</strong></p> </td> <td style="height: 55px;"> <p><strong>Error message</strong></p> </td> </tr> <tr style="height: 55px;"> <td style="height: 55px;"> <p><span style="font-weight: 400;">SID not found in GET call</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">200</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">-</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">No matching results</span></p> </td> </tr> <tr style="height: 55px;"> <td style="height: 55px;"> <p><span style="font-weight: 400;">If your account has sent GET requests higher than the maximum limit feasible</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">429</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">40403</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">Too many GET requests.</span></p> </td> </tr> <tr style="height: 55px;"> <td style="height: 55px;"> <p><span style="font-weight: 400;">GET API call to v1/Accounts/&lt;account-sid&gt;/Sms/&lt;invalid-parameter&gt; an unrecognized SMS endpoint</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">400</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">40501</span></p> </td> <td style="height: 55px;"> <p><span style="font-weight: 400;">Invalid parameters</span></p> </td> </tr> </tbody> </table> <p><strong>POST (/send, /bulksend) and /GET (/sms) error codes:</strong></p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account is inactive</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40002</span></p> </td> <td> <p><span style="font-weight: 400;">Account inactive.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Api call to v1/Accounts/exotel42us3/Sms</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40500</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid Parameters</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Unsupported API version</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Exotel API Version $version not supported. Contact Exotel for details.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Accounts missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">/Accounts/ missing from URL</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Account sid missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Auth key or auth token missing</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Authentication is required to view this page.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid auth key or auth token</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td> <p><span style="font-weight: 400;">34010</span></p> </td> <td> <p><span style="font-weight: 400;">Unauthorized;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid Account sid or any resource or action is missing or invalid</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Non alpha-numeric auth key or token</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">34001</span></p> </td> <td> <p><span style="font-weight: 400;">Bad or missing parameters in request.;</span></p> </td> </tr> </tbody> </table> <p>&nbsp;</p> </div> <hr> </section> <section class="sectionAPIClass" id="send-bulk-static-sms"> <h1 >Send Bulk SMS With Static Content &#8211; API Docs </h1> <div class="wrapper-list"> <p>This API will send SMSes with the same content to the array of numbers specified in the To parameter. To send SMS through our API, you will need to make a HTTP POST request to</p> </div> <div class="well api-well"> <div class="col-sm"> <span class="post">POST</span> </div> <div class="col-sm" style="margin: auto 10px;"> <p class="copy-text"> <span>https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send</span> </p> </div> <div class="col-sm"> <li> <a type="button" id="apidocTrynowbtn" onclick="openConsolePage(event,'https://developer.exotel.com/api-console/product-sms#send-bulk-static-sms')" href="https://developer.exotel.com/api-console/product-sms#send-bulk-static-sms" class="api-try btn-block show" >Try it</a> </li> <!-- <input class="api-try btn-block <?php// echo esc_html($tryvalue); ?>" onclick="openConsolePage(event,'<?php// echo $tryProductUrl?>')" type="button" value="Try it"> --> </div> </div> <div class="alert alert-info" role="alert"> <p>If you&#8217;d prefer response in JSON format, just append .json at the end of the HTTP POST request.</p> <p>Before you start sending transactional SMSes through this API, please test <a href="http://support.exotel.in/support/solutions/articles/48307-is-my-sms-template-working-">whether your content is matching a template</a>. Otherwise, the SMS will end up becoming promotional.</p> </div> <div class="wrapper-list"> <ul> <li>Replace <code>&lt;your_api_key&gt;</code> and <code>&lt;your_api_token&gt;</code> with the API key and token created by you.</li> <li>Replace <code>&lt;your_sid&gt;</code> with your “Account sid”</li> <li>Replace <code>&lt;subdomain&gt;</code> with the region of your account <ol> <li>&lt;subdomain&gt; of Singapore cluster is @api.exotel.com</li> <li>&lt;subdomain&gt; of Mumbai cluster is @api.in.exotel.com</li> </ol> </li> </ul> <p><code>&lt;your_api_key&gt;</code> , <code>&lt;your_api_token&gt;</code> and <code>&lt;your_sid&gt;</code> are available in the API settings page of your <a href="https://my.exotel.com/apisettings/site#api-credentials">Exotel Dashboard</a></p> <p>The following are the POST parameters:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 25.127%;"> <p>Parameter Name</p> </td> <td style="width: 19.9343%;"> <p>Mandatory/Optional</p> </td> <td style="width: 53.7732%;"> <p>Value</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>From</p> </td> <td style="width: 19.9343%;"> <p>Mandatory</p> </td> <td style="width: 53.7732%;"> <ul> <li>Specify one of your ExoPhone</li> <li>For <a href="http://support.exotel.in/support/solutions/articles/38688-what-is-the-difference-between-a-transactional-sms-and-a-promotional-sms">transactional</a> SMSes, the <a href="http://support.exotel.in/support/solutions/articles/126794-how-to-choose-an-sms-sender-id-">SenderID</a> (When you buy an ExoPhone, you will be asked to enter a 6-letter sender ID from which your SMSes will be sent. For Eg: LM-EXOTEL or LM-WEBDEV etc.) will be the one that corresponds to the ExoPhone</li> <li>For <a href="http://support.exotel.in/support/solutions/articles/38688-what-is-the-difference-between-a-transactional-sms-and-a-promotional-sms">promotional</a> SMSes, the SenderID will anyways be a generic numeric one (Ex: LM-123456)</li> </ul> </td> </tr> <tr> <td style="width: 25.127%;"> <p>To</p> </td> <td style="width: 19.9343%;"> <p>Mandatory</p> </td> <td style="width: 53.7732%;"> <p>Array of Mobile numbers to which SMS has to be sent. Preferably in <a href="https://en.wikipedia.org/wiki/E.164">E.164 format</a>. If not set, our system will try to match it with a country and route the SMS</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>Body</p> </td> <td style="width: 19.9343%;"> <p>Mandatory</p> </td> <td style="width: 53.7732%;"> <p>Content of your SMS; Max Length of the body cannot exceed 2000 characters</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>EncodingType</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Message type of SMS; <a href="http://support.exotel.in/support/solutions/articles/3000019425-how-is-the-length-of-a-unicode-sms-calculated-">plain or unicode</a></p> </td> </tr> <tr id="sms-send-api-params-priority" style="height: 72px;"> <td style="width: 25.127%; height: 72px;">ShortenUrl </td> <td style="width: 19.9343%; height: 72px;">Optional</td> <td style="width: 53.7732%; height: 72px;"> <p>Whether to shorten the URLs present in the SMS. Can be: "true" or "false". <br /> Please note that it is a chargeable feature and you can refer to <a href="https://support.exotel.com/support/solutions/articles/3000117586">Support article</a> to understand more and get it enabled for your account.</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>ShortenUrlParams</p> <p>[Header]</p> </td> <td style="width: 19.9343%;">Optional</td> <td style="width: 53.7732%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Header that is part of the whitelisted Shortened URL on the DLT(Distributed Ledger Technology) platform of your choice.  Please ensure that this is an exact match with the header that is part of the whitelisted URL to avoid message failure</p> </td> </tr> <tr> <td style="width: 25.127%;">ShortenUrlParams<br /> [CustomDomain]</td> <td style="width: 19.9343%;">Optional</td> <td style="width: 53.7732%;"> <p>Whether you want the short URL to start with default domain- exo.tl or you want to provide a custom domain of your own choice.</p> <p><span style="font-weight: 400;">      If custom domain is not present or empty, we will use the default domain(exo.tl)</span></p> <p><span style="font-weight: 400;">      If custom domain is given in the request it will be used to form the short URL</span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">Note : </span><span style="font-weight: 400;">Clients will have to route the traffic on their custom domain to</span><a href="http://exo.tl/"> <span style="font-weight: 400;">exo.tl</span></a><span style="font-weight: 400;"> domain, this is a change on your domain management system</span></p> </td> </tr> <tr> <td style="width: 25.127%;"> <p class="star-align">ShortenUrlParams<br /> [Tracking]</p> </td> <td style="width: 19.9343%;">Optional </td> <td style="width: 53.7732%;"> <p>Whether to track the URLs present in the SMS. Can be: "true" or "false". "ShortenUrl" needs to be "true" for Tracking to work.</p> <p>This feature is currently available to select customers. For early access, <a href="https://webforms.pipedrive.com/f/aF051KqXRawWNsP4qANJxV4vy3zZK3yBLMu0Xqtvl74GVhsJhke4GoDPsARfR9">please fill this form. </a></p> </td> </tr> <tr> <td style="width: 25.127%;">ShortenUrlParams<br /> [ClickTrackingCallbackUrl]</td> <td style="width: 19.9343%;">Optional </td> <td style="width: 53.7732%;"> <p>Once someone clicks on the shortened URL,  Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.  </p> <p>Below are the parameters: </p> <p>sid - The Sid (unique id) of the shortened URL  </p> <p>short_url - The complete shortened URL</p> <p>short_code - Key of the shortened URL </p> <p>long_url - Original URL which is shortened</p> <p>Tracking - Whether to track the URLs present in the SMS</p> <p>custom_field - custom field passed in SMS API request String value</p> <p>Expires_at -  Date Time in ISO format when link will expire</p> <p>Created_time - Date Time in ISO format when URL is created</p> <p>Last_viewed -  Date Time in ISO format when link was visited last</p> <p>Total_clicks  - count of total views of short url</p> <p>Account_sid -  Exotel’s unique Account SID</p> <p>Country_code - Country code of the customer who received the SMS</p> <p>Date_created - Date Time in ISO format when link was created </p> <p>Sms_sid - The Sid (unique id) of the SMS, this SID can be used to track the SMS</p> <p>To -  Contact number of the customer who clicked on the URL</p> <p>city - City where the shorten URL is clicked</p> <p>Country - Country code where shorten URL is clicked</p> <p>IP - IP address where shorten URL is clicked</p> <p>Postal code - Postal code where shorten URL is clicked </p> <p>Region - Region where shorten URL is clicked</p> <p>Accuracy radius - Aproximate accuracy radius where shorten URL is clicked </p> <p>OS_version - OS version of the customer who clicked the shorten URL </p> <p>OS_name - OS name of the customer who clicked the shorten URL </p> <p>Device_name - Device name of the customer who clicked the shorten URL </p> <p>Platform type - Platform where shorten URL is clicked </p> <p>&nbsp;</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>StatusCallback</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>After every SMS reaches terminal state (sent/failed/failed-dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is <code>application/x-www-form-urlencoded</code> Below are the parameters:</p> <ul> <li>SmsSid - The Sid (unique id) of the SMS that you got in response to your request</li> <li>To - Mobile number to which SMS was sent</li> <li>Status - one of: queued, sending, submitted, sent, failed-dnd, failed</li> <li>DetailedStatus - Human readable word that explains what happened to the message </li> <li>DetailedStatusCode - Exotel’s Detailed Status code corresponding to the DetailedStatus </li> <li>DateSent - The date on which the message was sent</li> <li>SmsUnits -  The number of  SMS units being sent</li> <li>CustomField - The custom field that was set in the POST request. (Will be returned only if it was set)</li> </ul> </td> </tr> <tr> <td style="width: 25.127%;"> <p>DltEntityId</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>DltTemplateId</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>SmsType</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers. For International entities, the step to <a href="https://support.exotel.com/support/solutions/articles/38686-what-is-an-sms-template-and-how-can-i-get-a-template-approved-">add a Template</a> on the Exotel dashboard is mandatory.<br /> <br /> This optional parameter can be used to skip template addition on Exotel Dashboard and configure SMS type based on the template registered on DLT in India. </p> <p>Possible values-</p> <ul> <li><strong>transactional</strong> (OTP or Service Implicit content)</li> <li><strong>transactional_opt_in</strong> (Service Explicit content)</li> <li><strong>promotional</strong> (Promotional content with numeric header)</li> </ul> <p>If not set or incorrectly passed, Exotel will look up if content matches Templates added on Exotel for fetching SMS Type and DLT details.</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>CustomField</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Set a Custom Field relevant to your use case while sending an SMS. E.g Order ID, Payment ID, Login Attempt etc.</p> </td> </tr> <tr> <td style="width: 25.127%;"> <p>Priority</p> </td> <td style="width: 19.9343%;"> <p>Optional</p> </td> <td style="width: 53.7732%;"> <p>Priority of the SMS; normal or high. Priority=high parameter should only be used for OTP SMSes (Bank or Delivery). Using it for any other SMS may impact your delivery</p> </td> </tr> </tbody> </table> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request</li> <li role="presentation" class="active"><a href="#callagent-3-5-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-3-5-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-3-5-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-3-5-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-3-5-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-3-5-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send \ -d "From=0XXXXXX4890" \ -d "To[]=XXXXX30240" \ -d "To[]=XXXXX30241" \ -d "Body=Hello World!" </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-5-2"> <pre class="prettyprint">var request = require('request'); var dataString = 'From=0XXXXXX4890&amp;To[]=XXXXX30240&amp;To[]=XXXXX30241&amp;Body=Hello World!'; var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', method: 'POST', body: dataString }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-5-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $data = array( 'From' =&gt; '0XXXXXX4890', 'To' =&gt; array('XXXXX30240', 'XXXXX30241'), 'Body' =&gt; 'Hello World!' ); $response = Requests::post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', $headers, $data); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-5-4"> <pre class="prettyprint">import requests data = { 'From': '0XXXXXX4890', 'To': ['XXXXX30240', 'XXXXX30241'], 'Body': 'Hello World!' } requests.post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', data=data) </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-5-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send") request = Net::HTTP::Post.new(uri) request.body = "From=0XXXXXX4890&amp;To[]=XXXXX30240&amp;To[]=XXXXX30241&amp;Body=Hello World!" req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end # response.code # response.body </pre> </div> </div> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request for using URL shortening & click tracking</li> <li role="presentation" class="active"><a href="#callagent-3-6-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-3-6-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-3-6-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-3-6-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-3-6-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-3-6-1"> <pre class="prettyprint lang-bsh" class="prettyprint lang-bsh prettyprinted"><span class="pln">curl </span><span class="pun">-</span><span class="pln">X POST https</span><span class="pun">://&lt;</span><span class="pln">your_api_key</span><span class="pun">&gt;:&lt;</span><span class="pln">your_api_token</span><span class="pun">&gt;&lt;</span><span class="pln">subdomain</span><span class="pun">&gt;/</span><span class="pln">v1</span><span class="pun">/</span><span class="typ">Accounts</span><span class="pun">/&lt;</span><span class="pln">your_sid</span><span class="pun">&gt;/</span><span class="typ">Sms</span><span class="pun">/</span><span class="pln">send </span><span class="pun">-</span><span class="pln">d </span><span class="str">"From=0XXXXXX4890"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"To[]=XXXXX30240"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"To[]=XXXXX30241"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"Body=Hello World!"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"ShortenUrl=true"</span><span class="pln"> \ -d "ShortenUrlParams[Header]=EXOTEL" </span><span class="pun">-</span><span class="pln">d </span><span class="str">"ShortenUrlParams[Tracking]=true"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</span></pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-6-2"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">var</span><span class="pln"> request </span><span class="pun">=</span> <span class="kwd">require</span><span class="pun">(</span><span class="str">'request'</span><span class="pun">);</span> <span class="kwd">var</span><span class="pln"> dataString </span><span class="pun">=</span> <span class="str">'From=0XXXXXX4890&amp;To[]=XXXXX30240&amp;To[]=XXXXX30241&amp;Body=Hello World!&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/'</span><span class="pun">;</span> <span class="kwd">var</span><span class="pln"> options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> url</span><span class="pun">:</span> <span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> method</span><span class="pun">:</span> <span class="str">'POST'</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">:</span><span class="pln"> dataString </span><span class="pun">};</span> <span class="kwd">function</span><span class="pln"> callback</span><span class="pun">(</span><span class="pln">error</span><span class="pun">,</span><span class="pln"> response</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">)</span> <span class="pun">{</span> <span class="kwd">if</span> <span class="pun">(!</span><span class="pln">error </span><span class="pun">&amp;&amp;</span><span class="pln"> response</span><span class="pun">.</span><span class="pln">statusCode </span><span class="pun">==</span> <span class="lit">200</span><span class="pun">)</span> <span class="pun">{</span><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">body</span><span class="pun">);</span> <span class="pun">}</span> <span class="pun">}</span><span class="pln"> request</span><span class="pun">(</span><span class="pln">options</span><span class="pun">,</span><span class="pln"> callback</span><span class="pun">);</span></pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-6-3"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="pun">&lt;?</span><span class="pln">php include</span><span class="pun">(</span><span class="str">'vendor/rmccue/requests/library/Requests.php'</span><span class="pun">);</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">register_autoloader</span><span class="pun">();</span><span class="pln"> $headers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln"> $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span> <span class="str">'From'</span> <span class="pun">=&gt;</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'To'</span> <span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'XXXXX30241'</span><span class="pun">),</span> <span class="str">'Body'</span> <span class="pun">=&gt;</span> <span class="str">'Hello World!', 'ShortenUrl' =&gt; 'true', 'ShortenUrlParams[Header]'=&gt; 'EXOTEL', 'ShortenUrlParams[Tracking]' =&gt; 'true', 'ShortenUrlParams[ClickTrackingCallbackUrl]' =&gt; 'https://www.google.co.in/</span> <span class="pun">);</span><span class="pln"> $response </span><span class="pun">=</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> $headers</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">);</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-6-4"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">import</span><span class="pln"> requests data </span><span class="pun">=</span> <span class="pun">{</span> <span class="str">'From'</span><span class="pun">:</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'To'</span><span class="pun">:</span> <span class="pun">[</span><span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'XXXXX30241'</span><span class="pun">],</span> <span class="str">'Body'</span><span class="pun">:</span> <span class="str">'Hello World!', 'ShortenUrl' : 'true', 'ShortenUrlParams[Header]' : 'EXOTEL', 'ShortenUrlParams[Tracking]' : 'true', 'ShortenUrlParams[ClickTrackingCallbackUrl]' : 'https://www.google.co.in/</span> <span class="pun">}</span><span class="pln"> requests</span><span class="pun">.</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send'</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">=</span><span class="pln">data</span><span class="pun">)</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-6-5"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">require</span> <span class="str">'net/http'</span> <span class="kwd">require</span> <span class="str">'uri'</span><span class="pln"> uri </span><span class="pun">=</span><span class="pln"> URI</span><span class="pun">.</span><span class="pln">parse</span><span class="pun">(</span><span class="str">"https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send"</span><span class="pun">)</span><span class="pln"> request </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">::</span><span class="typ">Post</span><span class="pun">.</span><span class="kwd">new</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">)</span><span class="pln"> request</span><span class="pun">.</span><span class="pln">body </span><span class="pun">=</span> <span class="str">"From=0XXXXXX4890&amp;To[]=XXXXX30240&amp;To[]=XXXXX30241&amp;Body=Hello World!&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</span><span class="pln"> req_options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> use_ssl</span><span class="pun">:</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">scheme </span><span class="pun">==</span> <span class="str">"https"</span><span class="pun">,</span> <span class="pun">}</span><span class="pln"> response </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">.</span><span class="pln">start</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">.</span><span class="pln">hostname</span><span class="pun">,</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">port</span><span class="pun">,</span><span class="pln"> req_options</span><span class="pun">)</span> <span class="kwd">do</span> <span class="pun">|</span><span class="pln">http</span><span class="pun">|</span><span class="pln"> http</span><span class="pun">.</span><span class="pln">request</span><span class="pun">(</span><span class="pln">request</span><span class="pun">)</span> <span class="kwd">end</span> <span class="com"># response.code</span> <span class="com"># response.body</span> </pre> </div> </div> </div> <div class="wrapper-list"> <p>HTTP Response:</p> <ul> <li>On success, the HTTP response status code will be 200</li> <li>The Sid is the unique identifier of the SMS and it will be useful to log this for future debugging</li> <li>The HTTP body will contain an XML similar to the one below</li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response</li> <li role="presentation" class="active"><a href="#callagent-3-8-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-3-8-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-3-8-1"> <pre class="prettyprint">[ { "SMSMessage": { "Sid": "0f477d60517e6e6a0f6d9a7e9af8630e", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30240", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": null, "Body": "Hello World!", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e.json", "ApiVersion": null, "Price": null, "Status": "queued", "DetailedStatusCode": 21010, "DetailedStatus": "PENDING_TO_OPERATOR", "SmsUnits": null } }, { "SMSMessage": { "Sid": "1393e66deb633e7297bcfa9a9da0bb37", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30241", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": null, "Body": "Hello World!", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37.json", "ApiVersion": null, "Price": null, "Status": "queued", "DetailedStatusCode": 21010, "DetailedStatus": "PENDING_TO_OPERATOR", "SmsUnits": null } } ]</pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-8-2"> <pre class="prettyprint">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;TwilioResponse&gt; &lt;SMSMessage&gt; &lt;Sid&gt;0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30240&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent/&gt; &lt;Body&gt;Hello World!&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/f477d60517e6e6a0f6d9a7e9af8630e&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;queued&lt;/Status&gt; &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt; &lt;SmsUnits/&gt; &lt;/SMSMessage&gt; &lt;SMSMessage&gt; &lt;Sid&gt;1393e66deb633e7297bcfa9a9da0bb37&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30241&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent/&gt; &lt;Body&gt;Hello World!&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;queued&lt;/Status&gt; &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt; &lt;SmsUnits/&gt; &lt;/SMSMessage&gt; &lt;/TwilioResponse&gt;</pre> </div> </div> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request (Partial Success)</li> <li role="presentation" class="active"><a href="#callagent-3-9-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-3-9-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-3-9-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-3-9-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-3-9-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-3-9-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send \ -d "From=0XXXXXX4890" \ -d "To[]=555" \ -d "To[]=XXXXX30241" \ -d "Body=Hello World!"</pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-9-2"> <pre class="prettyprint">var request = require('request'); var dataString = 'From=0XXXXXX4890&amp;To[]=555&amp;To[]=XXXXX30241&amp;Body=Hello World!'; var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', method: 'POST', body: dataString }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-9-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $data = array( 'From' =&gt; '0XXXXXX4890', 'To' =&gt; array('555', 'XXXXX30241'), 'Body' =&gt; 'Hello World!' ); $response = Requests::post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', $headers, $data); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-9-4"> <pre class="prettyprint">import requests data = { 'From': '0XXXXXX4890', 'To': ['555', 'XXXXX30241'], 'Body': 'Hello World!' } requests.post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send', data=data) </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-9-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/send") request = Net::HTTP::Post.new(uri) request.body = "From=0XXXXXX4890&amp;To[]=555&amp;To[]=XXXXX30241&amp;Body=Hello World!" req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end # response.code # response.body </pre> </div> </div> </div> <div class="wrapper-list"> <p><span style="font-weight: 400;">HTTP Response (Partial success):</span></p> <ul> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">On partial success i.e. where some of the messages in the bulk request succeeded but others did not, the HTTP response status code will be 207</span></li> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The Sid is the unique identifier of the SMS (this will be available only for accepted requests), it will be useful to log this for future debugging</span></li> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The HTTP body will contain a JSON / XML similar to the one below</span></li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response (Partial Success)</li> <li role="presentation" class="active"><a href="#callagent-3-11-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-3-11-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-3-11-1"> <pre class="prettyprint">[    {        "SMSMessage": {            "Sid": null,            "AccountSid": "Exotel",            "From": null,             "To": null,            "DateCreated": null,            "DateUpdated": null,            "DateSent": null,            "Body": "Hello World!",            "Direction": null,            "Uri": null,            "ApiVersion": null,            "Price": null,            "Status": "failed",            "SmsUnits": null,            "DetailedStatusCode": 23010,            "DetailedStatus": "FAILED_INVALID_DESTINATION_NUMBER"        }    },    {        "SMSMessage": {            "Sid": "1393e66deb633e7297bcfa9a9da0bb37",            "AccountSid": "Exotel",            "From": "0XXXXXX4890/WEBDEV",            "To": "XXXXX30241",            "DateCreated": "2017-03-03 14:14:20",            "DateUpdated": "2017-03-03 14:14:20",            "DateSent": null,            "Body": "Hello World!",            "Direction": "outbound-api",            "Uri": "/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37.json",            "ApiVersion": null,            "Price": null,            "Status": "queued",            "SmsUnits": null,            "DetailedStatusCode": 21010,            "DetailedStatus": "PENDING_TO_OPERATOR"        }    } ] </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-3-11-2"> <pre class="prettyprint"><span style="font-weight: 400;">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span> <span style="font-weight: 400;">&lt;TwilioResponse&gt;</span> <span style="font-weight: 400;"> &lt;SMSMessage&gt;</span> <span style="font-weight: 400;">  &lt;Sid/&gt;</span> <span style="font-weight: 400;">  &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt;</span> <span style="font-weight: 400;">  &lt;From/&gt;</span> <span style="font-weight: 400;">  &lt;To/&gt;</span> <span style="font-weight: 400;">  &lt;DateCreated/&gt;</span> <span style="font-weight: 400;">  &lt;DateUpdated/&gt;</span> <span style="font-weight: 400;">  &lt;DateSent/&gt;</span> <span style="font-weight: 400;">  &lt;Body&gt;Hello World!&lt;/Body&gt;</span> <span style="font-weight: 400;">  &lt;Direction/&gt;</span> <span style="font-weight: 400;">  &lt;Uri/&gt;</span> <span style="font-weight: 400;">  &lt;ApiVersion/&gt;</span> <span style="font-weight: 400;">  &lt;Price/&gt;</span> <span style="font-weight: 400;">  &lt;Status&gt;failed&lt;/Status&gt;</span> <span style="font-weight: 400;">  &lt;DetailedStatusCode&gt;23010&lt;/DetailedStatusCode&gt;</span> <span style="font-weight: 400;">  &lt;DetailedStatus&gt;FAILED_INVALID_DESTINATION_NUMBER&lt;/DetailedStatus&gt;</span> <span style="font-weight: 400;">  &lt;SmsUnits/&gt;</span> <span style="font-weight: 400;"> &lt;/SMSMessage&gt;</span> <span style="font-weight: 400;"> &lt;SMSMessage&gt;</span> <span style="font-weight: 400;">  &lt;Sid&gt;1393e66deb633e7297bcfa9a9da0bb37&lt;/Sid&gt;</span> <span style="font-weight: 400;">  &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt;</span> <span style="font-weight: 400;">  &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt;</span> <span style="font-weight: 400;">  &lt;To&gt;XXXXX30241&lt;/To&gt;</span> <span style="font-weight: 400;">  &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt;</span> <span style="font-weight: 400;">  &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt;</span> <span style="font-weight: 400;">  &lt;DateSent/&gt;</span> <span style="font-weight: 400;">  &lt;Body&gt;Hello World!&lt;/Body&gt;</span> <span style="font-weight: 400;">  &lt;Direction&gt;outbound-api&lt;/Direction&gt;</span> <span style="font-weight: 400;">  &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37&lt;/Uri&gt;</span> <span style="font-weight: 400;">  &lt;ApiVersion/&gt;</span> <span style="font-weight: 400;">  &lt;Price/&gt;</span> <span style="font-weight: 400;">  &lt;Status&gt;queued&lt;/Status&gt;</span> <span style="font-weight: 400;">  &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt;</span> <span style="font-weight: 400;">  &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt;</span> <span style="font-weight: 400;">  &lt;SmsUnits/&gt;</span> <span style="font-weight: 400;"> &lt;/SMSMessage&gt;</span> <span style="font-weight: 400;">&lt;/TwilioResponse&gt; </span></pre> </div> </div> </div> <div class="wrapper-list"> <p>Description of parameters mentioned in the above response:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 17.4825%;"> <p>Parameter Name</p> </td> <td style="width: 81.5851%;"> <p>Type &amp; Value</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Sid</p> </td> <td style="width: 81.5851%;"> <p>string; an alpha-numeric unique identifier of the SMS</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>AccountSid</p> </td> <td style="width: 81.5851%;"> <p>String; Your account identifier</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>From</p> </td> <td style="width: 81.5851%;"> <p>String; It is of format &lt;VN&gt;/&lt;SenderID&gt; where &lt;VN&gt; is your Exotel Virtual Number/ExoPhone through which you are sending the SMS. &lt;SenderID&gt; is the SenderID via which this SMS was sent</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>To</p> </td> <td style="width: 81.5851%;"> <p>String; The mobile number(s) to which the SMS was sent</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>DateCreated</p> </td> <td style="width: 81.5851%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was received at our server</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>DateUpdated</p> </td> <td style="width: 81.5851%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when any property of this SMS was last updated by our server</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>DateSent</p> </td> <td style="width: 81.5851%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recepient</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Body</p> </td> <td style="width: 81.5851%;"> <p>String; The body of the SMS message sent</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Status</p> </td> <td style="width: 81.5851%;"> <p>Can be of:</p> <ul> <li>queued - This means that the SMS you have sent has been queued internally for delivery</li> <li>sending - This means that we're in process of sending the SMS to upstream provider/gateway</li> <li>submitted - This means that the SMS you have sent has been submitted from our system to SMS Gateway</li> <li>sent - The SMS was successfully delivered to the handset</li> <li>failed-dnd - The delivery of the SMS failed because the number belongs to the TRAI NCPR list. This is applicable only for promotional SMS</li> <li>failed - The delivery of SMS failed. Please see DetailedStatusCode and DetailedStatus for further details.</li> </ul> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>DetailedStatus</p> </td> <td style="width: 81.5851%;"> <p>Human readable word that explains what happened to the Message. Log these strings in your log files for grepping and debugging by a developer.</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>DetailedStatusCode</p> </td> <td style="width: 81.5851%;"> <p>Exotel’s Detailed Status code corresponding to the DetailedStatus. Use this field to build decision making in your code.</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Price</p> </td> <td style="width: 81.5851%;"> <p>Double; If present, this will be the amount (in INR or USD) you have been charged for the SMS</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Direction</p> </td> <td style="width: 81.5851%;"> <ul> <li>incoming - incoming messages</li> <li>outbound-api - messages initiated via the REST API</li> <li>outbound-call - messages initiated during a call</li> <li>outbound-reply - messages initiated in response to an incoming message</li> </ul> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>Uri</p> </td> <td style="width: 81.5851%;"> <p>Uri is the path of the SmsSid</p> </td> </tr> <tr> <td style="width: 17.4825%;"> <p>SmsUnits</p> </td> <td style="width: 81.5851%;"> <p>The number of  SMS units being sent</p> </td> </tr> </tbody> </table> <p><strong>Mapping and Description of status codes</strong></p> <table class="table table-hover table-responsive table-bordered" style="width: 100%; height: 2806px;"> <tbody> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>Detailed Status Code</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Nature of Detailed Status Code</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>Status</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>DetailedStatus</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>What it means</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>21010</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>queued</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>PENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The message is is being processed by Exotel.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>21015</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>sending</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>SENDING_TO_OPERATOR</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The message has been processed by Exotel and is en-route to the operator.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>21020</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Intermediate, may change in future</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>submitted</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>PENDING_ON_OPERATOR</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>The message has been successfully Submitted to the operator and is pending delivery. In India, Promotional SMS may be in this state if submitted outside permitted time (10AM to 9PM).</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>20005</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>sent</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>DELIVERED_TO_HANDSET</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>We know with confidence that the message has been delivered to recipient's handset.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p>20006</p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>sent</p> </td> <td style="width: 15.5967%; height: 104px;"> <p>DELIVERED_TO_OPERATOR</p> </td> <td style="width: 40.4872%; height: 104px;"> <p>The message has been delivered to operator. In some regions and routes, handset delivery status (DELIVERED_TO_HANDSET) is not available and hence this is the best we can ever report about the delivery status.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>23005</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed-dnd</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_REJECTED_DND</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The message has been rejected as the end user is a subscriber of DND (Do Not Disturb) services.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>23010</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_INVALID_DESTINATION_NUMBER</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The destination number is incorrect, not SMS-enabled or is a PSTN landline.</p> </td> </tr> <tr style="height: 128px;"> <td style="width: 15.4895%; height: 128px;"> <p>23015</p> </td> <td style="width: 15.9068%; height: 128px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 128px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 128px;"> <p>FAILED_SPAM_DETECTED</p> </td> <td style="width: 40.4872%; height: 128px;"> <p>One of the most common reasons for SMS delivery failure is carrier level spam filters. Carriers have added systems and algorithms that detect spam content and then block these messages. Unfortunately, these filters are hidden, subject to carrier preferences, vary from carrier to carrier, and can be changed without notice.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23020</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>FAILED_REJECTED_BLACKLIST</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP/DND opt-out message and no longer wishes to receive messages from you.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>24990</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>FAILED_UNKNOWN_ERROR</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>Delivering your message failed for reasons that are unknown to us and to our carriers. If you notice too many of these cases, please reach out to us.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23030</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>FAILED_UNAVAILABLE_ROUTE</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>The carrier and fallback carriers were not able to deliver the SMS message because no route was available.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p>23035</p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 104px;"> <p>FAILED_SUBSCRIBER_UNAVAILABLE</p> </td> <td style="width: 40.4872%; height: 104px;"> <p>This message was not delivered because subscriber was temporarily unavailable. For example, the receiving handset was out of coverage or switched off. This is a temporary failure, but a message sent to the same subscriber at a later point in time may get delivered.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>23040</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_SUBSCRIBER_UNKNOWN</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>Subscriber is unknown to the operators or no longer active.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23050</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>FAILED_EXPIRED</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>The message was sent to the operator and may have been retried several times within the default network SMS expiration duration. The message request has now expired.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>23060</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_REJECTED</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>For a number of reasons, the message was rejected by Exotel or the operator.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>24105</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_HANDSET_ERROR</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The message was not delivered to the subscriber due to handset failure</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>24110</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_OPERATOR_ERROR</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>The message failed due to an issue at the operator end</p> </td> </tr> <tr style="height: 224px;"> <td style="width: 15.4895%; height: 224px;"> <p>23070</p> </td> <td style="width: 15.9068%; height: 224px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 224px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 224px;"> <p>FAILED_INVALID_MESSAGE</p> </td> <td style="width: 40.4872%; height: 224px;"> <p>The message was rejected by the operator as Invalid. While Exotel will automatically split messages longer than 160 GSM 7-bit characters, or 70 unicode 16-bit characters into multipart SMS, Messages exceeding the allowed character limit of 2000 characters may also end in this state. Any request error related to the message, say unindentified character, may also fall under this bucket.<br /> <br /> In India, if DLT related parameters are not set like Entity ID, your SMS may fail with this error code.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23072</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;">FAILED_INVALID_SENDER_ID<br /> <p>&nbsp;</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>The message failed due to invalid or unregistered Sender ID. In case of India, if your Sender ID (header) is not registered with operator DLT platform, you may receive this error.</p> </td> </tr> <tr style="height: 56px;"> <td style="width: 15.4895%; height: 56px;"> <p>24010</p> </td> <td style="width: 15.9068%; height: 56px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 56px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 56px;"> <p>FAILED_SYSTEM_ERROR</p> </td> <td style="width: 40.4872%; height: 56px;"> <p>SMS failed while processing within Exotel system.</p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>24120</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p>FAILED_SUBSCRIBER_ERROR</p> </td> <td style="width: 40.4872%; height: 80px;"> <p>All subscriber or recipeient issues that are unrelated to the handset (For ex - Receiver does not have enough mobile balance to receive the SMS) may fall under this bucket.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p>23080</p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 104px;"> <p>SENDER_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%; height: 104px;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Sender ID (Header) is blocked or failed at DLT platform by the operator due to mismatch, non-registration, template not linked with Sender (header) etc.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p>23081</p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 104px;"> <p>ENTITY_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%; height: 104px;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Entity (DLT Entity ID) is blocked or failed at DLT platform by the operator due to DLT Entity ID not passed in API or configured on Exotel Dashboard, values are mismatching etc.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p>23082</p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 104px;"> <p>TEMPLATE_BLOCKED_BY_DLT</p> </td> <td style="width: 40.4872%; height: 104px;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Template (Template ID) is blocked or failed at DLT due to Template ID not set in API or configured on Exotel Dashboard, content is not exactly matching, non-registeration of the template etc.</p> </td> </tr> <tr style="height: 104px;"> <td style="width: 15.4895%; height: 104px;"> <p><span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">23083</span></p> </td> <td style="width: 15.9068%; height: 104px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 104px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 104px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_SCRUBBING_ERROR</span></p> </td> <td style="width: 40.4872%; height: 104px;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. SMS is blocked or failed at DLT even after registration due to explicit blocking of the Sender ID due to spam, issues with consent or any other technical issues with DLT platform.</p> </td> </tr> <tr style="height: 120px;"> <td style="width: 15.4895%; height: 120px;"> <p dir="ltr" data-identifyelement="641"><span dir="ltr" data-identifyelement="643">23181</span></p> </td> <td style="width: 15.9068%; height: 120px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 120px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 120px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span dir="ltr" data-identifyelement="643">DLT_TEMPLATE_ID_INVALID</span></span></p> </td> <td style="width: 40.4872%; height: 120px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is invalid. </span>Some operators may report this error as 23182: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND.</span></span></p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23182</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND</span></span></p> </td> <td style="width: 40.4872%; height: 80px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template was not found.</span></p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23183</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_INACTIVE</span></span></p> </td> <td style="width: 40.4872%; height: 80px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is inactive.</span></p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23184</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_BLACKLISTED</span></span></p> </td> <td style="width: 40.4872%; height: 80px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template has been blacklisted. This may happen due to users reporting this message.</span></p> </td> </tr> <tr style="height: 80px;"> <td style="width: 15.4895%; height: 80px;"> <p>23185</p> </td> <td style="width: 15.9068%; height: 80px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 80px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 80px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH</span></span></p> </td> <td style="width: 40.4872%; height: 80px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message body does not match the Template on the DLT portal. </span></p> </td> </tr> <tr style="height: 120px;"> <td style="width: 15.4895%; height: 120px;"> <p>23186</p> </td> <td style="width: 15.9068%; height: 120px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 120px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 120px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_LENGTH_EXCEEDED</span></span></p> </td> <td style="width: 40.4872%; height: 120px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message has exceeded the maximum allowed length of 2000 characters. </span>Some operators may report this error as 23185: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH.</span></span></p> </td> </tr> <tr style="height: 94px;"> <td style="width: 15.4895%; height: 94px;"><span style="font-weight: 400;">23281</span> <p>&nbsp;</p> </td> <td style="width: 15.9068%; height: 94px;"> <p>Final</p> </td> <td style="width: 15.8881%; height: 94px;"> <p>failed</p> </td> <td style="width: 15.5967%; height: 94px;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_ENTITY_NOT_FOUND</span></span></p> </td> <td style="width: 40.4872%; height: 94px;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The ENTITY_ID was not found on the DLT portal. </span><span style="font-weight: 400;">Some operators may report this error as 23081: ENTITY_BLOCKED_BY DLT.</span></p> </td> </tr> </tbody> </table> <p>&nbsp;</p> </div> <div class="alert alert-info" role="alert"> <p>In case your SMS body contains special characters (like -, &amp;, % etc), URL-encode the text</p> <p>In case EncodingType is not set, then it will auto detect the encoding type of SMS, whether it is plain or unicode</p> <p>DetailedStatusCode in the range of 23084-24000 are reserved for future and can be expanded for any other detailed status scenario related to SMS.</p> </div> <div class="wrapper-list"> <p><strong>Mapping and Description of HTTP API Error Codes in the API response</strong></p> <p>POST (/send, /bulksend) API error codes:</p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your trial account is being used to send promotional SMS</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40000</span></p> </td> <td> <p><span style="font-weight: 400;">Not allowed to send promotional SMS(s).</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is trial and KYC not completed, and one of the following occurs:</span></p> <p><span style="font-weight: 400;">- Number not whitelisted</span></p> <p><span style="font-weight: 400;">- It is whitelisted but is not of type agent-whitelist</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">340030</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not yet KYC compliant;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If there is insufficient balance in your account</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40001</span></p> </td> <td> <p><span style="font-weight: 400;">Insufficient balance to send $n sms. Please recharge your account.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is not configured to send SMSes to the recipient country.</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40003</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not configured to send SMSes to this country. Please write to hello@exotel.com to update the setup.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If yours is a trial account with incomplete KYC and has a whitelisting error. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">35000</span></p> </td> <td> <p><span style="font-weight: 400;">Internal Server Error</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Exotel internal error code related to processing. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">40100</span></p> </td> <td> <p><span style="font-weight: 400;">Error Processing Request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for single send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40200</span></p> </td> <td> <p><span style="font-weight: 400;">Message body cannot be empty.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for bulk send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40201</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Array) message body</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40202</span></p> </td> <td> <p><span style="font-weight: 400;">Message body is invalid.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all destination numbers are invalid</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40203</span></p> </td> <td> <p><span style="font-weight: 400;">All the destination numbers are invalid: $number</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid SMS type parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40204</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: SmsType is not set correctly</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Empty) From parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40205</span></p> </td> <td> <p><span style="font-weight: 400;">Empty From field in the request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">From parameter does not match SMS type</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40206</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From format is not matching with the SmsType</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Request parameter passed as array and not as a string</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40207</span></p> </td> <td> <p><span style="font-weight: 400;">Array passed as Value in params. Expecting String</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Non-array) messages parameter</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40208</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages has to be an array</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid encoding type parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40209</span></p> </td> <td> <p><span style="font-weight: 400;">Encoding type is not properly set. Please check the encoding type again before sending the request for Msg=[$body]</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Missing FROM parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40210</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all the below conditions are true:</span></p> <p><span style="font-weight: 400;">- SMS type is promotional</span></p> <p><span style="font-weight: 400;">- It is an Indian account</span></p> <p><span style="font-weight: 400;">- Promotional sender ID is not found (contact hello@exotel.com)</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40300</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional template found and no numeric sender ID exists in your account for sending it as promotional</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your sender ID is not found This is specific to international accounts and SMS type is not promotional</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40301</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional sender ID found in your account</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a dynamic bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40400</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account has sent POST requests higher than the maximum limit feasible</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40402</span></p> </td> <td> <p><span style="font-weight: 400;">Too many POST requests.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">In the trial phase, if your account exceeds the max. SMS limit</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40404</span></p> </td> <td> <p><span style="font-weight: 400;">Please note that you can send only 10 SMS from your account during the trial phase.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Throttle limit has been exceeded</span></p> <p><span style="font-weight: 400;">(Update to existing error code)</span></p> </td> <td> <p><span style="font-weight: 400;">503</span></p> </td> <td> <p><span style="font-weight: 400;">35006 -&gt; 40405</span></p> </td> <td> <p><span style="font-weight: 400;">Service Unavailable</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a static bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40406</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">POST API call to an unrecognized SMS endpoint. eg: v1/Accounts/&lt;account-sid&gt;/Sms/&lt;invalid-parameter&gt;</span></p> </td> <td> <p><span style="font-weight: 400;">405</span></p> </td> <td> <p><span style="font-weight: 400;">40502</span></p> </td> <td> <p><span style="font-weight: 400;">This method is not supported</span></p> </td> </tr> </tbody> </table> <p><strong>POST (/send, /bulksend) and /GET (/sms) error codes:</strong></p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account is inactive</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40002</span></p> </td> <td> <p><span style="font-weight: 400;">Account inactive.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Api call to v1/Accounts/exotel42us3/Sms</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40500</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid Parameters</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Unsupported API version</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Exotel API Version $version not supported. Contact Exotel for details.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Accounts missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">/Accounts/ missing from URL</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Account sid missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Auth key or auth token missing</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Authentication is required to view this page.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid auth key or auth token</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td> <p><span style="font-weight: 400;">34010</span></p> </td> <td> <p><span style="font-weight: 400;">Unauthorized;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid Account sid or any resource or action is missing or invalid</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Non alpha-numeric auth key or token</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">34001</span></p> </td> <td> <p><span style="font-weight: 400;">Bad or missing parameters in request.;</span></p> </td> </tr> </tbody> </table> <p>&nbsp;</p> </div> <hr> </section> <section class="sectionAPIClass" id="send-bulk-dynamic-sms"> <h1 >Send Bulk SMS With Dynamic Content <sup class="beta-tag">Beta</sup> </h1> <div class="wrapper-list"> <p>This API will send SMSes to different numbers with different message content for each number. To send SMS through our API, you will need to make a HTTP POST request to</p> </div> <div class="well api-well"> <div class="col-sm"> <span class="post">POST</span> </div> <div class="col-sm" style="margin: auto 10px;"> <p class="copy-text"> <span>https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend</span> </p> </div> <div class="col-sm"> <li> <a type="button" id="apidocTrynowbtn" onclick="openConsolePage(event,'https://developer.exotel.com/api-console/product-sms#send-bulk-dynamic-sms')" href="https://developer.exotel.com/api-console/product-sms#send-bulk-dynamic-sms" class="api-try btn-block show" >Try it</a> </li> <!-- <input class="api-try btn-block <?php// echo esc_html($tryvalue); ?>" onclick="openConsolePage(event,'<?php// echo $tryProductUrl?>')" type="button" value="Try it"> --> </div> </div> <div class="alert alert-info" role="alert"> <p>If you&#8217;d prefer response in JSON format, just append .json at the end of the HTTP POST request.</p> <p>Before you start sending transactional SMSes through this API, please test <a href="http://support.exotel.in/support/solutions/articles/48307-is-my-sms-template-working-">whether your content is matching a template</a>. Otherwise, the SMS will end up becoming promotional.</p> <p dir="ltr">The maximum number of elements in the `Messages` array of your bulk API would need to be&lt;=<span class="il">100</span> (less than or equal to <span class="il">100</span>), to avoid an HTTP Error 400.</p> </div> <div class="wrapper-list"> <ul> <li>Replace <code>&lt;your_api_key&gt;</code> and <code>&lt;your_api_token&gt;</code> with the API key and token created by you.</li> <li>Replace <code>&lt;your_sid&gt;</code> with your “Account sid”</li> <li>Replace <code>&lt;subdomain&gt;</code> with the region of your account <ol> <li>&lt;subdomain&gt; of Singapore cluster is @api.exotel.com</li> <li>&lt;subdomain&gt; of Mumbai cluster is @api.in.exotel.com</li> </ol> </li> </ul> <p><code>&lt;your_api_key&gt;</code> , <code>&lt;your_api_token&gt;</code> and <code>&lt;your_sid&gt;</code> are available in the API settings page of your <a href="https://my.exotel.com/apisettings/site#api-credentials">Exotel Dashboard</a></p> <p>The following are the POST parameters:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 25.4816%;"> <p>Parameter Name</p> </td> <td style="width: 20.7517%;"> <p>Mandatory/Optional</p> </td> <td style="width: 52.6012%;"> <p>Value</p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>From</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <ul> <li>Specify one of your ExoPhones</li> <li>For <a href="http://support.exotel.in/support/solutions/articles/38688-what-is-the-difference-between-a-transactional-sms-and-a-promotional-sms">transactional</a> SMSes, the <a href="http://support.exotel.in/support/solutions/articles/126794-how-to-choose-an-sms-sender-id-">SenderID</a> (When you buy an ExoPhone, you will be asked to enter a 6-letter sender ID from which your SMSes will be sent. For Eg: LM-EXOTEL or LM-WEBDEV etc.) will be the one that corresponds to the ExoPhone</li> <li>For <a href="http://support.exotel.in/support/solutions/articles/38688-what-is-the-difference-between-a-transactional-sms-and-a-promotional-sms">promotional</a> SMSes, the SenderID will anyways be a generic numeric one (Ex: LM-123456)</li> <li>Will be used in cases where From is missing in Messages object</li> <li>If not set, default approved SENDER ID as per account will be used</li> </ul> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>Messages</p> </td> <td style="width: 20.7517%;"> <p>Mandatory</p> </td> <td style="width: 52.6012%;"> <p>Array of message objects, wherein each object contains parameters about individual SMS:</p> <ul> <li>To (Mandatory): Mobile number to which SMS has to be sent. Preferably in E.164 format. If not set, our system will try to match it with a country and route the SMS</li> <li>Body (Mandatory): Content of your SMS; Max Length of the body cannot exceed 2000 characters</li> <li>From (Optional): ExoPhone or approved SENDER ID. If not provided, will use outer From</li> <li>SmsType (Optional): Applicable only for SMS sent by Indian businesses to Indian destination numbers. For International entities, the step to <a style="font-family: inherit; font-size: inherit;" href="https://support.exotel.com/support/solutions/articles/38686-what-is-an-sms-template-and-how-can-i-get-a-template-approved-">add a Template</a><span style="font-family: inherit; font-size: inherit;"> on the Exotel dashboard is mandatory.</span></li> </ul> <p>This optional parameter can be used to skip template addition on Exotel Dashboard and configure SMS type based on the template registered on DLT in India. </p> <p>Possible values-</p> <ul> <li><strong>transactional</strong> (OTP or Service Implicit content)</li> <li><strong>transactional_opt_in</strong> (Service Explicit content)</li> <li><strong>promotional</strong> (Promotional content with numeric header)</li> </ul> <p>If not set or incorrectly passed, Exotel will look up if content matches Templates added on Exotel for fetching SMS Type and DLT details.</p> <ul> <li>DltTemplateId (Optional): Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal of operators in India. (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</li> </ul> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>EncodingType</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <p>Message type of SMS; <a href="http://support.exotel.in/support/solutions/articles/3000019425-how-is-the-length-of-a-unicode-sms-calculated-">plain or unicode</a></p> </td> </tr> <tr id="sms-send-api-params-priority" style="height: 72px;"> <td style="width: 25.4816%; height: 72px;">ShortenUrl </td> <td style="width: 20.7517%; height: 72px;">Optional</td> <td style="width: 52.6012%; height: 72px;"> <p>Whether to shorten the URLs present in the SMS. Can be: "true" or "false". <br /> Please note that it is a chargeable feature and you can refer to <a href="https://support.exotel.com/support/solutions/articles/3000117586">Support article</a> to understand more and get it enabled for your account.</p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>ShortenUrlParams</p> <p>[Header]</p> </td> <td style="width: 20.7517%;">Optional</td> <td style="width: 52.6012%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Header that is part of the whitelisted Shortened URL on the DLT(Distributed Ledger Technology) platform of your choice.  Please ensure that this is an exact match with the header that is part of the whitelisted URL to avoid message failure</p> </td> </tr> <tr> <td style="width: 25.4816%;">ShortenUrlParams<br /> [CustomDomain]</td> <td style="width: 20.7517%;">Optional</td> <td style="width: 52.6012%;"> <p>Whether you want the short URL to start with default domain- exo.tl or you want to provide a custom domain of your own choice.</p> <p><span style="font-weight: 400;">      If custom domain is not present or empty, we will use the default domain(exo.tl)</span></p> <p><span style="font-weight: 400;">      If custom domain is given in the request it will be used to form the short URL</span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;"><br /> </span><span style="font-weight: 400;">Note : </span><span style="font-weight: 400;">Clients will have to route the traffic on their custom domain to</span><a href="http://exo.tl/"> <span style="font-weight: 400;">exo.tl</span></a><span style="font-weight: 400;"> domain, this is a change on your domain management system</span></p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p class="star-align">ShortenUrlParams<br /> [Tracking]</p> </td> <td style="width: 20.7517%;">Optional </td> <td style="width: 52.6012%;"> <p>Whether to track the URLs present in the SMS. Can be: "true" or "false". "ShortenUrl" needs to be "true" for Tracking to work.</p> <p>This feature is currently available to select customers. For early access, <a href="https://webforms.pipedrive.com/f/aF051KqXRawWNsP4qANJxV4vy3zZK3yBLMu0Xqtvl74GVhsJhke4GoDPsARfR9">please fill this form. </a></p> </td> </tr> <tr> <td style="width: 25.4816%;">ShortenUrlParams<br /> [ClickTrackingCallbackUrl]</td> <td style="width: 20.7517%;">Optional </td> <td style="width: 52.6012%;"> <p>Once someone clicks on the shortened URL,  Exotel will do a POST callback to your end point if the URL is set as a parameter in the API.  </p> <p>Below are the parameters: </p> <p>sid - The Sid (unique id) of the shortened URL  </p> <p>short_url - The complete shortened URL</p> <p>short_code - Key of the shortened URL </p> <p>long_url - Original URL which is shortened</p> <p>Tracking - Whether to track the URLs present in the SMS</p> <p>custom_field - custom field passed in SMS API request String value</p> <p>Expires_at -  Date Time in ISO format when link will expire</p> <p>Created_time - Date Time in ISO format when URL is created</p> <p>Last_viewed -  Date Time in ISO format when link was visited last</p> <p>Total_clicks  - count of total views of short url</p> <p>Account_sid -  Exotel’s unique Account SID</p> <p>Country_code - Country code of the customer who received the SMS</p> <p>Date_created - Date Time in ISO format when link was created </p> <p>Sms_sid - The Sid (unique id) of the SMS, this SID can be used to track the SMS</p> <p>To -  Contact number of the customer who clicked on the URL</p> <p>city - City where the shorten URL is clicked</p> <p>Country - Country code where shorten URL is clicked</p> <p>IP - IP address where shorten URL is clicked</p> <p>Postal code - Postal code where shorten URL is clicked </p> <p>Region - Region where shorten URL is clicked</p> <p>Accuracy radius - Aproximate accuracy radius where shorten URL is clicked </p> <p>OS_version - OS version of the customer who clicked the shorten URL </p> <p>OS_name - OS name of the customer who clicked the shorten URL </p> <p>Device_name - Device name of the customer who clicked the shorten URL </p> <p>Platform type - Platform where shorten URL is clicked </p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>StatusCallback</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <p>After every SMS reaches terminal state (sent/failed/failed-dnd), Exotel will do a POST callback to your end point if the URL is set as a parameter in the API. Content-type for the POST callback is <code>application/x-www-form-urlencoded</code> Below are the parameters:</p> <ul> <li>SmsSid - The Sid (unique id) of the SMS that you got in response to your request</li> <li>To - Mobile number to which SMS was sent</li> <li>Status - one of: queued, sending, submitted, sent, failed-dnd, failed</li> <li>DetailedStatus - Human readable word that explains what happened to the message </li> <li>DetailedStatusCode - Exotel’s Detailed Status code corresponding to the DetailedStatus </li> <li>DateSent - The date on which the message was sent</li> <li> SmsUnits - The number of  SMS units being sent</li> <li>CustomField - The custom field that was set in the POST request. (Will be returned only if it was set)</li> </ul> <p>This feature is currently available to select customers. For early access, <a href="https://webforms.pipedrive.com/f/aF051KqXRawWNsP4qANJxV4vy3zZK3yBLMu0Xqtvl74GVhsJhke4GoDPsARfR9">please fill this form. </a></p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>DltEntityId</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <p>Applicable only for SMS sent by Indian businesses to Indian destination numbers.<br /> <br /> Your Entity Id as registered on DLT (Distributed Ledger Technology) portal of operators in India. (<a href="https://support.exotel.com/support/solutions/articles/3000096504-trai-regulations-on-commercial-communications-dlt-portal-sms-in-india">Learn More about DLT</a>)</p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>CustomField</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <p>Set a Custom Field relevant to your use case while sending an SMS. E.g Order ID, Payment ID, Login Attempt etc</p> </td> </tr> <tr> <td style="width: 25.4816%;"> <p>Priority</p> </td> <td style="width: 20.7517%;"> <p>Optional</p> </td> <td style="width: 52.6012%;"> <p>Priority of the SMS; normal or high. Priority=high parameter should only be used for OTP SMSes (Bank or Delivery). Using it for any other SMS may impact your delivery</p> </td> </tr> </tbody> </table> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request</li> <li role="presentation" class="active"><a href="#callagent-4-5-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-4-5-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-4-5-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-4-5-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-4-5-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-4-5-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend \ -d "From=0XXXXXX4890" \ -d "Messages[0][Body]=Hello World one" \ -d "Messages[0][To]=XXXXX30240" \ -d "Messages[1][Body]=Hello World two" \ -d "Messages[1][To]=XXXXX30241" \ </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-5-2"> <pre class="prettyprint">var request = require('request'); var dataString = 'From=0XXXXXX4890&amp;Messages[0][Body]=Hello World one&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241'; var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', method: 'POST', body: dataString }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-5-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $data = array( 'From' =&gt; '0XXXXXX4890', 'Messages' =&gt; array(array('To' =&gt; 'XXXXX30240', 'Body' =&gt; 'Hello World one'), array('To' =&gt; 'XXXXX30241', 'Body' =&gt; 'Hello World two')), ); $response = Requests::post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', $headers, $data); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-5-4"> <pre class="prettyprint">import requests data = { 'From': '0XXXXXX4890', 'Messages[0][Body]': 'Hello World one', 'Messages[0][To]': 'XXXXX30240', 'Messages[1][Body]': 'Hello World two', 'Messages[1][To]': ' XXXXX30241' } requests.post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', data=data) </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-5-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend") request = Net::HTTP::Post.new(uri) request.body = "From=0XXXXXX4890&amp;Messages[0][Body]=Hello World one&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241" req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end # response.code # response.body </pre> </div> </div> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request for using URL shortening & click tracking</li> <li role="presentation" class="active"><a href="#callagent-4-6-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-4-6-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-4-6-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-4-6-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-4-6-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-4-6-1"> <pre class="prettyprint lang-bsh" class="prettyprint lang-bsh prettyprinted"><span class="pln">curl </span><span class="pun">-</span><span class="pln">X POST https</span><span class="pun">://&lt;</span><span class="pln">your_api_key</span><span class="pun">&gt;:&lt;</span><span class="pln">your_api_token</span><span class="pun">&gt;&lt;</span><span class="pln">subdomain</span><span class="pun">&gt;/</span><span class="pln">v1</span><span class="pun">/</span><span class="typ">Accounts</span><span class="pun">/&lt;</span><span class="pln">your_sid</span><span class="pun">&gt;/</span><span class="typ">Sms</span><span class="pun">/</span><span class="pln">bulksend \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"From=0XXXXXX4890"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"Messages[0][Body]=Hello World one"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"Messages[0][To]=XXXXX30240"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"Messages[1][Body]=Hello World two"</span><span class="pln"> \ </span><span class="pun">-</span><span class="pln">d </span><span class="str">"Messages[1][To]=XXXXX30241"</span><span class="pln"> \ <span class="pun">-</span>d <span class="str">"ShortenUrl=true"</span> \ -d "ShortenUrlParams[Header]=EXOTEL" <span class="pun">-</span>d <span class="str">"ShortenUrlParams[Tracking]=true"</span>\ <span class="pun">-</span>d <span class="str">"ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</span> </span></pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-6-2"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">var</span><span class="pln"> request </span><span class="pun">=</span> <span class="kwd">require</span><span class="pun">(</span><span class="str">'request'</span><span class="pun">);</span> <span class="kwd">var</span><span class="pln"> dataString </span><span class="pun">=</span> <span class="str">'From=0XXXXXX4890&amp;Messages[0][Body]=Hello World one&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/'</span><span class="pun">;</span> <span class="kwd">var</span><span class="pln"> options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> url</span><span class="pun">:</span> <span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend'</span><span class="pun">,</span><span class="pln"> method</span><span class="pun">:</span> <span class="str">'POST'</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">:</span><span class="pln"> dataString </span><span class="pun">};</span> <span class="kwd">function</span><span class="pln"> callback</span><span class="pun">(</span><span class="pln">error</span><span class="pun">,</span><span class="pln"> response</span><span class="pun">,</span><span class="pln"> body</span><span class="pun">)</span> <span class="pun">{</span> <span class="kwd">if</span> <span class="pun">(!</span><span class="pln">error </span><span class="pun">&amp;&amp;</span><span class="pln"> response</span><span class="pun">.</span><span class="pln">statusCode </span><span class="pun">==</span> <span class="lit">200</span><span class="pun">)</span> <span class="pun">{</span><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">body</span><span class="pun">);</span> <span class="pun">}</span> <span class="pun">}</span><span class="pln"> request</span><span class="pun">(</span><span class="pln">options</span><span class="pun">,</span><span class="pln"> callback</span><span class="pun">);</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-6-3"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="pun">&lt;?</span><span class="pln">php include</span><span class="pun">(</span><span class="str">'vendor/rmccue/requests/library/Requests.php'</span><span class="pun">);</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">register_autoloader</span><span class="pun">();</span><span class="pln"> $headers </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><span class="pln"> $data </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span> <span class="str">'From'</span> <span class="pun">=&gt;</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'Messages'</span> <span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'To'</span> <span class="pun">=&gt;</span> <span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'Body'</span> <span class="pun">=&gt;</span> <span class="str">'Hello World one'</span><span class="pun">),</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'To'</span> <span class="pun">=&gt;</span> <span class="str">'XXXXX30241'</span><span class="pun">,</span> <span class="str">'Body'</span> <span class="pun">=&gt;</span> <span class="str">'Hello World two'</span><span class="pun">)),</span> <span class="pun"><span class="str"> 'ShortenUrl' =&gt; 'true', 'ShortenUrlParams[Header]' =&gt; 'EXOTEL', 'ShortenUrlParams[Tracking]' =&gt; 'true', 'ShortenUrlParams[ClickTrackingCallbackUrl]' =&gt; 'https://www.google.co.in/ </span>);</span><span class="pln"> $response </span><span class="pun">=</span> <span class="typ">Requests</span><span class="pun">::</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend'</span><span class="pun">,</span><span class="pln"> $headers</span><span class="pun">,</span><span class="pln"> $data</span><span class="pun">);</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-6-4"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">import</span><span class="pln"> requests data </span><span class="pun">=</span> <span class="pun">{</span> <span class="str">'From'</span><span class="pun">:</span> <span class="str">'0XXXXXX4890'</span><span class="pun">,</span> <span class="str">'Messages[0][Body]'</span><span class="pun">:</span> <span class="str">'Hello World one'</span><span class="pun">,</span> <span class="str">'Messages[0][To]'</span><span class="pun">:</span> <span class="str">'XXXXX30240'</span><span class="pun">,</span> <span class="str">'Messages[1][Body]'</span><span class="pun">:</span> <span class="str">'Hello World two'</span><span class="pun">,</span> <span class="str">'Messages[1][To]'</span><span class="pun">:</span> <span class="str">' XXXXX30241', 'ShortenUrl' : 'true', 'ShortenUrlParams[Header]' : 'EXOTEL', 'ShortenUrlParams[Tracking]' : 'true', 'ShortenUrlParams[ClickTrackingCallbackUrl]' : 'https://www.google.co.in</span> <span class="pun">}</span><span class="pln"> requests</span><span class="pun">.</span><span class="pln">post</span><span class="pun">(</span><span class="str">'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend'</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">=</span><span class="pln">data</span><span class="pun">)</span> </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-6-5"> <pre class="prettyprint" class="prettyprint prettyprinted"><span class="kwd">require</span> <span class="str">'net/http'</span> <span class="kwd">require</span> <span class="str">'uri'</span><span class="pln"> uri </span><span class="pun">=</span><span class="pln"> URI</span><span class="pun">.</span><span class="pln">parse</span><span class="pun">(</span><span class="str">"https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend"</span><span class="pun">)</span><span class="pln"> request </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">::</span><span class="typ">Post</span><span class="pun">.</span><span class="kwd">new</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">)</span><span class="pln"> request</span><span class="pun">.</span><span class="pln">body </span><span class="pun">=</span> <span class="str">"From=0XXXXXX4890&amp;Messages[0][Body]=Hello World one&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241&amp;ShortenUrl=true&amp;ShortenUrlParams[Header]=EXOTEL&amp;ShortenUrlParams[Tracking]=true&amp;ShortenUrlParams[ClickTrackingCallbackUrl]=https://www.google.co.in/"</span><span class="pln"> req_options </span><span class="pun">=</span> <span class="pun">{</span><span class="pln"> use_ssl</span><span class="pun">:</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">scheme </span><span class="pun">==</span> <span class="str">"https"</span><span class="pun">,</span> <span class="pun">}</span><span class="pln"> response </span><span class="pun">=</span> <span class="typ">Net</span><span class="pun">::</span><span class="pln">HTTP</span><span class="pun">.</span><span class="pln">start</span><span class="pun">(</span><span class="pln">uri</span><span class="pun">.</span><span class="pln">hostname</span><span class="pun">,</span><span class="pln"> uri</span><span class="pun">.</span><span class="pln">port</span><span class="pun">,</span><span class="pln"> req_options</span><span class="pun">)</span> <span class="kwd">do</span> <span class="pun">|</span><span class="pln">http</span><span class="pun">|</span><span class="pln"> http</span><span class="pun">.</span><span class="pln">request</span><span class="pun">(</span><span class="pln">request</span><span class="pun">)</span> <span class="kwd">end</span> <span class="com"># response.code</span> <span class="com"># response.body</span> </pre> </div> </div> </div> <div class="wrapper-list"> <p>HTTP Response:</p> <ul> <li>On success, the HTTP response status code will be 200</li> <li>The <strong>Sid</strong> is the unique identifier of the SMS and it will be useful to log this for future debugging</li> <li>the HTTP body will contain an XML similar to the one below</li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response</li> <li role="presentation" class="active"><a href="#callagent-4-8-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-4-8-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-4-8-1"> <pre class="prettyprint">[ { "SMSMessage": { "Sid": "0f477d60517e6e6a0f6d9a7e9af8630e", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30240", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": null, "Body": "Hello World one", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e.json", "ApiVersion": null, "Price": null, "Status": "queued", "DetailedStatusCode": 21010, "DetailedStatus": "PENDING_TO_OPERATOR", "SmsUnits": null } }, { "SMSMessage": { "Sid": "1393e66deb633e7297bcfa9a9da0bb37", "AccountSid": "Exotel", "From": "0XXXXXX4890/WEBDEV", "To": "0XXXXX30241", "DateCreated": "2017-03-03 14:14:20", "DateUpdated": "2017-03-03 14:14:20", "DateSent": null, "Body": "Hello World two", "Direction": "outbound-api", "Uri": "/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37.json", "ApiVersion": null, "Price": null, "Status": "queued", "DetailedStatusCode": 21010, "DetailedStatus": "PENDING_TO_OPERATOR", "SmsUnits": null } } ]</pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-8-2"> <pre class="prettyprint">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;TwilioResponse&gt; &lt;SMSMessage&gt; &lt;Sid&gt;0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30240&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent/&gt; &lt;Body&gt;Hello World one&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/0f477d60517e6e6a0f6d9a7e9af8630e&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;queued&lt;/Status&gt; &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt; &lt;SMSUnits/&gt; &lt;/SMSMessage&gt; &lt;SMSMessage&gt; &lt;Sid&gt;1393e66deb633e7297bcfa9a9da0bb37&lt;/Sid&gt; &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt; &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt; &lt;To&gt;XXXXX30241&lt;/To&gt; &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt; &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt; &lt;DateSent/&gt; &lt;Body&gt;Hello World two&lt;/Body&gt; &lt;Direction&gt;outbound-api&lt;/Direction&gt; &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37&lt;/Uri&gt; &lt;ApiVersion/&gt; &lt;Price/&gt; &lt;Status&gt;queued&lt;/Status&gt; &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt; &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt; &lt;SMSUnits/&gt; &lt;/SMSMessage&gt; &lt;/TwilioResponse&gt;</pre> </div> </div> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Request (Partial Success)</li> <li role="presentation" class="active"><a href="#callagent-4-9-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">cURL</a></li> <li role="presentation" class=""><a href="#callagent-4-9-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">NodeJS</a></li> <li role="presentation" class=""><a href="#callagent-4-9-3" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">PHP</a></li> <li role="presentation" class=""><a href="#callagent-4-9-4" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Python</a></li> <li role="presentation" class=""><a href="#callagent-4-9-5" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">Ruby</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-4-9-1"> <pre class="prettyprint lang-bsh">curl -X POST https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend \ -d "From=0XXXXXX4890" \ -d "Messages[0][Body]=" \ -d "Messages[0][To]=XXXXX30240" \ -d "Messages[1][Body]=Hello World two" \ -d "Messages[1][To]=XXXXX30241" \ </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-9-2"> <pre class="prettyprint">var request = require('request'); var dataString = 'From=0XXXXXX4890&amp;Messages[0][Body]=&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241'; var options = { url: 'https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', method: 'POST', body: dataString }; function callback(error, response, body) { if (!error &amp;&amp; response.statusCode == 200) { console.log(body); } } request(options, callback); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-9-3"> <pre class="prettyprint">&lt;?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array(); $data = array( 'From' =&gt; '0XXXXXX4890', 'Messages' =&gt; array(array('To' =&gt; 'XXXXX30240', 'Body' =&gt; ''), array('To' =&gt; 'XXXXX30241', 'Body' =&gt; 'Hello World two')), ); $response = Requests::post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', $headers, $data); </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-9-4"> <pre class="prettyprint">import requests data = { 'From': '0XXXXXX4890', 'Messages[0][Body]': '', 'Messages[0][To]': 'XXXXX30240', 'Messages[1][Body]': 'Hello World two', 'Messages[1][To]': ' XXXXX30241' } requests.post('https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend', data=data) </pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-9-5"> <pre class="prettyprint">require 'net/http' require 'uri' uri = URI.parse("https://&lt;your_api_key&gt;:&lt;your_api_token&gt;&lt;subdomain&gt;/v1/Accounts/&lt;your_sid&gt;/Sms/bulksend") request = Net::HTTP::Post.new(uri) request.body = "From=0XXXXXX4890&amp;Messages[0][Body]=&amp;Messages[0][To]=XXXXX30240&amp;Messages[1][Body]=Hello World two&amp;Messages[1][To]=XXXXX30241" req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end # response.code # response.body </pre> </div> </div> </div> <div class="wrapper-list"> <p><span style="font-weight: 400;">HTTP Response (Partial Success):</span></p> <ul> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">On partial success i.e. where some of the messages in the bulk request succeeded but others did not, the HTTP response status code will be 207</span></li> <li><span style="font-weight: 400;">The Sid is the unique identifier of the SMS (this will be available only for accepted requests), it will be useful to log this for future debugging</span></li> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The HTTP body will contain a JSON / XML similar to the one below</span></li> </ul> </div> <div> <ul class="nav nav-pills" role="tablist"> <li class="request">Example Response (Partial Success)</li> <li role="presentation" class="active"><a href="#callagent-4-11-1" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">JSON</a></li> <li role="presentation" class=""><a href="#callagent-4-11-2" aria-controls="curl" role="tab" data-toggle="tab" aria-expanded="true">XML</a></li> </ul> <div class="tab-content"> <div role="tabpanel" class="tab-pane copy-text active" id="callagent-4-11-1"> <pre class="prettyprint"><span style="font-weight: 400;">[</span> <span style="font-weight: 400;">    {</span> <span style="font-weight: 400;">        "SMSMessage": {</span> <span style="font-weight: 400;">            "Sid": null,</span> <span style="font-weight: 400;">            "AccountSid": "Exotel",</span> <span style="font-weight: 400;">            "From": null,</span> <span style="font-weight: 400;">            "To": </span><span style="font-weight: 400;">"</span><span style="font-weight: 400;">0XXXXX30240</span><span style="font-weight: 400;">",</span> <span style="font-weight: 400;">            "DateCreated": null,</span> <span style="font-weight: 400;">            "DateUpdated": null,</span> <span style="font-weight: 400;">            "DateSent": null,</span> <span style="font-weight: 400;">            "Body": "",</span> <span style="font-weight: 400;">            "Direction": null,</span> <span style="font-weight: 400;">            "Uri": null,</span> <span style="font-weight: 400;">            "ApiVersion": null,</span> <span style="font-weight: 400;">            "Price": null,</span> <span style="font-weight: 400;">            "Status": "failed",</span> <span style="font-weight: 400;">            "DetailedStatusCode": 23000,</span> <span style="font-weight: 400;">            "DetailedStatus": "FAILED_MISSING_BODY"            "SmsUnits": null</span> <span style="font-weight: 400;">        }</span> <span style="font-weight: 400;">    },</span> <span style="font-weight: 400;">    {</span> <span style="font-weight: 400;">        "SMSMessage": {</span> <span style="font-weight: 400;">            "Sid": "1393e66deb633e7297bcfa9a9da0bb37",</span> <span style="font-weight: 400;">            "AccountSid": "Exotel",</span> <span style="font-weight: 400;">            "From": "0XXXXXX4890/WEBDEV",</span> <span style="font-weight: 400;">            "To": "XXXXX30241",</span> <span style="font-weight: 400;">            "DateCreated": "2017-03-03 14:14:20",</span> <span style="font-weight: 400;">            "DateUpdated": "2017-03-03 14:14:20",</span> <span style="font-weight: 400;">            "DateSent": null,</span> <span style="font-weight: 400;">            "Body": "Hello World two",</span> <span style="font-weight: 400;">            "Direction": "outbound-api",</span> <span style="font-weight: 400;">            "Uri": "/v1/Accounts/exotel42us3/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37.json",</span> <span style="font-weight: 400;">            "ApiVersion": null,</span> <span style="font-weight: 400;">            "Price": null,</span> <span style="font-weight: 400;">            "Status": "queued",</span> <span style="font-weight: 400;">            "DetailedStatusCode": 21010,</span> <span style="font-weight: 400;">            "DetailedStatus": "PENDING_TO_OPERATOR",            "SmsUnits": null</span> <span style="font-weight: 400;">        }</span> <span style="font-weight: 400;">    }</span> <span style="font-weight: 400;">]</span></pre> </div> <div role="tabpanel" class="tab-pane copy-text " id="callagent-4-11-2"> <pre class="prettyprint">&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;TwilioResponse&gt; &lt;SMSMessage&gt;  &lt;Sid/&gt;  &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt;  &lt;From/&gt;  &lt;To&gt;XXXXX30240&lt;/To&gt;  &lt;DateCreated/&gt;  &lt;DateUpdated/&gt;  &lt;DateSent/&gt;  &lt;Body&gt;&lt;/Body&gt;  &lt;Direction/&gt;  &lt;Uri/&gt;  &lt;ApiVersion/&gt;  &lt;Price/&gt;  &lt;Status&gt;<span style="font-weight: 400;">failed</span>&lt;/Status&gt;  &lt;DetailedStatusCode&gt;23000&lt;/DetailedStatusCode&gt;  &lt;DetailedStatus&gt;<span style="font-weight: 400;">FAILED_MISSING_BODY</span>&lt;/DetailedStatus&gt;  &lt;SmsUnits/&gt; &lt;/SMSMessage&gt; &lt;SMSMessage&gt;  &lt;Sid&gt;1393e66deb633e7297bcfa9a9da0bb37&lt;/Sid&gt;  &lt;AccountSid&gt;Exotel&lt;/AccountSid&gt;  &lt;From&gt;0XXXXXX4890/WEBDEV&lt;/From&gt;  &lt;To&gt;XXXXX30241&lt;/To&gt;  &lt;DateCreated&gt;2017-03-03 14:14:20&lt;/DateCreated&gt;  &lt;DateUpdated&gt;2017-03-03 14:14:20&lt;/DateUpdated&gt;  &lt;DateSent/&gt;  &lt;Body&gt;Hello World!&lt;/Body&gt;  &lt;Direction&gt;outbound-api&lt;/Direction&gt;  &lt;Uri&gt;/v1/Accounts/Exotel/SMS/Messages/1393e66deb633e7297bcfa9a9da0bb37&lt;/Uri&gt;  &lt;ApiVersion/&gt;  &lt;Price/&gt;  &lt;Status&gt;queued&lt;/Status&gt;  &lt;DetailedStatusCode&gt;21010&lt;/DetailedStatusCode&gt;  &lt;DetailedStatus&gt;PENDING_TO_OPERATOR&lt;/DetailedStatus&gt;  &lt;SmsUnits/&gt; &lt;/SMSMessage&gt; &lt;/TwilioResponse&gt;</pre> </div> </div> </div> <div class="wrapper-list"> <p>Description of parameters mentioned in the above response:</p> <table class="table table-hover table-responsive table-bordered" style="width: 100%;"> <tbody> <tr> <td style="width: 19.2308%;"> <p>Parameter Name</p> </td> <td style="width: 79.8368%;"> <p>Type &amp; Value</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Sid</p> </td> <td style="width: 79.8368%;"> <p>string; an alpha-numeric unique identifier of the SMS</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>AccountSid</p> </td> <td style="width: 79.8368%;"> <p>String; Your account identifier</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>From</p> </td> <td style="width: 79.8368%;"> <p>String; It is of format &lt;VN&gt;/&lt;SenderID&gt; where &lt;VN&gt; is your Exotel Virtual Number/ExoPhone through which you are sending the SMS. &lt;SenderID&gt; is the SenderID via which this SMS was sent</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>To</p> </td> <td style="width: 79.8368%;"> <p>String; The mobile number(s) to which the SMS was sent</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>DateCreated</p> </td> <td style="width: 79.8368%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was received at our server</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>DateUpdated</p> </td> <td style="width: 79.8368%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when any property of this SMS was last updated by our server</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>DateSent</p> </td> <td style="width: 79.8368%;"> <p>Time in format YYYY-MM-DD HH:mm:ss; The time when the SMS was delivered to the recepient</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Body</p> </td> <td style="width: 79.8368%;"> <p>String; The body of the SMS message sent</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Status</p> </td> <td style="width: 79.8368%;"> <p>Can be of:</p> <ul> <li>queued - This means that the SMS you have sent has been queued internally for delivery</li> <li>sending - This means that we're in process of sending the SMS to upstream provider/gateway</li> <li>submitted - This means that the SMS you have sent has been submitted from our system to SMS Gateway</li> <li>sent - The SMS was successfully delivered to the handset</li> <li>failed-dnd - The delivery of the SMS failed because the number belongs to the TRAI NCPR list. This is applicable only for promotional SMS</li> <li>failed - The delivery of SMS failed. Please see DetailedStatusCode and DetailedStatus for further details.</li> </ul> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>DetailedStatus</p> </td> <td style="width: 79.8368%;"> <p>Human readable word that explains what happened to the Message. Log these strings in your log files for grepping and debugging by a developer.</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>DetailedStatusCode</p> </td> <td style="width: 79.8368%;"> <p>Exotel’s Detailed Status code corresponding to the DetailedStatus. Use this field to build decision making in your code.</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Price</p> </td> <td style="width: 79.8368%;"> <p>Double; If present, this will be the amount (in INR or USD) you have been charged for the SMS</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Direction</p> </td> <td style="width: 79.8368%;"> <ul> <li>incoming - incoming messages</li> <li>outbound-api - messages initiated via the REST API</li> <li>outbound-call - messages initiated during a call</li> <li>outbound-reply - messages initiated in response to an incoming message</li> </ul> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>Uri</p> </td> <td style="width: 79.8368%;"> <p>Uri is the path of the SmsSid</p> </td> </tr> <tr> <td style="width: 19.2308%;"> <p>SmsUnits</p> </td> <td style="width: 79.8368%;"> <p> The number of  SMS units being sent</p> </td> </tr> </tbody> </table> <p><strong>Mapping and Description of status codes</strong></p> <table class="table table-hover table-responsive table-bordered" style="width: 99.9211%;"> <tbody> <tr> <td style="width: 18.9102%;"> <p>Detailed Status Code</p> </td> <td style="width: 16.4357%;"> <p>Nature of Detailed Status Code</p> </td> <td style="width: 14.3351%;"> <p>Status</p> </td> <td style="width: 22.1807%;"> <p>DetailedStatus</p> </td> <td style="width: 78.6329%;"> <p>What it means</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>21010</p> </td> <td style="width: 16.4357%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 14.3351%;"> <p>queued</p> </td> <td style="width: 22.1807%;"> <p>PENDING_TO_OPERATOR</p> </td> <td style="width: 78.6329%;"> <p>The message is is being processed by Exotel.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>21015</p> </td> <td style="width: 16.4357%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 14.3351%;"> <p>sending</p> </td> <td style="width: 22.1807%;"> <p>SENDING_TO_OPERATOR</p> </td> <td style="width: 78.6329%;"> <p>The message has been processed by Exotel and is en-route to the operator.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>21020</p> </td> <td style="width: 16.4357%;"> <p>Intermediate, may change in future</p> </td> <td style="width: 14.3351%;"> <p>submitted</p> </td> <td style="width: 22.1807%;"> <p>PENDING_ON_OPERATOR</p> </td> <td style="width: 78.6329%;"> <p>The message has been successfully Submitted to the operator and is pending delivery. In India, Promotional SMS may be in this state if submitted outside permitted time (10AM to 9PM).</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>20005</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>sent</p> </td> <td style="width: 22.1807%;"> <p>DELIVERED_TO_HANDSET</p> </td> <td style="width: 78.6329%;"> <p>We know with confidence that the message has been delivered to recipient's handset.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>20006</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>sent</p> </td> <td style="width: 22.1807%;"> <p>DELIVERED_TO_OPERATOR</p> </td> <td style="width: 78.6329%;"> <p>The message has been delivered to operator. In some regions and routes, handset delivery status (DELIVERED_TO_HANDSET) is not available and hence this is the best we can ever report about the delivery status.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23005</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed-dnd</p> </td> <td style="width: 22.1807%;"> <p>FAILED_REJECTED_DND</p> </td> <td style="width: 78.6329%;"> <p>The message has been rejected as the end user is a subscriber of DND (Do Not Disturb) services.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23010</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_INVALID_DESTINATION_NUMBER</p> </td> <td style="width: 78.6329%;"> <p>The destination number is incorrect, not SMS-enabled or is a PSTN landline.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23015</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_SPAM_DETECTED</p> </td> <td style="width: 78.6329%;"> <p>One of the most common reasons for SMS delivery failure is carrier level spam filters. Carriers have added systems and algorithms that detect spam content and then block these messages. Unfortunately, these filters are hidden, subject to carrier preferences, vary from carrier to carrier, and can be changed without notice.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23020</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_REJECTED_BLACKLIST</p> </td> <td style="width: 78.6329%;"> <p>You tried to send a message to a blacklisted phone number. That is, the user has already sent a STOP/DND opt-out message and no longer wishes to receive messages from you.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>24990</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_UNKNOWN_ERROR</p> </td> <td style="width: 78.6329%;"> <p>Delivering your message failed for reasons that are unknown to us and to our carriers. If you notice too many of these cases, please reach out to us.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23030</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_UNAVAILABLE_ROUTE</p> </td> <td style="width: 78.6329%;"> <p>The carrier and fallback carriers were not able to deliver the SMS message because no route was available.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23035</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_SUBSCRIBER_UNAVAILABLE</p> </td> <td style="width: 78.6329%;"> <p>This message was not delivered because subscriber was temporarily unavailable. For example, the receiving handset was out of coverage or switched off. This is a temporary failure, but a message sent to the same subscriber at a later point in time may get delivered.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23040</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_SUBSCRIBER_UNKNOWN</p> </td> <td style="width: 78.6329%;"> <p>Subscriber is unknown to the operators or no longer active.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23050</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_EXPIRED</p> </td> <td style="width: 78.6329%;"> <p>The message was sent to the operator and may have been retried several times within the default network SMS expiration duration. The message request has now expired.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23060</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_REJECTED</p> </td> <td style="width: 78.6329%;"> <p>For a number of reasons, the message was rejected by Exotel or the operator.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>24105</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_HANDSET_ERROR</p> </td> <td style="width: 78.6329%;"> <p>The message was not delivered to the subscriber due to handset failure</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>24110</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_OPERATOR_ERROR</p> </td> <td style="width: 78.6329%;"> <p>The message failed due to an issue at the operator end</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23070</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_INVALID_MESSAGE</p> </td> <td style="width: 78.6329%;"> <p>The message was rejected by the operator as Invalid. While Exotel will automatically split messages longer than 160 GSM 7-bit characters, or 70 unicode 16-bit characters into multipart SMS, Messages exceeding the allowed character limit of 2000 characters may also end in this state. Any request error related to the message, say unindentified character, may also fall under this bucket.<br /> <br /> In India, if DLT related parameters are not set like Entity ID, your SMS may fail with this error code.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23072</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;">FAILED_INVALID_SENDER_ID<br /> <p>&nbsp;</p> </td> <td style="width: 78.6329%;"> <p>The message failed due to invalid or unregistered Sender ID. In case of India, if your Sender ID (header) is not registered with operator DLT platform, you may receive this error.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>24010</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_SYSTEM_ERROR</p> </td> <td style="width: 78.6329%;"> <p>SMS failed while processing within Exotel system.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>24120</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>FAILED_SUBSCRIBER_ERROR</p> </td> <td style="width: 78.6329%;"> <p>All subscriber or recipeient issues that are unrelated to the handset (For ex - Receiver does not have enough mobile balance to receive the SMS) may fall under this bucket.</p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23080</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>SENDER_BLOCKED_BY_DLT</p> </td> <td style="width: 78.6329%;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Sender ID (Header) is blocked or failed at DLT platform by the operator due to mismatch, non-registration, template not linked with Sender (header) etc.<br /> <br /> <em>*This DetailedStatus will reflect in API from 17th May 2021</em></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23081</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>ENTITY_BLOCKED_BY_DLT</p> </td> <td style="width: 78.6329%;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Entity (DLT Entity ID) is blocked or failed at DLT platform by the operator due to DLT Entity ID not passed in API or configured on Exotel Dashboard, values are mismatching etc.<br /> <br /> <em>*This DetailedStatus will reflect in API from 17th May 2021</em></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23082</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p>TEMPLATE_BLOCKED_BY_DLT</p> </td> <td style="width: 78.6329%;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. Template (Template ID) is blocked or failed at DLT due to Template ID not set in API or configured on Exotel Dashboard, content is not exactly matching, non-registeration of the template etc.<br /> <br /> <em>*This DetailedStatus will reflect in API from 17th May 2021</em></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p><span data-sheets-value="{&quot;1&quot;:3,&quot;3&quot;:23083}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">23083</span></p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}">FAILED_DLT_SCRUBBING_ERROR</span></p> </td> <td style="width: 78.6329%;"> <p>Applicable only for SMSes sent to Indian destination numbers via domestic lines. SMS is blocked or failed at DLT even after registration due to explicit blocking of the Sender ID due to spam, issues with consent or any other technical issues with DLT platform.<br /> <br /> <em>*This DetailedStatus will reflect in API from 17th May 2021</em></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p dir="ltr" data-identifyelement="641"><span dir="ltr" data-identifyelement="643">23181</span></p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span dir="ltr" data-identifyelement="643">DLT_TEMPLATE_ID_INVALID</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is invalid.</span></p> <p>Some operators may report this error as 23182: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND</span></span></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23182</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_NOT_FOUND</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template was not found.</span></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23183</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_INACTIVE</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template is inactive.</span></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23184</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_ID_BLACKLISTED</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">This Template has been blacklisted. This may happen due to users reporting this message.</span></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23185</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message body does not match the Template on the DLT portal. </span></p> </td> </tr> <tr> <td style="width: 18.9102%;"> <p>23186</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_LENGTH_EXCEEDED</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The message has exceeded the maximum allowed length of 2000 characters.</span></p> <p>Some operators may report this error as 23185: <span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_TEMPLATE_DOES_NOT_MATCH</span></span></p> </td> </tr> <tr> <td style="width: 18.9102%;"><span style="font-weight: 400;">23281</span> <p>&nbsp;</p> </td> <td style="width: 16.4357%;"> <p>Final</p> </td> <td style="width: 14.3351%;"> <p>failed</p> </td> <td style="width: 22.1807%;"> <p><span data-sheets-value="{&quot;1&quot;:2,&quot;2&quot;:&quot;FAILED_DLT_SCRUBBING_ERROR&quot;}" data-sheets-userformat="{&quot;2&quot;:7037,&quot;3&quot;:{&quot;1&quot;:0},&quot;5&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;6&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;7&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;8&quot;:{&quot;1&quot;:[{&quot;1&quot;:2,&quot;2&quot;:0,&quot;5&quot;:{&quot;1&quot;:2,&quot;2&quot;:14540253}},{&quot;1&quot;:0,&quot;2&quot;:0,&quot;3&quot;:3},{&quot;1&quot;:1,&quot;2&quot;:0,&quot;4&quot;:1}]},&quot;9&quot;:0,&quot;11&quot;:4,&quot;12&quot;:0,&quot;14&quot;:{&quot;1&quot;:2,&quot;2&quot;:0},&quot;15&quot;:&quot;Arial&quot;}"><span style="font-weight: 400;">DLT_ENTITY_NOT_FOUND</span></span></p> </td> <td style="width: 78.6329%;"> <p><span style="font-weight: 400;">Applicable only for SMS sent to Indian destination numbers via domestic lines. </span><span style="font-weight: 400;">The ENTITY_ID was not found on the DLT portal.</span></p> <p><span style="font-weight: 400;">Some operators may report this error as 23081: ENTITY_BLOCKED_BY DLT. </span></p> </td> </tr> </tbody> </table> </div> <div class="alert alert-info" role="alert"> <p>In case your SMS body contains special characters (like -, &amp;, % etc), URL-encode the text</p> <p>In case EncodingType is not set, then it will auto detect the encoding type of SMS, whether it is plain or unicode</p> <p>DetailedStatusCode in the range of 23084-24000 are reserved for future and can be expanded for any other detailed status scenario related to SMS.</p> </div> <div class="wrapper-list"> <p><strong>Mapping and Description of HTTP API Error Codes in the API response</strong></p> <p>POST (/send, /bulksend) API error codes:</p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your trial account is being used to send promotional SMS</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40000</span></p> </td> <td> <p><span style="font-weight: 400;">Not allowed to send promotional SMS(s).</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is trial and KYC not completed, and one of the following occurs:</span></p> <p><span style="font-weight: 400;">- Number not whitelisted</span></p> <p><span style="font-weight: 400;">- It is whitelisted but is not of type agent-whitelist</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">340030</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not yet KYC compliant;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If there is insufficient balance in your account</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40001</span></p> </td> <td> <p><span style="font-weight: 400;">Insufficient balance to send $n sms. Please recharge your account.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If account is not configured to send SMSes to the recipient country.</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40003</span></p> </td> <td> <p><span style="font-weight: 400;">Your account is not configured to send SMSes to this country. Please write to hello@exotel.com to update the setup.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If yours is a trial account with incomplete KYC and has a whitelisting error. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">35000</span></p> </td> <td> <p><span style="font-weight: 400;">Internal Server Error</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Exotel internal error code related to processing. Email hello@exotel.com for more details.</span></p> </td> <td> <p><span style="font-weight: 400;">500</span></p> </td> <td> <p><span style="font-weight: 400;">40100</span></p> </td> <td> <p><span style="font-weight: 400;">Error Processing Request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for single send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40200</span></p> </td> <td> <p><span style="font-weight: 400;">Message body cannot be empty.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Message body for bulk send is invalid on account of it being empty/missing</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40201</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Array) message body</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40202</span></p> </td> <td> <p><span style="font-weight: 400;">Message body is invalid.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all destination numbers are invalid</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40203</span></p> </td> <td> <p><span style="font-weight: 400;">All the destination numbers are invalid: $number</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid SMS type parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40204</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: SmsType is not set correctly</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Empty) From parameter in request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40205</span></p> </td> <td> <p><span style="font-weight: 400;">Empty From field in the request</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">From parameter does not match SMS type</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40206</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From format is not matching with the SmsType</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Request parameter passed as array and not as a string</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40207</span></p> </td> <td> <p><span style="font-weight: 400;">Array passed as Value in params. Expecting String</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid (Non-array) messages parameter</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40208</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: Messages has to be an array</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid encoding type parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40209</span></p> </td> <td> <p><span style="font-weight: 400;">Encoding type is not properly set. Please check the encoding type again before sending the request for Msg=[$body]</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Missing FROM parameter in SMS request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40210</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid parameters: From is a mandatory field</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If all the below conditions are true:</span></p> <p><span style="font-weight: 400;">- SMS type is promotional</span></p> <p><span style="font-weight: 400;">- It is an Indian account</span></p> <p><span style="font-weight: 400;">- Promotional sender ID is not found (contact hello@exotel.com)</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40300</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional template found and no numeric sender ID exists in your account for sending it as promotional</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your sender ID is not found This is specific to international accounts and SMS type is not promotional</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40301</span></p> </td> <td> <p><span style="font-weight: 400;">No transactional sender ID found in your account</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a dynamic bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40400</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account has sent POST requests higher than the maximum limit feasible</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40402</span></p> </td> <td> <p><span style="font-weight: 400;">Too many POST requests.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">In the trial phase, if your account exceeds the max. SMS limit</span></p> </td> <td> <p><span style="font-weight: 400;">429</span></p> </td> <td> <p><span style="font-weight: 400;">40404</span></p> </td> <td> <p><span style="font-weight: 400;">Please note that you can send only 10 SMS from your account during the trial phase.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Throttle limit has been exceeded</span></p> <p><span style="font-weight: 400;">(Update to existing error code)</span></p> </td> <td> <p><span style="font-weight: 400;">503</span></p> </td> <td> <p><span style="font-weight: 400;">35006 -&gt; 40405</span></p> </td> <td> <p><span style="font-weight: 400;">Service Unavailable</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">More than 100 SMSs in a static bulk request</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40406</span></p> </td> <td> <p><span style="font-weight: 400;">Not more than 100 SMSs are allowed in one API request.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">POST API call to an unrecognized SMS endpoint. eg: v1/Accounts/&lt;account-sid&gt;/Sms/&lt;invalid-parameter&gt;</span></p> </td> <td> <p><span style="font-weight: 400;">405</span></p> </td> <td> <p><span style="font-weight: 400;">40502</span></p> </td> <td> <p><span style="font-weight: 400;">This method is not supported</span></p> </td> </tr> </tbody> </table> <p><strong>POST (/send, /bulksend) and /GET (/sms) error codes:</strong></p> <table class="table table-hover table-responsive table-bordered"> <tbody> <tr> <td> <p><strong>Scenario</strong></p> </td> <td> <p><strong>HTTP Error Code</strong></p> </td> <td> <p><strong>API Error code</strong></p> </td> <td> <p><strong>Error message</strong></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">If your account is inactive</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">40002</span></p> </td> <td> <p><span style="font-weight: 400;">Account inactive.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Api call to v1/Accounts/exotel42us3/Sms</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">40500</span></p> </td> <td> <p><span style="font-weight: 400;">Invalid Parameters</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Unsupported API version</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Exotel API Version $version not supported. Contact Exotel for details.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Accounts missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">/Accounts/ missing from URL</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Account sid missing from URL</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Auth key or auth token missing</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td>&nbsp;</td> <td> <p><span style="font-weight: 400;">Authentication is required to view this page.</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid auth key or auth token</span></p> </td> <td> <p><span style="font-weight: 400;">401</span></p> </td> <td> <p><span style="font-weight: 400;">34010</span></p> </td> <td> <p><span style="font-weight: 400;">Unauthorized;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Invalid Account sid or any resource or action is missing or invalid</span></p> </td> <td> <p><span style="font-weight: 400;">403</span></p> </td> <td> <p><span style="font-weight: 400;">34009</span></p> </td> <td> <p><span style="font-weight: 400;">Action forbidden on given resource;</span></p> </td> </tr> <tr> <td> <p><span style="font-weight: 400;">Non alpha-numeric auth key or token</span></p> </td> <td> <p><span style="font-weight: 400;">400</span></p> </td> <td> <p><span style="font-weight: 400;">34001</span></p> </td> <td> <p><span style="font-weight: 400;">Bad or missing parameters in request.;</span></p> </td> </tr> </tbody> </table> <p>&nbsp;</p> </div> <hr> </section> </div> </div> <div class="row"> <footer id="footer"> <div class="container"> <div class="row"> <div class="col-sm-3"><img class="footer-logo" src="https://developer.exotel.com/wp-content/uploads/2019/10/exotel-footer-logo-2.svg" alt=""> </div> <div class="col-sm-6"> <ul class="list-inline footer-links"> <li><a href="https://exotel.com/about-us/">About Exotel</a></li> <li><a href="https://exotel.com/careers/">Careers</a></li> <li><a href="https://exotel.com/privacy-policy/">Privacy Policy</a></li> <li><a href="https://exotel.com/terms-of-service/">Terms of Service</a></li> <li><a href="http://support.exotel.in/support/home">Support</a></li> <li><a href="https://exotel.com/contact/">Contact</a></li> </ul> </div> <div class="col-sm-3 copyrights"> &copy 2024Exotel Telecom Pvt. Ltd.</div> </div> </div> </footer> </div> <script src="https://cdn-in.pagesense.io/js/exotel/c6a655fb28364a0d82a2e6874dbec9c0.js"></script> <!-- Google Tag Manager (noscript) snippet added by Site Kit --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TSLF3FD" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) snippet added by Site Kit --> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.13.7' id='regenerator-runtime-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0' id='wp-polyfill-js'></script> <script type='text/javascript' id='contact-form-7-js-extra'> /* <![CDATA[ */ var wpcf7 = {"api":{"root":"https:\/\/developer.exotel.com\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":"1"}; var wpcf7 = {"api":{"root":"https:\/\/developer.exotel.com\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":"1"}; /* ]]> */ </script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.5.3' id='contact-form-7-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/jquery/ui/core.min.js?ver=1.12.1' id='jquery-ui-core-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.12.1' id='jquery-ui-datepicker-js'></script> <script type='text/javascript' id='jquery-ui-datepicker-js-after'> jQuery(document).ready(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"dateFormat":"MM d, yy","firstDay":1,"isRTL":false});}); jQuery(document).ready(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"dateFormat":"MM d, yy","firstDay":1,"isRTL":false});}); </script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/themes/exotel/assets/js/scripts.js?ver=5.8.10' id='script-js'></script> <script type='text/javascript' src='https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?ver=5.8.10' id='prettify-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-includes/js/clipboard.min.js?ver=5.8.10' id='clipboard-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/themes/exotel/assets/js/doc/custom.js?ver=5.8.10' id='custom-js'></script> <script type='text/javascript' src='https://developer.exotel.com/wp-content/themes/exotel/script.js?ver=5.8.10' id='des_script-js'></script> <script> window.fwSettings={ 'widget_id':3000000035 }; !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}() // collapase accordins var colhold=""; function funcollapse(x){ $(".coll-in").hide(); $(".icond").show(); $(".iconu").hide(); console.log(x) if(colhold==x){ // $(x).hide(); document.getElementById(x+"icond").style.display = ""; document.getElementById(x +"iconu").style.display = "none"; $(x).removeClass('collapsed'); document.getElementById(x).style.display = "none"; colhold=""; }else { // console.log(x+"icon") $(x).addClass('collapsed'); document.getElementById(x+"icond").style.display = "none"; document.getElementById(x +"iconu").style.display = ""; document.getElementById(x).style.display = ""; colhold=x; } // console.log(x,colhold) } </script> <script type='text/javascript' src='https://widget.freshworks.com/widgets/3000000035.js' async defer></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10