Sign inGet started

Szablony uwierzytelniania WhatsApp

Szablon uwierzytelniania dostarcza jednorazowy kod weryfikacyjny. Meta tworzy jego treść w momencie tworzenia szablonu. Przy wysyłce podaj kod jako parametr body.

Zanim wyślesz

Zdecyduj, czy użyć szablonu zarządzanego przez Bird, czy stworzyć szablon na własnym koncie biznesowym.
Wysyłanie gotowych szablonów katalogowych Bird, bird_otp i bird_otp_authifly, nie wymaga weryfikacji z Twojej strony. Te szablony znajdują się na własnych kontach WhatsApp Business Accounts należących do Bird, a zarządzana ścieżka wysyłki nigdy nie sprawdza statusu weryfikacji Twojej firmy.
Gdy połączone konto biznesowe zgłasza not_verified, Bird odmawia tworzenia lub duplikowania szablonu uwierzytelniania z 412 E15043 WhatsAppTemplateBusinessNotVerified. Sprawdź połączone konto i jego ostatni zsynchronizowany status. Zobacz Weryfikacja biznesowa WhatsApp, aby poznać proces weryfikacji i obsługę statusów.
Tworzenie szablonów kategorii utility i marketing nie podlega tej bramce. Możesz je tworzyć i edytować niezależnie od statusu weryfikacji.
Twórz szablony w dashboardzie, za pomocą bird CLI lub przez serwer MCP. Zobacz Tworzenie szablonów WhatsApp, żeby poznać pełny proces.

Wysyłanie kodu weryfikacyjnego

POST /v1/whatsapp/messages z obiektem template wskazującym slug katalogu:
const msg = await bird.whatsapp.send({
  to: "+14155550100",
  template: {
    slug: "bird_otp",
    language: "en",
    components: [{ type: "body", parameters: [{ type: "text", text: "481920" }] }],
  },
});
console.log(msg.id, msg.status);
Cztery reguły dotyczą wyłącznie tej kategorii:
  • Pomiń from. Szablon zarządzany przez Bird sam wybiera nadawcę na podstawie kategorii i regionu, więc ustawienie from zwraca 422 E15018 WhatsAppSenderNotAllowed. To odwrotność wysyłki swobodnej, która wymaga from, co warto zapamiętać, jeśli przechodzisz tu ze stron wiadomości interaktywnych.
  • to musi być numerem telefonu w formacie E.164. Szablon uwierzytelniania nie może być wysłany do identyfikatora użytkownika w zakresie firmy; to 422 E15014 WhatsAppRecipientNotSupportedForTemplate.
  • Treść przyjmuje dokładnie jeden parametr pozycyjny, czyli kod. Zero parametrów lub nazwany parametr zwraca 422 E15003 WhatsAppTemplateParameterMismatch. Uwierzytelnianie to jedyna kategoria, w której Meta stosuje parametry pozycyjne; każda inna kategoria używa parametrów nazwanych.
  • Okno obsługi klienta nie jest wymagane. Wysyłki szablonów nie podlegają ograniczeniu okna, i właśnie dlatego szablon kodu weryfikacyjnego istnieje: musi dotrzeć do kogoś, kto nigdy wcześniej do Ciebie nie napisał.
Odczytaj dostępne języki dla bird_otp lub bird_otp_authifly z katalogu szablonów. Jeśli żądany język jest niedostępny, wysyłka kończy się błędem zamiast podstawienia innego języka.

Przycisk kopiowania kodu

Meta sama generuje treść szablonu uwierzytelniania jako preset z jednym symbolem zastępczym kodu, więc podajesz flagi zamiast tekstu. Komponent przycisku jest opcjonalny w wysyłce: jeśli go nie dodasz, Bird doda go za Ciebie z tym samym kodem co w treści. Możesz go też podać samodzielnie:
Przykład kodu
{ "type": "button", "parameters": [{ "type": "text", "text": "481920" }] }
W obu przypadkach do WhatsApp trafia dokładnie jeden przycisk, przycisk kopiowania kodu: dotknięcie go kopiuje kod do schowka. Bird obsługuje wyłącznie copy_code; dwa pozostałe zachowania przycisków, które Meta dokumentuje dla szablonów uwierzytelniania, one-tap i zero-tap autofill, nie są dostępne w Bird.
Tworzenie przycisku szablonu wygląda tak samo: jeden przycisk otp, a szablon nie przyjmuje żadnego innego typu przycisku. Podajesz add_security_recommendation (wartość logiczna wyświetlana w treści) i code_expiration_minutes (od 1 do 90, wyświetlane w stopce) zamiast pisania tekstu.

Co Meta dopuszcza w szablonie uwierzytelniania

Meta ustala strukturę szablonu uwierzytelniania i weryfikuje jego treść: żadnych adresów URL, multimediów ani emoji w szablonie, a parametr kodu ma limit 15 znaków. Kategoria zmienia też sposób dostarczania wiadomości przez WhatsApp, wysyłając ją tylko na główne urządzenie odbiorcy. Zobacz Wytyczne dotyczące szablonów, żeby poznać pełną strukturę, limity znaków i proces weryfikacji.

Koszt

Kategoria i miejsce docelowe wyznaczają cenę. Zobacz Stawki WhatsApp authentication-international, aby dowiedzieć się, jak wysyłka do kraju innego niż Twoja lokalizacja główna może ją zmienić, oraz Koszty i rozliczenia, aby sprawdzić, kiedy wysyłka jest naliczana. Konkretne stawki znajdziesz na stronie WhatsApp pricing.

Na co uważać

  • Gotowe szablony Bird nie docierają do dziewięciu krajów. bird_otp i bird_otp_authifly wysyłają z własnych kont WhatsApp Business Accounts należących do Bird, a te konta nie dostarczają wiadomości uwierzytelniających do Egiptu, Indii, Indonezji, Malezji, Nigerii, Pakistanu, Arabii Saudyjskiej, Republiki Południowej Afryki ani Zjednoczonych Emiratów Arabskich. Taka wysyłka jest odrzucana 422 E15063 WhatsAppDestinationRestricted zanim cokolwiek zostanie naliczone. Szablon, który sam stworzyłeś na swoim koncie i wysyłasz ze swojego numeru, dociera do tych krajów normalnie. Verify też do nich dociera, samodzielnie przenosząc kod weryfikacyjny na inny kanał.
  • Wysyłka własnego szablonu wymaga from, który musi należeć do tego samego konta WhatsApp Business Account co szablon. Nadawca z innego konta jest odrzucany 422 E15023 WhatsAppSenderWABAMismatch zanim cokolwiek zostanie naliczone.
  • Można wysłać tylko wersję językową, która jest zatwierdzona i aktywna. Wersja w stanie roboczym, oczekująca, odrzucona lub wstrzymana nie nadaje się do wysyłki.
  • Meta może samodzielnie zmienić kategorię szablonu. Nie ma możliwości rezygnacji, a zmiana przenosi reguły cenowe i dostarczania powiązane z kategorią.
  • Kategoria szablonu i kategoria jego wersji językowej mogą się różnić. Zobacz Szablony WhatsApp, żeby dowiedzieć się, jak ścieżka wysyłki to rozwiązuje.
  • Zaimportowanego szablonu uwierzytelniania nie można zduplikować. Bird nie potrafi odczytać wygenerowanej treści WhatsApp z powrotem do ustawień, z których budowany jest nowy szablon; to 422 E15024 WhatsAppTemplateContentNotDuplicable. Zamiast tego utwórz nowy szablon z własną rekomendacją bezpieczeństwa i czasem wygaśnięcia kodu.

Następne kroki