---
title: "Wysyłanie do grupy WhatsApp"
description: "Wyślij wiadomość grupową WhatsApp, podając ID grupy w to, a następnie śledź rozsyłanie za pomocą trzech liczników odbiorców i jednego zdarzenia na uczestnika."
canonical: "https://bird.com/pl-pl/dokumentacja/guides/whatsapp/groups/sending"
---

# Wysyłanie do grupy WhatsApp

Wysyłka grupowa to zwykłe żądanie `POST /v1/whatsapp/messages`, w którym `to` wskazuje grupę zamiast osoby: jedno żądanie, jedna wiadomość, a każdy uczestnik tego czatu grupowego ją otrzymuje i może odpowiedzieć tak, że pozostali to widzą. Zmienia się raportowanie. Wiadomość zawiera liczniki pokazujące, ilu uczestników ją otrzymało, a dostarczenie jest potwierdzane osobno dla każdego uczestnika.

Tworzenie grupy i zarządzanie nią to osobne działania od wysyłania do niej wiadomości. [Zarządzanie grupami WhatsApp](/docs/guides/whatsapp/groups/management) opisuje tworzenie grupy przez API i udostępnianie linku z zaproszeniem, a [Grupy WhatsApp](/docs/guides/whatsapp/groups) opisuje, do czego służy grupa i jakie limity nakłada WhatsApp.

## Wymagania wstępne

Potrzebujesz klucza API z uprawnieniem do zapisu WhatsApp oraz ID grupy w stanie **Active** (`wag_…`). Skopiuj je z karty **Details** grupy na stronie [**Groups**](https://bird.com/dashboard/w/whatsapp/groups), odczytaj z `to.group_id` wiadomości odebranej przez grupę albo [wyświetl listę swoich grup](/docs/guides/whatsapp/groups/management#list-your-groups).

Zastąp przykładowe ID grupy własnym. Zainicjalizuj klienta dla swojego języka zgodnie z przewodnikiem SDK dla [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) lub [PHP](/docs/sdks/php). Dla przykładów CLI [zainstaluj i uwierzytelnij CLI](/docs/cli#authenticate) z dostępem do zapisu WhatsApp. W żądaniach cURL użyj hosta API odpowiedniego dla [regionu obszaru roboczego](/docs/api/regions).

## 1. Wyślij wiadomość

Umieść ID grupy w `to` i pomiń `from`. Grupa jest powiązana z numerem firmowym, z którym została utworzona, więc tylko z tego numeru wiadomość może zostać wysłana; podanie nadawcy zwraca `422` [`E15018`](/docs/api/errors/E15018).

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "wag_01krdgeqcxet5s7t44vh8rt9mg",
  text: { body: "The route sheet for Tuesday is up." },
});
console.log(msg.id, msg.status);
```

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

API zwraca `202` z grupą na `to.group_id`, `status: accepted` i `recipient_count`: liczbę osób w grupie w momencie przyjęcia wysyłki. Ta liczba jest mianownikiem dla wszystkiego w kroku 3 i jest ustalona w tym momencie. Osoba, która dołączy przez link z zaproszeniem, gdy wiadomość jest w trakcie dostarczania, nie otrzyma jej i nie zmieni tej liczby.

## 2. Co grupa przyjmuje

Grupa przyjmuje tekst, obrazy, wideo, audio, naklejki, dokumenty, lokalizację, wizytówki kontaktów oraz szablon stworzony w Twoim obszarze roboczym w dowolnej kategorii poza uwierzytelnianiem. Dwa rodzaje treści są odrzucane z `422` [`E15052`](/docs/api/errors/E15052), zanim wiadomość zostanie utworzona lub naliczona opłata, ponieważ WhatsApp nie dostarcza żadnego z nich do czatu grupowego:

- **Treści interaktywne**: przyciski odpowiedzi, menu list, przyciski z linkiem, karuzele oraz żądania lokalizacji i danych kontaktowych.
- **Szablon uwierzytelniania.** Zamiast tego wyślij jednorazowy kod weryfikacyjny bezpośrednio do uczestnika.

[Szablon zarządzany przez Bird](/docs/guides/whatsapp/templates) jest wysyłany z numeru należącego do Bird, który nigdy nie jest numerem powiązanym z grupą, więc zaadresowanie go do grupy zwraca `422` [`E15001`](/docs/api/errors/E15001).

Treść w formie swobodnej nadal wymaga otwartego [okna obsługi klienta](/docs/knowledge-base/whatsapp/customer-service-window), a grupa ma własne: wiadomość dowolnego uczestnika wysłana do grupy otwiera jedno 24-godzinne okno dla całej grupy, a wiadomość tej samej osoby wysłana do Ciebie poza grupą nie otwiera go. Gdy okno wygaśnie, do grupy dotrze tylko szablon.

## 3. Śledź rozsyłanie

[Pobierz wiadomość](/docs/api/reference/get-whatsapp-message), aby sprawdzić, jak daleko dotarła. Trzy liczniki raportują rozsyłanie:

| Pole              | Co raportuje                                                                                                   |
| ----------------- | -------------------------------------------------------------------------------------------------------------- |
| `recipient_count` | Uczestnicy w momencie przyjęcia, mianownik dla pozostałych dwóch                                               |
| `delivered_count` | Ilu uczestnikom WhatsApp potwierdził dostarczenie wiadomości, wliczając tych, którzy zgłosili tylko odczytanie |
| `read_count`      | Ilu otworzyło wiadomość                                                                                        |

W wiadomości grupowej `status` raportuje najdalszy punkt, do którego dotarł **każdy** odbiorca: zmienia się na `delivered` dopiero gdy `delivered_count` zrówna się z `recipient_count`, a pozostaje `sent`, gdy część potwierdziła, a część nie. Żadna wiadomość WhatsApp nie ma statusu `read`, więc odczytanie jest śledzone przez `read_count` i `read_at`. `delivered_at` i `read_at` odnoszą się do pierwszego odbiorcy, nie ostatniego. `failed` i `rejected` nigdy nie są per uczestnik, ponieważ jest jedno przekazanie do WhatsApp i jeden sposób, w jaki może zostać odrzucone.

Wysyłka do grupy, do której nikt jeszcze nie dołączył, nie zawiera żadnych liczników, bo nie ma mianownika do zaraportowania. Traktuj `to.group_id`, a nie liczniki, jako to, co odróżnia wiadomość grupową od wiadomości jeden-do-jednego.

Aby sprawdzić, którego uczestnika dotyczy potwierdzenie, [wyświetl zdarzenia wiadomości](/docs/api/reference/list-whatsapp-message-events). Wysyłka grupowa rozdziela się na co najwyżej jedno zdarzenie `whatsapp.delivered` i co najwyżej jedno zdarzenie `whatsapp.read` na uczestnika, każde z polem `recipient` zawierającym numer telefonu tej osoby, jej [identyfikator użytkownika w zakresie firmy](/docs/guides/whatsapp/business-scoped-user-ids) lub oba. Żadne z nich nie jest gwarantowane: WhatsApp pomija potwierdzenie dostarczenia dla uczestnika, który już przegląda czat, a odczyt pojawia się tylko wtedy, gdy otworzy wiadomość. Zliczaj to, co przychodzi, zamiast czekać na jedno zdarzenie każdego typu na uczestnika, a sumy odczytuj z liczników. Pojedyncze zdarzenie `whatsapp.sent` nie zawiera pola `recipient`: to jest jedno przekazanie do WhatsApp, które nie wskazuje nikogo. [Webhooki](/docs/guides/whatsapp/webhooks/message-status) `whatsapp.delivered` i `whatsapp.read` zawierają to samo pole, dzięki któremu odróżnisz identycznie wyglądające callbacki.

## 4. Odczytaj konwersację jednej grupy

Przekaż `group_id` do [listowania wiadomości](/docs/api/reference/list-whatsapp-messages), aby uzyskać wątek jednej grupy w obu kierunkach:

**TypeScript**

```typescript
for await (const msg of bird.whatsapp.list({ group_id: "wag_01krdgeqcxet5s7t44vh8rt9mg" })) {
  console.log(msg.id, msg.direction, msg.status);
}
```

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

Przychodząca wiadomość grupowa jest odczytywana z uczestnikiem, który ją napisał, w `from` i z `to`, który zawiera **zarówno** Twój numer firmowy, jak i `group_id`: numer, który ją odebrał, kwalifikowany przez grupę, przez którą przyszła. Ani `to`, ani `from` nie pasuje do grupy, więc `group_id` jest jedynym filtrem zawężającym listę do jednej grupy. Te same wiadomości są w [logu WhatsApp](/docs/guides/whatsapp/message-log) w dashboardzie.

## Koszt

Wysyłka grupowa jest rozliczana w dwóch składnikach opisanych w [Wysyłanie wiadomości WhatsApp](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing), z jedną różnicą w wycenie każdego z nich. Opłata Bird jest naliczana raz za wysyłkę i wyceniana na podstawie kraju numeru firmowego, z którego wiadomość wyszła, ponieważ grupa może obejmować kilka krajów i nie ma jednego kraju odbiorcy. Udział Meta nalicza się na uczestnika, do którego wiadomość dotarła, każdy wyceniany według zwykłej stawki jeden-do-jednego dla kraju tego uczestnika, więc `passthrough_amount` rośnie w miarę napływania potwierdzeń. Od 1 października 2026 ten udział obejmuje też treść w formie swobodnej wysłaną do grupy, którą Meta nalicza na uczestnika, do którego dotarła, i odlicza z puli 1000 darmowych wiadomości serwisowych miesięcznie przypisanych do numeru wysyłającego: [Zmiany cenowe od października 2026](/docs/knowledge-base/whatsapp/october-2026-pricing-changes).

## Rozwiązywanie problemów

- **`404` ([E15046](/docs/api/errors/E15046))**: ID grupy nie wskazuje żadnej grupy w tym obszarze roboczym. Grupa należy do obszaru roboczego, który ją utworzył, więc ID z innego obszaru roboczego nie zostanie tu znalezione.
- **`409` ([E15047](/docs/api/errors/E15047))**: Grupa jest w stanie oczekiwania, zawieszona, usunięta lub w stanie błędu. Wiadomość można wysłać tylko do grupy w stanie **Active**, a grupa pozostaje w stanie oczekiwania, dopóki WhatsApp jej nie potwierdzi.
- **`422` ([E15018](/docs/api/errors/E15018))**: Usuń `from`. Grupa wysyła z numeru, z którym została utworzona.
- **`422` ([E15052](/docs/api/errors/E15052))**: Treść interaktywna lub szablon uwierzytelniania. Zobacz [co grupa przyjmuje](#2-co-grupa-przyjmuje).
- **`422` ([E15044](/docs/api/errors/E15044))**: Okno obsługi grupy jest zamknięte. Wyślij szablon lub poczekaj, aż uczestnik napisze do grupy.
- **`status` utknął na `sent`**: Mniej niż `recipient_count` uczestników potwierdziło dostarczenie. Odczytaj zdarzenia wiadomości, aby sprawdzić, kto nie potwierdził.

## Następne kroki

- [Odbieranie wiadomości grupowych WhatsApp](/docs/guides/whatsapp/groups/receiving): identyfikuj nadawcę i odpowiadaj do grupy
- [Zarządzanie grupami WhatsApp](/docs/guides/whatsapp/groups/management): zarządzaj uczestnikami, linkami z zaproszeniami i prośbami o dołączenie
- [Webhooki statusu wiadomości](/docs/guides/whatsapp/webhooks/message-status): otrzymuj aktualizacje dostarczenia swoich wiadomości
- [Identyfikatory użytkowników w zakresie firmy](/docs/guides/whatsapp/business-scoped-user-ids): identyfikuj uczestnika, którego numeru telefonu nie masz

## 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](/whatsapp-api) (product)

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