---
title: "Zarządzanie grupami WhatsApp"
description: "Utwórz grupę WhatsApp przez API, poczekaj na potwierdzenie od WhatsApp, udostępnij link z zaproszeniem, rozpatruj prośby o dołączenie, a także przypinaj, zmieniaj nazwę lub usuwaj grupę."
canonical: "https://bird.com/pl-pl/dokumentacja/guides/whatsapp/groups/management"
---

# Zarządzanie grupami WhatsApp

Wszystko, co robi strona [**Groups**](https://bird.com/dashboard/w/whatsapp/groups), robi też dwanaście operacji w ramach `/v1/whatsapp/groups`, więc cały cykl życia grupy mieści się w kodzie: utwórz ją, poczekaj na potwierdzenie od WhatsApp, udostępnij link z zaproszeniem, zdecyduj, kto wchodzi, aktualizuj szczegóły i przypięte wiadomości, a gdy rozmowa się skończy, usuń ją.

Dwie rzeczy kształtują każde wywołanie na tej stronie. **Nikogo nie można dodać do grupy**, więc link z zaproszeniem to jedyna droga do niej, a samo zapraszanie odbywa się poza API. **Większość zmian rozlicza się po stronie WhatsApp, a nie w odpowiedzi**, więc wywołanie przyjmujące zmianę nie jest tym, które potwierdza jej zastosowanie; sekcja [Jak zmiana się rozlicza](#jak-zmiana-się-utrwala) opisuje to raz dla każdej operacji, której dotyczy.

[Grupy WhatsApp](/docs/guides/whatsapp/groups) opisują, do czego służy grupa, i ten sam cykl życia w dashboardzie. [Wysyłanie do grupy WhatsApp](/docs/guides/whatsapp/groups/sending) opisuje wysyłanie wiadomości do niej.

## Wymagania wstępne

Potrzebujesz klucza API z dostępem `whatsapp_management`: poziom odczytu dla odczytów na tej stronie, poziom zapisu dla wszystkiego innego. [Użytkownicy, zespoły i role](/docs/guides/users-teams-roles) opisują, jak go przyznać.

Potrzebujesz też numeru firmowego ze statusem Official Business Account, którego WhatsApp wymaga od administratora grupy; sekcja [Zanim utworzysz grupę](/docs/guides/whatsapp/groups#before-you-create-a-group) opisuje, jak go uzyskać. `GET /v1/whatsapp/numbers` raportuje go dla każdego numeru jako `is_official_business_account`, więc odczytaj go stamtąd zamiast wykrywać z `412`. Flaga odpowiada stanowi z momentu `meta_synced_at` numeru, więc numer podłączony kilka minut temu może jeszcze nie być odczytany.

Zainicjalizuj klienta dla swojego języka, korzystając z przewodnika SDK dla [TypeScript](/docs/sdks/typescript), [Python](/docs/sdks/python), [Go](/docs/sdks/go) lub [PHP](/docs/sdks/php). Przykłady CLI znajdziesz w sekcji [zainstaluj i uwierzytelnij CLI](/docs/cli#authenticate). Przykłady cURL wskazują host US; jeśli Twój klucz zaczyna się od `bk_eu1_`, wywołuj `https://eu1.platform.bird.com`. SDK odczytują region z klucza, więc nie ustawiają hosta.

## 1. Utwórz grupę

Tworzenie wymaga podania numeru administrującego i tematu, nikogo więcej. Dwa wybory są ustalone na całe życie grupy i nie można ich później zmienić: numer oraz `join_approval_mode`, który decyduje, czy otwarcie linku z zaproszeniem wpuszcza kogoś od razu (`auto_approve`, domyślnie), czy zgłasza prośbę, którą rozpatrujesz (`approval_required`).

> **Note:** creating a group needs a business number with Official Business Account status, the blue check mark WhatsApp puts next to a business name in the chat. [WhatsApp Official Business Account](/docs/knowledge-base/whatsapp/official-business-account) covers what Meta requires and how to request it.

**TypeScript**

```typescript
const group = await bird.whatsapp.groups.create({
  whatsapp_number_id: "wan_01krdgeqcxet5s7t44vh8rt9mg",
  subject: "Norwood Fleet — Tuesday route",
  join_approval_mode: "approval_required",
});
console.log(group.id, group.status); // pending; read it back for the invite link
```

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

API zwraca `202` z grupą w statusie `status` `pending` i bez `invite_link`: WhatsApp wydaje link dopiero po potwierdzeniu grupy. Temat może mieć do 128 znaków, a opcjonalny `description` do 2048, i oba są widoczne dla każdego, kto otworzy link, więc nazwij grupę zgodnie z jej przeznaczeniem, a nie jako wewnętrzne odniesienie.

## 2. Poczekaj, aż WhatsApp ją potwierdzi

Odczytuj grupę, dopóki jej `status` nie opuści `pending`. Odczyt odpowiada `200` niezależnie od statusu, więc rozgałęziaj się na podstawie `status`, a nie na podstawie powodzenia wywołania.

**TypeScript**

```typescript
const group = await bird.whatsapp.groups.get("wag_01krdgeqcxet5s7t44vh8rt9mg");
console.log(group.status, group.invite_link);
```

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

Mogą pojawić się pięć statusów i tylko jeden z nich oznacza grupę, z którą można pracować:

| Status      | Co oznacza                                                                                             |
| ----------- | ------------------------------------------------------------------------------------------------------ |
| `pending`   | WhatsApp nie potwierdził grupy. `invite_link` jest null i nic tu nie nadaje się do udostępnienia       |
| `active`    | Grupa istnieje, jej link z zaproszeniem działa i przyjmuje wiadomości oraz zmiany                      |
| `suspended` | WhatsApp wstrzymał aktywność w grupie. Tylko WhatsApp może to zdjąć                                    |
| `deleted`   | Grupa nie istnieje, ale pozostaje odczytywalna, więc zapisane odniesienie do niej wciąż się rozwiązuje |
| `failed`    | WhatsApp odrzucił utworzenie, co jest ostateczne                                                       |

`failed` to drugie wyjście z `pending`, a `last_operation.last_error.description` zawiera własny powód od WhatsApp. Nigdy nie ponawiaj nieudanego utworzenia na tej samej grupie: zamiast tego utwórz nową, zmieniając to, czego dotyczyło odrzucenie.

## 3. Wpuść ludzi do grupy

Wyślij `invite_link` grupy do osób, które chcesz w niej mieć, dowolnym kanałem, który już do nich dociera. Żadna operacja nie dodaje uczestnika, więc link to jedyny sposób wejścia, a dołączenie jest ich decyzją. Link wpuszcza każdego, kto go posiada, więc traktuj go jak dane uwierzytelniające: [grupy WhatsApp](/docs/guides/whatsapp/groups#invite-people-to-the-group) opisują, jak szeroko go rozpowszechniać.

W grupie `auto_approve` każdy, kto ma link, jest w środku i nie ma nic do decydowania. W grupie `approval_required` otwarcie linku tworzy prośbę o dołączenie. Wylistuj oczekujące, a następnie rozpatrz je w partiach do 50:

**TypeScript**

```typescript
const waiting = [];
for await (const request of bird.whatsapp.groups.joinRequests.list(
  "wag_01krdgeqcxet5s7t44vh8rt9mg",
)) {
  waiting.push(request.id);
}
const result = await bird.whatsapp.groups.joinRequests.approve("wag_01krdgeqcxet5s7t44vh8rt9mg", {
  join_request_ids: waiting.slice(0, 50),
});
console.log(result.decided.length, result.failed.length);
```

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

WhatsApp rozpatruje każdą prośbę osobno, więc partia może być zastosowana częściowo: odpowiedź rozdziela `decided` od `failed`, a każde niepowodzenie zawiera powód podany przez WhatsApp w `error.description`. Czytaj odpowiedź, a nie kod statusu. Odrzucenie często dotyczy osoby, która nie zaakceptowała aktualnych warunków WhatsApp, czego ponowna próba nie naprawi.

Zatwierdzenie większej liczby osób, niż grupa może pomieścić, nie odrzuca wywołania: prośby, które się mieszczą, zostają rozpatrzone, a reszta wraca w `failed`, z informacją, że zatwierdzenie przekroczyłoby [limit uczestników](/docs/guides/whatsapp/groups#what-whatsapp-limits). Odrzucanie działa tak samo, przez `POST /v1/whatsapp/groups/{group_id}/join-requests/batch-reject`. Prośba znika z listy również wtedy, gdy osoba sama ją anuluje, więc ID, które było ważne chwilę temu, może zwrócić `422` [`E15051`](/docs/api/errors/E15051), zanim go użyjesz.

Limit 50 to własne ograniczenie Bird na jedno żądanie, a nie WhatsApp, więc seryjne odrzucanie nie jest ograniczone liczbą osób, które grupa może pomieścić.

### Obserwuj przychodzące prośby o dołączenie

Zasubskrybuj `whatsapp.group.join_request_created` i `whatsapp.group.join_request_revoked`, żeby dowiadywać się, gdy ktoś prosi o dołączenie i gdy anuluje prośbę, zamiast odpytywać listę. Prośba zgłoszona i anulowana między dwoma odczytami listy nie zostawia po sobie śladu, więc te zdarzenia są jedynym sposobem, żeby ją zobaczyć. Każde zdarzenie zawiera `join_request.id`, który przyjmują operacje wsadowe, więc możesz podejmować decyzję bezpośrednio na jego podstawie. [Webhooki grup WhatsApp](/docs/guides/whatsapp/webhooks/groups) opisują oba payloady i każde pole.

### Rotacja linku zaproszeniowego

Rotacja generuje nowy link i unieważnia każdy dotychczasowy link grupy, więc nikt, kto wciąż ma stary, nie może dołączyć. Wykonaj rotację, gdy link rozprzestrzenił się dalej, niż zamierzałeś, lub po usunięciu kogoś, kogo nie chcesz z powrotem. Nowy link wraca w samym wywołaniu, które odpowiada `200`:

**TypeScript**

```typescript
const link = await bird.whatsapp.groups.inviteLink.rotate("wag_01krdgeqcxet5s7t44vh8rt9mg");
console.log(link.invite_link); // every earlier link has stopped working
```

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

Rotacja nie służy do odczytywania bieżącego linku. Grupa zawiera swój `invite_link`, więc odczyt grupy jest tym odczytem.

CLI nie wyświetla potwierdzeń, więc jego destrukcyjne polecenia wymagają zamiast tego `--yes`: rotacja linku, usunięcie uczestnika, usunięcie grupy, odpięcie wiadomości i odrzucenie próśb o dołączenie bez niego kończą się odmową z `confirmation_required`.

## Jak zmiana się utrwala

WhatsApp potwierdza część zmian w swojej odpowiedzi, a inne na webhooku, a kod statusu mówi, z którym rodzajem masz do czynienia:

| Operacja                                        | Odpowiada | Gdzie trafia wynik                                       |
| ----------------------------------------------- | --------- | -------------------------------------------------------- |
| Tworzenie, aktualizacja, usunięcie              | `202`     | `last_operation` grupy, gdy WhatsApp odpowie             |
| Usunięcie uczestnika                            | `202`     | Własny `last_operation` tego uczestnika w `participants` |
| Zatwierdzenie lub odrzucenie próśb o dołączenie | `202`     | `decided` i `failed` w samej odpowiedzi                  |
| Rotacja, przypięcie, odpięcie                   | `200`     | Odpowiedź, która jest już zastosowaną zmianą             |

W przypadku pierwszych dwóch wierszy `202` oznacza żądanie przyjęte, nie zastosowane. `last_operation.status` ma wartość `pending`, dopóki WhatsApp nie odpowie, zwykle w ciągu sekund, a potem utrwala się jako `success` lub `failed`, przy czym `last_error.description` zawiera przyczynę w przypadku niepowodzenia. Odczytaj grupę ponownie, żeby zobaczyć, co zostało zastosowane.

Gdy operacja ma status `pending`, kolejna zmiana tego samego elementu zwraca `409` [`E15054`](/docs/api/errors/E15054). Zmiany na poziomie grupy współdzielą `last_operation` grupy, więc trwająca zmiana nazwy blokuje usunięcie. Każdy uczestnik ma własny, więc usuwanie kilku osób naraz daje każdej z nich własny stan i własne niepowodzenie, i tylko oczekujące usunięcie danej osoby blokuje kolejną próbę wobec niej.

Dwa `409` chronią zapisy, a `status` jest sprawdzany jako pierwszy, więc grupa, która nie jest `active`, zwraca [`E15047`](/docs/api/errors/E15047) niezależnie od tego, co mówi jej `last_operation`. Ma to znaczenie dla grupy wciąż tworzonej, która jest w stanie oczekiwania pod oboma względami jednocześnie.

Każdy zapis przyjmuje też nagłówek `Idempotency-Key`. [Idempotentność](/docs/guides/idempotency) opisuje bezpieczne ponawianie.

## Zmiana tematu, opisu lub zdjęcia grupy

Aktualizacja zmienia to, co uczestnicy widzą na górze grupy. Pominięte pola pozostają bez zmian; wyślij `null`, żeby wyczyścić opis lub zdjęcie, ponieważ pusty ciąg znaków to `422`, a nie drugi sposób czyszczenia.

**TypeScript**

```typescript
const group = await bird.whatsapp.groups.update("wag_01krdgeqcxet5s7t44vh8rt9mg", {
  subject: "Norwood Fleet — Wednesday route",
});
console.log(group.last_operation?.status); // pending until WhatsApp reports back
```

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

WhatsApp stosuje każde pole osobno, więc aktualizacja może być częściowo zastosowana: jedno pole odrzucone, podczas gdy pozostałe wchodzą w życie. Gdy operacja się utrwali, `last_operation.results` zawiera jeden wpis na każde pole wysłane w aktualizacji, dzięki czemu możesz powiązać odrzucenie z danymi wejściowymi, których dotyczy.

`profile_picture_url` wskazuje plik w bibliotece mediów Twojego obszaru roboczego, a nie adres w internecie, a WhatsApp przyjmuje kwadratowy JPEG o wymiarach co najmniej 192 na 192 piksele i do 5 MB. Wyczyszczenie usuwa zdjęcie przechowywane przez Bird, ale WhatsApp nie ma operacji usuwania zdjęcia grupy, więc uczestnicy widzą bieżące zdjęcie, dopóki nie zastąpi go inne. Numer administrujący i `join_approval_mode` są ustalane przy tworzeniu i nie można ich tu zmienić.

## Usunięcie uczestnika

Usunięcia nie można cofnąć. WhatsApp blokuje usuniętej osobie dołączenie do grupy za pomocą linku zaproszeniowego, a blokada podąża za osobą, nie za linkiem, więc rotacja linku nie pozwoli jej wrócić. Ponieważ nie ma operacji dodawania stanowiącej parę z tą, nic nie przywróci kogoś do tej grupy po usunięciu, a ponowne dotarcie do niego oznacza utworzenie innej grupy i zaproszenie go do niej.

Wskaż osobę dowolnym identyfikatorem, pod którym wymienia ją `participants` grupy: jej `bsuid`, który ma każdy, lub jej `phone_number` w formacie E.164, który jest obecny tylko wtedy, gdy WhatsApp go udostępnia. W adresie URL zakoduj wiodący `+` jako `%2B`, chyba że Twój klient robi to za Ciebie.

**TypeScript**

```typescript
const group = await bird.whatsapp.groups.participants.remove(
  "wag_01krdgeqcxet5s7t44vh8rt9mg",
  "+15550002222",
);
console.log(group.participants?.length);
```

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

Usunięcie uczestnika ma status `pending` na jego własnym wpisie, dopóki WhatsApp go nie potwierdzi, i nigdy nie trafia do `success`: zniknięcie wpisu z `participants` oznacza, że się powiodło. Wartość wskazująca kogoś, kto nie jest w grupie, zwraca `422` [`E15050`](/docs/api/errors/E15050).

## Przypięcie wiadomości

Przypięcie utrzymuje jedną z wiadomości grupy na górze czatu, dzięki czemu osoba dołączająca później nie musi przewijać w poszukiwaniu tematu, do którego rozmowa wciąż wraca. Przypięcie trwa `duration_days`, od 1 do 30, a domyślna wartość to 7.

**TypeScript**

```typescript
const pin = await bird.whatsapp.groups.pins.create("wag_01krdgeqcxet5s7t44vh8rt9mg", {
  message_id: "wam_01kya19eknftrs2s6p82asmvnh",
  duration_days: 14,
});
console.log(pin.pinned_until);
```

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

Wiadomość musi należeć do tej grupy: wiadomość z innej grupy lub wiadomość jeden-do-jednego zwraca `422` [`E15053`](/docs/api/errors/E15053). Grupa może mieć [tylko określoną liczbę przypiętych wiadomości jednocześnie](/docs/guides/whatsapp/groups#what-whatsapp-limits), a przypięcie ponad ten limit odpina najstarszą zamiast kończyć się błędem; przypięcie już przypiętej wiadomości zastępuje jej wygaśnięcie. To, co grupa aktualnie ma przypięte, znajduje się na samej grupie jako `pinned_messages`.

WhatsApp odpina wiadomość samodzielnie po upływie wyznaczonych dni, więc odpinaj tylko po to, żeby usunąć przypięcie wcześniej. `DELETE /v1/whatsapp/groups/{group_id}/pinned-messages/{message_id}` odpowiada `200`, a powtórzenie jest bezpieczne: wiadomość należąca do tej grupy, która nie jest przypięta, niczego nie zmienia i wciąż odpowiada `200`.

## Usunięcie grupy

Usunięcie usuwa grupę w WhatsApp. Każdy uczestnik traci dostęp, łącznie z Twoją firmą, a link zaproszeniowy przestaje działać. Operacji nie można cofnąć, a wznowienie rozmowy oznacza utworzenie nowej grupy i wysłanie jej linku.

**TypeScript**

```typescript
const group = await bird.whatsapp.groups.delete("wag_01krdgeqcxet5s7t44vh8rt9mg");
console.log(group.last_operation?.status); // pending until WhatsApp confirms it
```

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

Grupa pozostaje czytelna po usunięciu w statusie `status` `deleted`, więc zapisane odwołanie do niej wciąż się rozwiązuje zamiast zamieniać w `404`. Grupę `failed` też można usunąć, a ta nie trafia do żadnego zewnętrznego systemu: tworzenie nigdy nie wygenerowało grupy w WhatsApp, więc wyczyszczenie wiersza to wewnętrzne porządki Bird. Każdy inny status odmawia z `409` [`E15047`](/docs/api/errors/E15047).

## Lista grup

Lista zwraca grupy utworzone w Twoim obszarze roboczym, od najnowszych, jako stronę kursorową. Filtruj po numerze administrującym (`number`, jako numer E.164 lub identyfikator `wan_`), po koncie WhatsApp Business Account, z którego wysyła (`waba`), lub po `status`, powtarzając parametr, żeby dopasować kilka wartości. `q` przeszukuje temat i opis pod kątem podciągu, bez rozróżniania wielkości liter.

**TypeScript**

```typescript
for await (const group of bird.whatsapp.groups.list({ status: ["active"] })) {
  console.log(group.id, group.subject, group.participant_count);
}
```

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

Usunięta grupa pozostaje na liście ze statusem `status` `deleted`, więc filtruj po statusie, żeby widzieć tylko grupy, do których wciąż możesz wysyłać wiadomości.

## Rozwiązywanie problemów

- **`412` ([E15045](/docs/api/errors/E15045))**: Numer nie ma statusu Official Business Account, więc WhatsApp nie pozwoli mu utworzyć grupy. Decyzja należy do WhatsApp: poproś o status w WhatsApp Manager w profilu numeru lub utwórz grupę na numerze, który już go posiada.
- **`404` ([E15046](/docs/api/errors/E15046))**: Podany identyfikator nie wskazuje żadnej grupy w tym obszarze roboczym. Grupa należy do obszaru roboczego, który ją utworzył, więc identyfikator z innego obszaru roboczego nie zostanie tu znaleziony.
- **`409` ([E15047](/docs/api/errors/E15047))**: Grupa jest w stanie oczekiwania, zawieszona, usunięta lub zakończona niepowodzeniem. Tylko aktywna grupa przyjmuje zmiany. Odczytaj grupę, żeby sprawdzić jej stan.
- **`409` ([E15049](/docs/api/errors/E15049))**: Numer administruje już 10 000 grup, które dopuszcza WhatsApp. Usuń grupy, których rozmowa się zakończyła, lub utwórz tę grupę na innym numerze.
- **`409` ([E15054](/docs/api/errors/E15054))**: Zmiana dotycząca tej samej grupy lub tego samego uczestnika wciąż oczekuje na zakończenie. Odczytaj `last_operation` i poczekaj, aż się utrwali.
- **`422` ([E15050](/docs/api/errors/E15050))**: Ścieżka nie wskazuje nikogo w grupie. Odczytaj `participants` grupy i użyj `bsuid` lub `phone_number` w postaci, w jakiej są raportowane.
- **`422` ([E15051](/docs/api/errors/E15051))**: Jeden z identyfikatorów próśb o dołączenie nie oczekuje już na decyzję. Pobierz listę próśb ponownie i użyj identyfikatorów, które zostaną zwrócone.
- **`422` ([E15053](/docs/api/errors/E15053))**: Wiadomość należy do innej grupy lub do rozmowy jeden-do-jednego. `to.group_id` wiadomości wskazuje, która grupa może ją przypiąć.
- **Grupa `pending`, która nigdy nie staje się aktywna**: Bird rezygnuje z oczekiwania zamiast zostawiać ją w stanie oczekującym i przenosi grupę do `failed` z przyczyną w `last_operation.last_error`. Utwórz zastępczą grupę zamiast ponawiać próbę.

## Referencja

Pełne kształty żądań i odpowiedzi znajdują się w referencji API: [create](/docs/api/reference/create-whatsapp-group), [list](/docs/api/reference/list-whatsapp-groups), [get](/docs/api/reference/get-whatsapp-group), [update](/docs/api/reference/update-whatsapp-group), [delete](/docs/api/reference/delete-whatsapp-group), [rotacja linku zaproszeniowego](/docs/api/reference/rotate-whatsapp-group-invite-link), [usunięcie uczestnika](/docs/api/reference/delete-whatsapp-group-participant), [lista](/docs/api/reference/list-whatsapp-group-join-requests), [zatwierdzenie](/docs/api/reference/approve-whatsapp-group-join-requests) i [odrzucenie](/docs/api/reference/reject-whatsapp-group-join-requests) próśb o dołączenie oraz [przypięcie](/docs/api/reference/create-whatsapp-group-pinned-message) i [odpięcie](/docs/api/reference/delete-whatsapp-group-pinned-message) wiadomości.

## Następne kroki

- [Grupy WhatsApp](/docs/guides/whatsapp/groups): czym jest grupa i ten sam cykl życia w panelu
- [Wysyłanie do grupy WhatsApp](/docs/guides/whatsapp/groups/sending): adresowanie grupy, wymagania i potwierdzenia dostarczenia per uczestnik
- [Odbieranie wiadomości z grupy WhatsApp](/docs/guides/whatsapp/groups/receiving): który uczestnik napisał wiadomość i odpowiadanie do grupy
- [Business-scoped user IDs](/docs/guides/whatsapp/business-scoped-user-ids): identyfikator uczestnika, gdy nie masz numeru telefonu
- [Idempotentność](/docs/guides/idempotency): ponawianie zapisu, który mógł już zostać przyjęty

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