Des créations plus rapides avec Serverless Functions
Functions est un environnement sans serveur sur Twilio, où vous pouvez rapidement créer des microservices orientés événements, les intégrer à des endpoints tiers et développer des flux Twilio Studio avec une logique personnalisée.

Du concept à la première édition
en quelques étapes seulement

Développez des microservices orientés événements avec Node.js
Créez des applications Twilio évolutives, de niveau production et orientées événements à l'aide de Node.js. Innovez sans vous soucier de la stabilité. Itérez rapidement. Utilisez une logique personnalisée pour les applications Studio et les systèmes SVI (Serveur Vocal Interactif).

Intégration avec les endpoints tiers
Procédez à une intégration avec n'importe quel système tiers en transformant et en filtrant vos données à l'aide de la puissance de Node.js et de l'écosystème npm. Créez facilement des requêtes vers une API externe et configurez des webhooks pour acquérir des données à partir de produits Twilio ou de systèmes externes.

Votre code sur Twilio
Donnez vie à vos idées rapidement, que vous développiez des API puissantes, des intégrations complexes ou que vous ajoutiez une logique personnalisée à votre système SVI (Serveur Vocal Interactif). Laissez Twilio Functions gérer les charges opérationnelles pour accélérer la mise sur le marché.

Mise à l'échelle automatique et tarification transparente
Notre solution sans serveur sur Twilio s'adapte automatiquement à une demande élevée et comprend un modèle commercial de paiement à l'utilisation afin de réduire les coûts pour votre entreprise.
Cas d'utilisation de Functions
Déploiement avec Functions en moins
de 5 minutes
- Node.js
<div class="highlight"><span class="code-line"><span class="nx">exports</span><span class="p">.</span><span class="nx">handler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">async</span><span class="w"> </span><span class="kd">function</span><span class="p">(</span><span class="nx">context</span><span class="p">,</span><span class="w"> </span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="nx">callback</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">context</span><span class="p">.</span><span class="nx">getTwilioClient</span><span class="p">();</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">client</span><span class="p">.</span><span class="nx">messages</span><span class="p">.</span><span class="nx">create</span><span class="p">({</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">to</span><span class="o">:</span><span class="w"> </span><span class="s1">'+15558675310'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kr">from</span><span class="o">:</span><span class="w"> </span><span class="s1">'+15017122661'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">body</span><span class="o">:</span><span class="w"> </span><span class="s1">'Hi there!'</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">});</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">callback</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="nx">message</span><span class="p">.</span><span class="nx">sid</span><span class="p">);</span><span class="w"></span>
</span><span class="code-line"><span class="p">};</span><span class="w"></span>
</span></div>
Envoyer un SMS à partir de votre numéro de téléphone Twilio
Envoyez un SMS à partir de votre numéro de téléphone Twilio. Avec quelques lignes de code, votre téléphone affiche un SMS Twilio à l'aide de Twilio Functions.
- Node.js
<div class="highlight"><span class="code-line"><span class="nx">exports</span><span class="p">.</span><span class="nx">handler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">async</span><span class="w"> </span><span class="kd">function</span><span class="p">(</span><span class="nx">context</span><span class="p">,</span><span class="w"> </span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="nx">callback</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">context</span><span class="p">.</span><span class="nx">getTwilioClient</span><span class="p">();</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">service</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">context</span><span class="p">.</span><span class="nx">VERIFY_SERVICE_SID</span><span class="p">;</span><span class="w"></span>
</span><span class="code-line">
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">verification</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">client</span><span class="p">.</span><span class="nx">verify</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">.</span><span class="nx">services</span><span class="p">(</span><span class="nx">service</span><span class="p">)</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">.</span><span class="nx">verifications</span><span class="p">.</span><span class="nx">create</span><span class="p">({</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">to</span><span class="o">:</span><span class="w"> </span><span class="s1">'+15558675310'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">channel</span><span class="o">:</span><span class="w"> </span><span class="s1">'sms'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">locale</span><span class="o">:</span><span class="w"> </span><span class="s1">'en'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">});</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">callback</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="s1">'Verfication OTP sent'</span><span class="p">);</span><span class="w"></span>
</span><span class="code-line"><span class="p">};</span><span class="w"></span>
</span></div>
Envoyer un code d'accès à usage unique (OTP)
Intégrez Functions aux services Twilio existants, comme une expérience de code d'accès à usage unique (OTP) par SMS, via WhatsApp, commande vocale ou e‑mail.
- Node.js
<div class="highlight"><span class="code-line"><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">google</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">require</span><span class="p">(</span><span class="s1">'googleapis'</span><span class="p">);</span><span class="w"></span>
</span><span class="code-line"><span class="kd">const</span><span class="w"> </span><span class="nx">fs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">require</span><span class="p">(</span><span class="s1">'fs'</span><span class="p">).</span><span class="nx">promises</span><span class="p">;</span><span class="w"></span>
</span><span class="code-line">
</span><span class="code-line"><span class="nx">exports</span><span class="p">.</span><span class="nx">handler</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">async</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">context</span><span class="p">,</span><span class="w"> </span><span class="nx">event</span><span class="p">,</span><span class="w"> </span><span class="nx">callback</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">twiml</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">Twilio</span><span class="p">.</span><span class="nx">twiml</span><span class="p">.</span><span class="nx">MessagingResponse</span><span class="p">();</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">authJson</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">fs</span><span class="p">.</span><span class="nx">readFile</span><span class="p">(</span><span class="nx">Runtime</span><span class="p">.</span><span class="nx">getAssets</span><span class="p">()[</span><span class="s1">'/credentials.json'</span><span class="p">].</span><span class="nx">path</span><span class="p">)</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">);</span><span class="w"></span>
</span><span class="code-line">
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">auth</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">google</span><span class="p">.</span><span class="nx">auth</span><span class="p">.</span><span class="nx">JWT</span><span class="p">({</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">email</span><span class="o">:</span><span class="w"> </span><span class="nx">authJson</span><span class="p">.</span><span class="nx">client_email</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">key</span><span class="o">:</span><span class="w"> </span><span class="nx">authJson</span><span class="p">.</span><span class="nx">private_key</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">scopes</span><span class="o">:</span><span class="w"> </span><span class="p">[</span><span class="s1">'https://www.googleapis.com/auth/spreadsheets'</span><span class="p">],</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">});</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">sheets</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">google</span><span class="p">.</span><span class="nx">sheets</span><span class="p">({</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">version</span><span class="o">:</span><span class="w"> </span><span class="s1">'v4'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">auth</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">});</span><span class="w"></span>
</span><span class="code-line">
</span><span class="code-line"><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">sheets</span><span class="p">.</span><span class="nx">spreadsheets</span><span class="p">.</span><span class="nx">values</span><span class="p">.</span><span class="nx">append</span><span class="p">({</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">spreadsheetId</span><span class="o">:</span><span class="w"> </span><span class="nx">context</span><span class="p">.</span><span class="nx">DOCUMENT_ID</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">range</span><span class="o">:</span><span class="w"> </span><span class="s2">"'"</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">context</span><span class="p">.</span><span class="nx">SHEET_NAME</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"'"</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">valueInputOption</span><span class="o">:</span><span class="w"> </span><span class="s1">'USER_ENTERED'</span><span class="p">,</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">requestBody</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">values</span><span class="o">:</span><span class="w"> </span><span class="p">[[</span><span class="nx">event</span><span class="p">.</span><span class="nx">SmsSid</span><span class="p">,</span><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">From</span><span class="p">,</span><span class="w"> </span><span class="nx">event</span><span class="p">.</span><span class="nx">Body</span><span class="p">]],</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">},</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="p">});</span><span class="w"></span>
</span><span class="code-line">
</span><span class="code-line"><span class="w"> </span><span class="nx">twiml</span><span class="p">.</span><span class="nx">message</span><span class="p">(</span><span class="s1">'The SMS was successfully saved.'</span><span class="p">);</span><span class="w"></span>
</span><span class="code-line"><span class="w"> </span><span class="nx">callback</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="nx">twiml</span><span class="p">);</span><span class="w"></span>
</span><span class="code-line"><span class="p">};</span><span class="w"></span>
</span></div>
Consigner les messages texte entrants dans Google Sheets
Ajoutez une nouvelle ligne aux documents Google Sheets lorsque votre numéro de téléphone Twilio reçoit un message texte pour suivre le contenu du message, l'expéditeur et l'heure de réception.

« Inutile d'ajouter des commentaires aux lignes de code pour expliquer le rôle d'une fonction. Le code Twilio est vraiment clair et facile à configurer. »
Essayez Serverless et Twilio Functions
Mettez votre application en service grâce à Functions.