Sign inGet Started

Zweryfikuj pierwszego klienta

Bird Verify potwierdza, że ktoś kontroluje adres e-mail lub numer telefonu. Prosisz Bird o wysłanie jednorazowego kodu weryfikacyjnego. Osoba wpisuje go w Twojej aplikacji, a Ty pytasz Bird, czy kod się zgadza. Bird generuje i dostarcza kod oraz wymusza wygaśnięcie i limity prób. Twoja aplikacja nigdy nie otrzymuje ani nie przechowuje wygenerowanego kodu.

Ten quickstart weryfikuje Twój własny adres e-mail, co nie wymaga żadnej konfiguracji. Bird wysyła kody e-mail przez współdzielonego nadawcę Bird Verify, więc nie potrzebujesz domeny ani salda. Po doładowaniu SMS weryfikacja numeru telefonu korzysta z tych samych dwóch wywołań.

1. Utwórz klucz API

W dashboardzie przejdź do Developers > Klucze API i utwórz klucz. Klucze są przypisane do regionu i wyglądają jak bk_us1_... lub bk_eu1_...; region w prefiksie wskazuje, który host API wywołać: https://us1.platform.bird.com lub https://eu1.platform.bird.com.

Strona kluczy API w dashboardzie Bird z listą kluczy wraz z zamaskowanym prefiksem, zakresami uprawnień i czasem ostatniego użycia

Pełny klucz jest wyświetlany tylko raz, w momencie utworzenia. Skopiuj go w bezpieczne miejsce, a następnie wyeksportuj do przykładów wysyłki:

Przykład kodu
export BIRD_API_KEY="bk_us1_..."

2. Wyślij kod

Utwórz weryfikację dla adresu, który chcesz potwierdzić. Jedyne wymagane pole to to. Użyj własnego adresu e-mail, żeby móc odczytać kod. Zainstaluj Bird SDK dla swojego języka, korzystając z quickstartu SDK.

W kartach SDK zamień przykładowy klucz API i user@example.com przed uruchomieniem kodu. Karta CLI korzysta z Twojego loginu, a karta cURL używa BIRD_API_KEY.

import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const verification = await bird.verify.verifications.create({
  to: { email: "user@example.com" },
});

console.log(verification.id, verification.status);

Jeśli Twój klucz zaczyna się od bk_eu1_, wywołaj zamiast tego https://eu1.platform.bird.com.

Bird przyjmuje żądanie i rozpoczyna wysyłanie kodu:

Przykład kodu
{
  "id": "vrf_01ky7q1fdze3695yvyz7z9nm3a",
  "status": "pending",
  "reason": null,
  "to": { "email": "user@example.com" },
  "channels": [{ "channel": "email" }],
  "last_channel": "email",
  "expires_at": "2026-07-23T14:55:58Z",
  "verified_at": null,
  "created_at": "2026-07-23T14:45:58Z",
  "updated_at": "2026-07-23T14:45:58Z"
}

Nie musisz przechowywać identyfikatora weryfikacji: sprawdzenie w kroku 3 jest identyfikowane tym samym odbiorcą. E-mail przychodzi od Bird Verify <otp@verify.bird.com> z tematem "Your verification code" i sześciocyfrowym kodem; sama wiadomość informuje, kiedy wygasa. Długość kodu, czas życia, limit prób i czas między ponownymi wysyłkami to ustawienia obszaru roboczego, a ustawienia weryfikacji zawierają wartości domyślne i zakresy.

3. Sprawdź kod

Weź kod ze skrzynki odbiorczej i wyślij go, identyfikując tym samym odbiorcą:

import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const result = await bird.verify.verifications.check({
  to: { email: "user@example.com" },
  code: "123456",
});

console.log(result.success);

Poprawny kod zwraca success: true, a osadzona weryfikacja zmienia status na verified:

Przykład kodu
{
  "success": true,
  "reason": null,
  "attempts_remaining": null,
  "verification": {
    "id": "vrf_01ky7q1fdze3695yvyz7z9nm3a",
    "status": "verified",
    "reason": null,
    "to": { "email": "user@example.com" },
    "channels": [{ "channel": "email" }],
    "last_channel": "email",
    "expires_at": "2026-07-23T14:55:58Z",
    "verified_at": "2026-07-23T14:46:47Z",
    "created_at": "2026-07-23T14:45:58Z",
    "updated_at": "2026-07-23T14:46:47Z"
  }
}

Zanim dodasz ten przepływ do rejestracji, uwzględnij następujące scenariusze:

  • Nieudane sprawdzenie zwraca HTTP 200. Odpowiedź zawiera success: false, reason (incorrect_code, expired lub attempts_exhausted) oraz licznik attempts_remaining, dopóki pozostają próby. Rozgałęź logikę w aplikacji na podstawie tego wyniku. Weryfikacja kończy się trwałym niepowodzeniem po wyczerpaniu prób sprawdzenia.
  • Weryfikacja rozstrzyga się raz. Po osiągnięciu verified (lub niepowodzeniu, lub wygaśnięciu) ponowne sprawdzenie zwraca 404. Traktuj pierwszą ostateczną odpowiedź jako wiążącą. Jeśli użytkownik potrzebuje nowego kodu, wywołaj ponownie endpoint tworzenia z tym samym odbiorcą: trwająca weryfikacja zostanie użyta ponownie, a nowy kod zostanie wysłany po upływie czasu między ponownymi wysyłkami.

Każda utworzona weryfikacja pojawia się na stronie Verifications wraz ze statusem, odbiorcą, kanałem i czasem. Wygenerowany kod nie jest wyświetlany.

Strona Verifications z listą weryfikacji zawierającą kolumny: status, identyfikator weryfikacji, odbiorca, kanał, koszt i czas utworzenia

Zweryfikuj numer telefonu

Aby zweryfikować przez SMS, wpisz numer telefonu w to w formacie E.164 zamiast adresu e-mail:

const verification = await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
});
console.log(verification.id, verification.status);

Sprawdzenie jest identyczne: zamień email na ten sam phone_number. Dostarczanie na telefon korzysta z salda SMS Twojego obszaru roboczego, a kraj docelowy określa trasę. Bird próbuje najpierw WhatsApp w większości krajów, a SMS najpierw w niektórych. Konfiguracja krajów wyświetla i konfiguruje dostępne kanały oraz ich kolejność dla każdego kraju docelowego. Nadawcy i branding pokazuje, co dociera na każdym kanale.

Dotrzyj do użytkownika oboma kanałami

Nie musisz wybierać jednego kanału. Podaj zarówno email, jak i phone_number w to, a Bird ustali plan dostarczenia na podstawie Twojej konfiguracji krajów, która pokazuje dostępne kanały i ich kolejność dla każdego kraju docelowego. Bird realizuje ten plan, aż wysyłka zostanie zaakceptowana. Jeśli dostarczenie później całkowicie się nie powiedzie, Bird wyśle nowy kod przez następny kanał. Sprawdź kod z tym samym obiektem to, którego użyto do utworzenia weryfikacji. Użytkownik wpisuje kod, który do niego dotarł.

Następne kroki