Orkiestracja kanałów
W wersji podglądowejZacznij od naszych ustawień domyślnych. Nadpisuj tylko to, czego potrzebujesz.
Dostępność kanałów, reguły nadawców i regulacje różnią się w zależności od kraju, a ich prawidłowe opanowanie to lata pracy. Bird dostarcza to jako konfigurację bazową per kraj: które kanały działają w danym miejscu, którzy nadawcy są dozwoleni i rozsądne domyślne ustawienia kodów. Twoje ustawienia nakładają się na wierzch. Zmieniasz jedną rzecz dla jednego kraju; wszystko, czego nie ruszasz, przechodzi do warstwy poniżej. To routing per kraj jako pełnoprawny zasób API — kontrola, której większość API weryfikacyjnych Ci nie daje.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
Dziedziczysz domyślne ustawienia Bird, a potem budujesz na nich.
Każda weryfikacja w Bird Verify API rozwiązuje swoje ustawienia poprzez kaskadę. Na dole znajduje się baza per kraj, którą Bird utrzymuje na podstawie lat obsługi e-maili i SMS — więc zanim cokolwiek skonfigurujesz, weryfikacja już sensownie routuje w każdym kraju. Twoja konfiguracja i nadpisania per kraj nakładają się na wierzch, a opcja per żądanie może dostroić pojedyncze wywołanie. Nigdy nie zaczynasz od pustej kartki i odpowiadasz tylko za decyzje, które faktycznie chcesz podjąć.
Kaskada wartości.
Wygrywa najwyższa warstwa, która ustawia wartość; wszystko, co zostawisz nieustawione, przechodzi do warstwy poniżej.
- 01
Opcje per żądanie.
Pola w wywołaniu tworzenia (długość kodu, preferencja kanału, lokalizacja) wygrywają dla tej jednej weryfikacji. Najlżejsze, najbardziej lokalne nadpisanie.
- 02
Twoje nadpisania per kraj.
Zmień kolejność kanałów lub nadawcę dla jednego kraju. Nadpisanie jest scalane: dotyczy pól, które ustawiasz, a reszta danego kraju nadal dziedziczy z warstwy poniżej.
- 03
Twoje domyślne ustawienia konfiguracji.
Twój globalny plan aplikacji i reguły kodów — kolejność kanałów, długość kodu, TTL i liczba prób, które chcesz wszędzie tam, gdzie nie ustawiłeś nadpisania per kraj.
- 04
Baza Bird per kraj.
Najniższa warstwa: własne domyślne ustawienia Bird per kraj, oparte na doświadczeniu z obsługi e-maili i SMS na dużą skalę. Wszystko, co zostawisz nieustawione, przechodzi tutaj, więc weryfikacja zawsze rozwiązuje się do sensownego planu.
Nadpisz kraj, resztę odziedzicz.
Ustaw swój plan raz, a potem modyfikuj tylko kraje, które wymagają czegoś innego. Tutaj Brazylia zaczyna od WhatsApp, potem SMS; każdy inny kraj nadal korzysta z Twoich domyślnych ustawień i bazy Bird.
// Your app-wide default plan.
await bird.verify.verifications.configurations.update("vfc_login", {
channels: [
{ channel: "email", state: "enabled" },
{ channel: "sms", state: "enabled" },
],
}).safe();
// Override one country; the rest inherits.
await bird.verify.verifications.configurations.countries.upsert("vfc_login", "BR", {
channels: [
{ channel: "whatsapp", state: "enabled" },
{ channel: "sms", state: "enabled" },
],
}).safe();
Do czego rozwiązuje się weryfikacja.
Numer brazylijski w tej konfiguracji rozwiązuje się przez kaskadę. Nadpisanie BR ustawia kolejność WhatsApp, potem SMS, oba są dostępne, a weryfikacja raportuje uporządkowany plan, którego użyje, wraz z typowanym identyfikatorem vrf_.
const { data } = await bird.verify.verifications.create({
configuration_id: "vfc_login",
to: { phone_number: "+5511998765432" }, // Brazil
}).safe();
// Resolved through the cascade + availability/kill-switch ceilings:
// {
// id: "vrf_01k2m9q8e7fh3v0b7m4d2a9xzt",
// status: "pending",
// channels: [{ channel: "whatsapp" }, { channel: "sms" }],
// last_channel: "whatsapp"
// }
Dwa limity stoją ponad kaskadą.
Kaskada decyduje o domyślnych wartościach. Dwie bramki decydują o tym, co jest dozwolone — ograniczają rozwiązany plan, zamiast dostarczać wartości, które przechodzą w dół:
Dostępność per kraj. Możesz włączyć tylko kanały, które Bird faktycznie oferuje w danym kraju. Włączenie kanału, którego tam nie obsługujemy, jest operacją bez efektu, a nie cichym błędem — dostępność to przecięcie zbiorów, nigdy nadpisanie.
Globalny wyłącznik awaryjny. Gdy dostawca ma awarię, Bird może wyłączyć kanał wszędzie naraz. Twoja konfiguracja nie jest zmieniana; rozwiązany plan po prostu przechodzi na następny kanał, a po usunięciu blokady wraca do normy.
Routing, który ustawiasz, a nie zgłoszenie, które wysyłasz.
Rozwiązywany per weryfikacja, zwracany w odpowiedzi.
- 01
Trasy per kraj, po numerze.
Kraj jest ustalany na podstawie numeru odbiorcy w formacie E.164 — nie przekazujesz go. Ustaw trasę dla kraju, a nadpisze ona kolejność i nadawców w tym kraju.
- 02
Włączaj i wyłączaj kanały.
Każdy kanał ma stan włączony/wyłączony, więc możesz wyłączyć jeden dla danego kraju bez utraty jego miejsca w planie.
- 03
Rozwiązany plan jest w odpowiedzi.
Każda weryfikacja raportuje uporządkowane kanały, do których się rozwiązała, więc decyzja kaskady nigdy nie jest tajemnicą.
- 04
Automatyczne przełączanie awaryjne jest wdrażane.
Przechodzenie do kolejnego kanału w planie na podstawie dostarczenia (próba następnego kanału, gdy poprzedni nie dotarł) jest wdrażane wraz z pojawieniem się statusów dostarczenia. Plan jest już dziś rozwiązywany i zwracany.
Orkiestracja kanałów — FAQ
Czym jest kaskada konfiguracji?
Co daje mi baza per kraj od Bird?
Czy nadpisanie per kraj zastępuje cały plan?
Czy mogę włączyć kanał, którego Bird nie oferuje w danym kraju?
Jak określany jest kraj?
Od kogo moi użytkownicy widzą kod?
Reszta platformy Verify
Jedno API, jeden zestaw kluczy. Poznaj pozostałe możliwości.
Kontrola per kraj, jakiej nie daje żadne inne API weryfikacyjne.
Orkiestracja to jedna z możliwości Bird Verify: kanały, kod i limity są dostarczane razem, na tych samych dwóch endpointach.