emitting-api-events
Build event-driven APIs with webhooks, Server-Sent Events, and real-time notifications.\nUse when building event-driven API architectures.\nTrigger with phrases like \
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Build event-driven APIs with webhooks, Server-Sent Events, and real-time notifications.\nUse when building event-driven API architectures.\nTrigger with phrases like \
How to use
Przygotuj infrastrukturę: upewnij się, że masz dostęp do brokera wiadomości (Redis Pub/Sub, RabbitMQ, Apache Kafka lub AWS SNS/SQS), bazy danych do przechowywania dziennika zdarzeń i rejestracji subskrybentów (PostgreSQL, MongoDB) oraz system dostarczania webhooków z obsługą ponowień (Bull, Celery lub usługa zarządzana).
Zidentyfikuj operacje emitujące zdarzenia: użyj Grep i Read do przeanalizowania kodu API i wylistowania wszystkich mutacji (POST, PUT, PATCH, DELETE), które powinny emitować zdarzenia. Nazwij typy zdarzeń według konwencji
zasób.akcja(np.order.created,user.updated).Zdefiniuj schematy zdarzeń dla każdego typu: każdy schemat powinien zawierać
eventId(UUID),eventType,version,timestamp(ISO 8601),source(identyfikator usługi) idata(ładunek specyficzny dla typu).Wdrożyć usługę emitującą zdarzenia: skonfiguruj publikowanie zdarzeń do brokera wiadomości po pomyślnych mutacjach API, używając wzorca transactional outbox aby zapobiec utracie zdarzeń w przypadku awarii aplikacji.
Zbuduj system zarządzania subskrypcjami webhooków: pozwól klientom rejestrować adresy URL, obsługuj logikę ponawiania dostaw z backoffem eksponencjalnym i prowadź historię prób dostarczenia.
Skonfiguruj Server-Sent Events dla klientów przeglądarki: zaimplementuj endpoint SSE do przesyłania zdarzeń w czasie rzeczywistym do połączonych klientów, opcjonalnie z filtrowaniem po typach zdarzeń.