# Wysyłanie reakcji WhatsApp

Zareaguj na wiadomość kontaktu za pomocą emoji, na przykład kciuka w górę, aby potwierdzić odbiór odpowiedzi. Możesz później zmienić swoją reakcję lub ją usunąć.

## Wymagania wstępne

Potrzebujesz klucza API z uprawnieniem do zapisu WhatsApp oraz identyfikatora wiadomości Bird (`wam_…`) wiadomości otrzymanej przez Twój obszar roboczy. Użyj `data.whatsapp_id` z [`whatsapp.received`](/docs/guides/whatsapp/receiving-whatsapp) lub `id` wiadomości z [logu WhatsApp](/docs/guides/whatsapp/message-log).

Zastąp przykładowy identyfikator wiadomości identyfikatorem wiadomości otrzymanej przez Twój obszar roboczy. 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). W przypadku przykładów CLI [zainstaluj i uwierzytelnij CLI](/docs/cli#authenticate) z dostępem do zapisu WhatsApp. W żądaniach cURL używaj hosta API odpowiedniego dla [regionu obszaru roboczego](/docs/api/regions).

## 1. Dodaj reakcję

Wywołaj [Zareaguj na wiadomość WhatsApp](/docs/api/reference/upsert-whatsapp-message-reaction) z jednym emoji:

**TypeScript**

```typescript
const reaction = await bird.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", {
  emoji: "👍",
});
console.log(reaction.id, reaction.emoji);
```

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

API zwraca `202` z `id` (`war_…`) i `emoji` zaakceptowanej reakcji. Zapisz identyfikator reakcji, aby znaleźć jej wynik w logu reakcji. Akceptacja nie potwierdza, że WhatsApp zastosował reakcję.

Możesz mieć tylko jedną reakcję na wiadomość. Aby ją zmienić, powtórz żądanie `PUT` z innym emoji. Reakcje nie są naliczane.

## 2. Sprawdź wynik reakcji

[Pobierz wiadomość](/docs/api/reference/get-whatsapp-message), aby zobaczyć jej bieżące `reactions` z jednym wpisem na nadawcę. Aby sprawdzić wynik konkretnej zmiany, [wyświetl listę zdarzeń reakcji wiadomości](/docs/api/reference/list-whatsapp-message-reaction-events) i znajdź zapisany identyfikator reakcji.

Log reakcji rejestruje wyniki końcowe: `sent` oznacza, że WhatsApp zaakceptował zmianę, `failed` oznacza, że WhatsApp ją odrzucił, a `rejected` oznacza, że Bird odrzucił ją przed transmisją. Sprawdź `error` zdarzenia w przypadku nieudanej lub odrzuconej zmiany. Oczekująca reakcja nie ma jeszcze wpisu w logu. Reakcje nie mają potwierdzeń dostarczenia ani odczytu i nie generują wychodzącego webhooka reakcji.

## 3. Usuń swoją reakcję

Wywołaj [Usuń reakcję WhatsApp](/docs/api/reference/delete-whatsapp-message-reaction) z tym samym identyfikatorem wiadomości:

**TypeScript**

```typescript
await bird.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg");
```

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

API zwraca `202` bez treści odpowiedzi. Usunięcie jest przetwarzane asynchronicznie; sprawdź bieżące `reactions` wiadomości lub jej log reakcji, aby potwierdzić wynik. Wpis logu usunięcia ma `emoji: null`. Usunięcie nieistniejącej reakcji jest bezpieczne, a ta operacja usuwa reakcję Twojego obszaru roboczego, nie kontaktu.

## Rozwiązywanie problemów

- **`404` ([E15071](/docs/api/errors/E15071))**: Sprawdź identyfikator wiadomości docelowej i obszar roboczy. Bird przechowuje referencję wiadomości potrzebną do dodania lub usunięcia reakcji przez 15 dni.
- **`422` ([E01001](/docs/api/errors/E01001))**: Użyj otrzymanej wiadomości i pojedynczego emoji. Nie możesz reagować na wiadomość wysłaną przez Twój obszar roboczy. Złożone emoji liczy się jako jedno emoji; dwa oddzielne emoji już nie.
- **Reakcja niezmieniona po `202`**: Sprawdź log reakcji w poszukiwaniu nieudanej lub odrzuconej zmiany. Pomyślna odpowiedź HTTP potwierdza przyjęcie do przetwarzania.

## Następne kroki

- [Odbieranie zmian reakcji](/docs/guides/whatsapp/receiving-whatsapp/reactions)
- [Oznacz wiadomość jako przeczytaną](/docs/guides/whatsapp/mark-message-as-read)
- [Wyślij odpowiedź WhatsApp](/docs/guides/whatsapp/sending-whatsapp)

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