# 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`](/docs/api/errors/E15043) `WhatsAppTemplateBusinessNotVerified`. Sprawdź połączone konto i jego ostatni zsynchronizowany status. Zobacz [Weryfikacja biznesowa WhatsApp](/docs/knowledge-base/whatsapp/business-verification), 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](/docs/cli) lub przez [serwer MCP](/docs/ai/mcp-server). Zobacz [Tworzenie szablonów WhatsApp](/docs/guides/whatsapp/authoring-templates), żeby poznać pełny proces.

## Wysyłanie kodu weryfikacyjnego

`POST /v1/whatsapp/messages` z obiektem `template` wskazującym slug katalogu:

**TypeScript**

```typescript
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);
```

Examples: [TypeScript](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.ts.md) · [Python](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.py.md) · [Go](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.go.md) · [PHP](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.php.md) · [CLI](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.cli.md) · [MCP](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.mcp.md) · [cURL](/pl-pl/dokumentacja/guides/whatsapp/templates/authentication.curl.md)

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`](/docs/api/errors/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`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`.
- **Treść przyjmuje dokładnie jeden parametr pozycyjny, czyli kod.** Zero parametrów lub nazwany parametr zwraca `422` [`E15003`](/docs/api/errors/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:

```json
{ "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](/docs/knowledge-base/whatsapp/template-guidelines), żeby poznać pełną strukturę, limity znaków i proces weryfikacji.

## Koszt

Kategoria i miejsce docelowe wyznaczają cenę. Zobacz [Stawki WhatsApp authentication-international](/docs/knowledge-base/whatsapp/authentication-international-rates), aby dowiedzieć się, jak wysyłka do kraju innego niż Twoja lokalizacja główna może ją zmienić, oraz [Koszty i rozliczenia](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing), aby sprawdzić, kiedy wysyłka jest naliczana. Konkretne stawki znajdziesz na stronie [WhatsApp pricing](/products/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`](/docs/api/errors/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](/docs/guides/verify/countries#where-whatsapp-cannot-carry-a-passcode) 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`](/docs/api/errors/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](/docs/guides/whatsapp/templates#listing-templates-from-the-api), ż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`](/docs/api/errors/E15024) `WhatsAppTemplateContentNotDuplicable`. Zamiast tego utwórz nowy szablon z własną rekomendacją bezpieczeństwa i czasem wygaśnięcia kodu.

## Następne kroki

- [Szablony WhatsApp](/docs/guides/whatsapp/templates): przeglądanie katalogu i wspólny kontrakt wysyłki przez szablon
- [Szablony utility](/docs/guides/whatsapp/templates/utility): aktualizacje zamówień, przypomnienia o wizytach i powiadomienia o koncie
- [Weryfikacja firmy WhatsApp](/docs/knowledge-base/whatsapp/business-verification): jak działa weryfikacja i co jeszcze odblokowuje

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
