# Szablony utility WhatsApp

Szablon utility nawiązuje do czegoś, co odbiorca już zrobił: zamówienia, płatności, rezerwacji, logowania. Katalog Bird zawiera osiem takich szablonów, w tym `bird_signin_alert` i `bird_delivery_update`. Kategorię slugu sprawdzaj na liście szablonów, a nie po nazwie: `bird_signin_alert` wygląda jak szablon authentication, ale nim nie jest, to utility.

## Zanim wyślesz

Wybierz szablon z zarządzanego katalogu lub utwórz własny na połączonym koncie biznesowym.

Wysyłanie gotowych szablonów z katalogu Bird nie wymaga żadnej weryfikacji z Twojej strony, tak samo jak authentication. Tworzenie własnego szablonu utility też jej nie wymaga: w przeciwieństwie do authentication bramka weryfikacji biznesowej Meta nigdy nie dotyczy utility, więc możesz tworzyć i edytować szablony utility w niezweryfikowanym obszarze roboczym. Zobacz [WhatsApp weryfikacja biznesowa](/docs/knowledge-base/whatsapp/business-verification), żeby sprawdzić, co weryfikacja odblokowuje gdzie indziej.

`to` może być numerem telefonu w formacie E.164 lub identyfikatorem użytkownika w zakresie biznesowym. Szablon utility nie zawiera przycisku OTP, więc nie wymaga odbiorcy podanego wyłącznie jako numer telefonu, jak ma to miejsce w authentication.

Każdy zarządzany szablon utility z katalogu jest zarejestrowany wyłącznie w `en`, z `on_missing_language: fail`. Żądanie języka, którego nie ma w katalogu, powoduje błąd wysyłki zamiast powrotu do angielskiego lub czegokolwiek innego.

## Wysyłanie szablonu utility

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

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  template: {
    slug: "bird_order_confirmation",
    language: "en",
    components: [
      {
        type: "body",
        parameters: [
          { type: "text", name: "ref", text: "A1B2C3D4" },
          { type: "text", name: "amount", text: "USD 49.99" },
        ],
      },
    ],
  },
});
console.log(msg.id, msg.status);
```

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

Tak jak przy każdym zarządzanym szablonie, pomiń `from`: Bird wybiera numer wysyłkowy na podstawie kategorii i regionu, a ustawienie go zwraca `422` [`E15018`](/docs/api/errors/E15018) `WhatsAppSenderNotAllowed`. Tworzenie własnego szablonu utility i wysyłanie go działa tak samo jak każda autorska wysyłka; zobacz [Wysyłanie za pomocą szablonu](/docs/guides/whatsapp/templates#sending-with-a-template), żeby poznać ogólny kontrakt.

## Wypełnianie zmiennych

Parametry utility są nazwane, odwrotnie niż pojedynczy pozycyjny kod w authentication. Każdy parametr zawiera `name`, a kolejność nazwanych parametrów w tablicy nie ma znaczenia. Wyślij jeden wpis `components` dla każdego bloku, który faktycznie zawiera placeholder; body bez zmiennych w ogóle nie potrzebuje wpisu `components`.

Przycisk URL jest jedynym wyjątkiem: jego zmienna jest zawsze pozycyjna `{{1}}`, a wysyłka zawiera samą wartość, a nie pełny adres:

```json
{ "type": "button", "parameters": [{ "type": "text", "text": "A-4192" }] }
```

Wspólne zasady dotyczące komponentów, `sub_type` oraz sposobu, w jaki `components` wysyłki odpowiadają zadeklarowanym placeholderom szablonu, znajdziesz w [Wysyłanie za pomocą szablonu](/docs/guides/whatsapp/templates#sending-with-a-template) i [Komponenty i parametry](/docs/guides/whatsapp/sending-whatsapp#components-and-parameters).

## Koszt

Szablon utility dostarczony w otwartym oknie obsługi klienta może kwalifikować się do bezpłatnej stawki Meta. Opłata wychodząca Bird jest naliczana podczas przetwarzania wiadomości, przed wysłaniem. Późniejszy callback dostarczenia lub odczytu określa, czy opłata Meta ma zastosowanie. Uwzględnij oba składniki przy szacowaniu łącznego kosztu.

Zobacz [Koszt i rozliczenia](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing), aby dowiedzieć się, kiedy wysyłka jest naliczana, oraz [Cennik WhatsApp](/products/whatsapp/pricing) po stawki.

## Na co uważać

- **Meta może z własnej inicjatywy przekategoryzować szablon utility na marketing**, a wiadomość dalej jest wysyłana po nowej, wyższej cenie. Firma, którą Meta już ostrzegła za błędną kategoryzację, od kwietnia 2025 nie dostaje żadnego wcześniejszego powiadomienia; zmiana następuje natychmiast. Nie umieszczaj w treści szablonu utility języka promocyjnego, ofert ani upselli, bo to właśnie wywołuje przeniesienie. Zobacz [Wytyczne dotyczące szablonów](/docs/knowledge-base/whatsapp/template-guidelines), żeby sprawdzić, co jest odczytywane jako promocyjne.
- **Nagłówek `gif` lub przycisk `copy_code` jest odrzucany poza kategorią marketing.** Oba to komponenty dostępne wyłącznie w marketing; zadeklarowanie któregokolwiek z nich w szablonie utility kończy się błędem.
- **Autorska wysyłka nie jest sprawdzana pod kątem liczby parametrów przed naliczeniem opłaty.** Wyślij nieprawidłową liczbę parametrów we własnym szablonie, a wiadomość zostanie zaakceptowana i obciążona opłatą, po czym odrzucona przez Meta. Zarządzane wysyłki z katalogu nie mają tej luki.
- **Nadawca na niewłaściwym WhatsApp Business Account jest odrzucany przed jakąkolwiek opłatą.** `from` musi znajdować się na tym samym koncie co szablon; w przeciwnym razie wysyłka kończy się błędem `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch`.

## Następne kroki

- [Szablony WhatsApp](/docs/guides/whatsapp/templates): przeglądanie katalogu i wspólny kontrakt wysyłki przez szablon
- [Szablony authentication](/docs/guides/whatsapp/templates/authentication): jednorazowe kody weryfikacyjne i bramka weryfikacji przy tworzeniu szablonu
- [Szablony marketing](/docs/guides/whatsapp/templates/marketing): wysyłki promocyjne i konto potrzebne do utworzenia szablonu

## 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)
