Zum Hauptinhalt
You are viewing the German site, but your language preference is set to English. Switch to English site →
Functions

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.

illo-hero-functions

In weniger Schritten vom
Konzept zur ersten Version

JSON‑Code, der mit JavaScript‑Code verknüpft ist und zu unterschiedlichen Funktionen wie Messaging oder Anrufen und letztendlich zum Nutzer führt

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.

Node.js ist mit einer Datenbank verknüpft, die verschiedene Services von Drittanbietern integriert.

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.

Verknüpfung von Studio und Functions, die zu verschiedenen Aktionen wie Messaging und Anrufen führt

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.

Twilio‑Code zum Ausbauen von Messwerten weltweit

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

Send an SMS from 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">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">&#39;+15558675310&#39;</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">&#39;+15017122661&#39;</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">&#39;Hi there!&#39;</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.

SMS senden

Send OTP from 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">&#39;+15558675310&#39;</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">&#39;sms&#39;</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">&#39;en&#39;</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">&#39;Verfication OTP sent&#39;</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.

OTP senden

Log Incoming SMS in Google Sheets
  • 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">&#39;googleapis&#39;</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">&#39;fs&#39;</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">&#39;/credentials.json&#39;</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">&#39;https://www.googleapis.com/auth/spreadsheets&#39;</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">&#39;v4&#39;</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">&quot;&#39;&quot;</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">&quot;&#39;&quot;</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">&#39;USER_ENTERED&#39;</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">&#39;The SMS was successfully saved.&#39;</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.

Eingehende Nachrichten protokollieren

messaging-customer-quote-portrait.png

„Sie müssen keine Codezeilen auskommentieren, um Funktionen zu erläutern. Der Twilio‑Code ist klar verständlich und einfach zu konfigurieren.“

Nate Grieb, Produktverantwortlicher

Serverless und Twilio Functions testen

Machen Sie Ihre Anwendung mit Functions schneller einsatzbereit.