Mit Serverless Functions schneller entwickeln
Functions ist eine serverlose Umgebung von Twilio, in der Sie im Handumdrehen ereignisgesteuerte Microservices erstellen, Endpunkte von Drittanbietern integrieren und Twilio Studio‑Flows mit benutzerdefinierter Logik erweitern können.

In weniger Schritten vom
Konzept zur ersten Version

Ereignisgesteuerte Microservices mit Node.js erstellen
Erstellen Sie skalierbare, produktionsreife, ereignisgesteuerte Twilio‑Anwendungen mithilfe von Node.js. Entwickeln Sie Innovation, ohne sich Gedanken über Stabilität machen zu müssen. Iterieren Sie schnell. Verwenden Sie benutzerdefinierte Logik für Studio‑Anwendungen und IVR‑Systeme.

Mit Endpunkten von Drittanbietern integrieren
Führen Sie Integrationen mit Systemen von Drittanbietern durch, indem Sie Ihre Daten mithilfe von Node.js und dem npm‑Ökosystem transformieren und filtern. Senden Sie mühelos externe API‑Anfragen und richten Sie WebHooks ein, um Daten aus Twilio‑Produkten oder externen Systemen zu integrieren.

Ihr Code in Twilio
Setzen Sie Ideen schnell um – egal, ob Sie leistungsstarke APIs oder komplexe Integrationen erstellen oder benutzerdefinierte Logik zu Ihren IVRs hinzufügen. Lassen Sie den betrieblichen Overhead von Twilio Functions abwickeln, damit Sie Produkte schneller auf den Markt bringen können.

Automatische Skalierung und transparente Preise
Serverless in Twilio skaliert automatisch, um Bedarfsspitzen gerecht zu werden, und bietet ein Pay‑as‑you‑go‑Geschäftsmodell, um die Kosten für Ihr Unternehmen zu minimieren.
Anwendungsfälle für Functions
Mit Functions in weniger als
5 Minuten bereitstellen
- 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>
SMS von einer Twilio‑Telefonnummer senden
Senden Sie SMS von einer Twilio‑Telefonnummer aus. Es bedarf nur weniger Codezeilen, damit mithilfe von Twilio Functions eine Twilio SMS auf Ihrem Telefon angezeigt wird.
- 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>
Einmalkennwortverifizierung (OTP (One-Time Password, OTP) senden
Integrieren Sie Functions in bestehende Twilio‑Services, wie eine OTP‑Option, die SMS, WhatsApp, Voice oder E‑Mail verwendet.
- 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>
Eingehende Textnachrichten in Google Tabellen protokollieren
Fügen Sie eine neue Reihe zu Dokumenten in Google Tabellen hinzu, wenn eine Textnachricht an Ihre Twilio‑Telefonnummer gesendet wird, um Nachrichteninhalt, Sender und Eingangszeit nachzuverfolgen.

„Sie müssen keine Codezeilen auskommentieren, um Funktionen zu erläutern. Der Twilio‑Code ist klar verständlich und einfach zu konfigurieren.“
Serverless und Twilio Functions testen
Machen Sie Ihre Anwendung mit Functions schneller einsatzbereit.