Weryfikacja SMS OTP
Wysyłaj i weryfikuj jednorazowe kody dostępu przez SMS podczas rozmowy z agentem za pomocą Twilio Verify.

Omówienie
Ten przewodnik pokazuje, jak zintegrować Twilio Verify z agentem ElevenLabs, aby wysyłać OTP na numer telefonu rozmówcy i weryfikować kod, który poda podczas rozmowy głosowej na żywo.
Dowiesz się, jak:
- Utworzyć usługę Twilio Verify i zakodować poświadczenia w Base64 na potrzeby uwierzytelniania.
- Skonfigurować dwa narzędzia webhook (
send_SMS_verificationicheck_SMS_verification) w panelu, za pomocą Agents CLI lub API ElevenLabs. - Uwierzytelniać oba wywołania webhooka nagłówkiem
Authorizationz tajną wartością. - Włączyć narzędzie systemowe
skip_turn, aby agent czekał, gdy rozmówca nie otrzymał jeszcze kodu.
Wymagania wstępne
- Konto Twilio z włączoną usługą Twilio Verify. Jeśli Verify nie jest dostępne w Twilio Console, poproś o dostęp przez wsparcie Twilio lub zespół obsługi twojego konta Twilio.
- Jeśli twoje konto Twilio działa w trybie próbnym, docelowy numer telefonu musi być zweryfikowanym caller ID w Twilio.
Utwórz usługę Authenticate (Verify)
Na lewym pasku bocznym wybierz Add + i utwórz usługę Authenticate (Verify).
Skopiuj Verify Service SID
Otwórz stronę Settings usługi i skopiuj Verify Service SID. Zaczyna się od VA i różni się od Account SID.
Częsty błąd: w adresach URL narzędzi poniżej użyj Verify Service SID (VA...) z usługi Authenticate (Verify). Nie umieszczaj w ścieżce Account SID (AC...). Verify API oczekuje SID usługi w adresie URL; użycie Account SID powoduje błędy 4xx nieprawidłowego parametru.
Możesz użyć Twilio API Explorer w konsoli, aby przetestować żądania przed podpięciem ich do agenta.
Zakoduj dane logowania i skonfiguruj narzędzia webhook
Zakoduj dane logowania Twilio do uwierzytelniania Basic
Twilio Verify używa uwierzytelniania HTTP Basic z Account SID jako nazwą użytkownika i Auth Token jako hasłem. Oba znajdziesz w sekcji Account Info na stronie głównej Twilio Console.
W terminalu zakoduj Base64 ACCOUNT_SID:AUTH_TOKEN (rozdzielone dwukropkiem, bez spacji):
Skopiuj wynik. Pełna wartość nagłówka Authorization to słowo Basic, pojedyncza spacja i ten ciąg Base64. Zapisz ją jako sekret narzędzia w kolejnych krokach.
Skonfiguruj narzędzia send_SMS_verification i check_SMS_verification
send_SMS_verification wywołuje Twilio Verify, aby wysłać SMS z OTP. check_SMS_verification przesyła cyfry podane przez rozmówcę. Oba wymagają tego samego Verify Service SID i sekretu Authorization.
Dodaj przez panel
Dodaj przez CLI
Dodaj przez API
send_SMS_verification

W sekcji Agent ustawień agenta wybierz Add Tool, a następnie Webhook.
Zastąp YOUR_VERIFY_SERVICE_SID identyfikatorem SID VA... z pierwszego kroku.
Nagłówek uwierzytelniania: w sekcji Headers dodaj Authorization jako typ Secret i wklej pełną wartość (Basic oraz Base64). Zobacz Narzędzia webhook.
Parametry body: ustaw Content type na URL-encoded (application/x-www-form-urlencoded). Dodaj parametry, ustawiając LLM Prompt jako typ wartości:
check_SMS_verification
Dodaj drugie narzędzie webhook:
Użyj tego samego Verify Service SID i sekretu Authorization co dla send_SMS_verification.
Parametry body: URL-encoded. Dodaj To (E.164) i Code (cyfry OTP), używając LLM Prompt.
Jeśli skonfigurujesz Channel jako pole wypełniane przez LLM w panelu, dodaj instrukcje w system prompt, aby model zawsze przekazywał sms. Przykłady CLI i API powyżej ustawiają sms na stałe przez constant_value / constantValue, więc model nie wybiera kanału.
Włącz narzędzie systemowe skip_turn
Rozmówcy często potrzebują chwili, aby otrzymać SMS, zanim odczytają kod. Bez skip_turn agent może mówić podczas pauzy lub powtarzać komunikaty.
Dodaj przez panel
Dodaj przez CLI
Dodaj przez API
W sekcji Tools wybierz Add Tool, zaznacz System tool i włącz Skip turn. Nie wymaga to dalszej konfiguracji.
Dodaj wskazówki do system prompt, aby model wiedział, kiedy wywołać to narzędzie, na przykład:
Szczegóły znajdziesz w artykule Skip turn.
Rozwiązywanie problemów
Twilio 60200 — Nieprawidłowy parametr (HTTP 400)
Twilio może zwrócić taką odpowiedź, gdy URL żądania lub jego treść nie odpowiadają temu, czego oczekuje Verify API:
Co sprawdzić: Ścieżka musi używać Verify Service SID (VA...) z ustawień usługi Authenticate (Verify). Umieszczenie Account SID (AC...) w .../Services/{Sid}/... to częsta przyczyna błędu 60200. Inne przypadki nieprawidłowych parametrów znajdziesz w dokumentacji Twilio dotyczącej 60200.
Twilio 20003 — Błąd uwierzytelniania — Nie podano danych logowania (HTTP 401)
Gdy nagłówek Authorization jest nieobecny, nieprawidłowy lub nie został wysłany, Twilio może odpowiedzieć:
Co sprawdzić: Narzędzie musi wysyłać nagłówek Authorization, którego wartością jest pełny ciąg Basic <base64> (w tym słowo Basic i pojedyncza spacja przed wynikiem Base64). Dane wejściowe Base64 muszą mieć dokładnie format ACCOUNT_SID:AUTH_TOKEN, bez dodatkowych spacji ani nowych linii. Upewnij się, że sekret jest przypisany do tego nagłówka w obu narzędziach webhook. Zobacz 20003.
Inne problemy
- Numer odrzucony w trybie próbnym: W konsoli Twilio otwórz Verified phone numbers i przed testem upewnij się, że numer docelowy jest na liście.
- Agent mówi jednocześnie z rozmówcą: Upewnij się, że Skip turn jest włączone, a prompt systemowy mówi modelowi, by używał
skip_turn, gdy rozmówca potrzebuje czasu.