NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Webhooks for Laravel

Inštalácia
composer require roundly-consulting/webhooks-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^13.0

Prehľad

Prijímajte podpísané webhooky od akéhokoľvek odosielateľa a posielajte podpísané webhooky, ktoré si vaši zákazníci overia. Prichádzajúce doručenia sa overia, deduplikujú a raz odovzdajú handleru vo fronte; odchádzajúce dodržiavajú otvorený formát Standard Webhooks a sú podpísané, opakované s rastúcim odstupom, obmedzené na endpoint a chránené pred SSRF — so záznamom doručení v oboch smeroch, rotáciou tajných kľúčov a opätovným spracovaním. Licencia MIT, beží na vašom vlastnom fronte a databáze a stojí len na komponentoch Laravelu a balíkoch Roundly pre bezpečnosť, obmedzenie rýchlosti a bezpečné odchádzajúce požiadavky.

Čo získate

Prijímanie od akéhokoľvek odosielateľa

Jeden endpoint na odosielateľa s neuhádnuteľnou URL adresou a tajným kľúčom zobrazeným iba raz. Každá požiadavka sa skontroluje na veľkosť, typ obsahu, podpis, čerstvosť a duplicity, potom sa uloží a odovzdá handleru vo fronte — raz.

Odosielanie podpísaných webhookov

Webhooks::send() a broadcast() doručia podpísanú obálku na endpointy vašich zákazníkov — odbery so zástupnými znakmi, idempotentné odoslanie a nič sa neodošle, ak sa transakcia vráti späť.

Standard Webhooks, RFC 9421 alebo vlastná schéma

Predvolene otvorený formát Standard Webhooks, podpisy HTTP správ (RFC 9421) cez Sentinel a vlastné schémy — webhooks:make-scheme vám do aplikácie zapíše schému v štýle GitHubu alebo Stripe.

Rozumné opakovanie

8 pokusov počas približne 24 hodín s exponenciálnym odstupom a náhodným rozptylom, rešpektovaný Retry-After, obmedzenie rýchlosti na endpoint, automatické vypnutie po dlhodobom zlyhaní alebo odpovedi 410 a opätovné doručenie všetkého, čo zlyhalo.

Predvolene chránené pred SSRF

URL adresy zákazníkov prechádzajú cez Safe Fetch pri uložení aj pri každom pokuse: len https, privátne, loopback a cloudové metadátové adresy sa odmietnu, DNS sa pripne, presmerovania sú vypnuté alebo sa overia pri každom kroku.

Záznam doručení bez tajomstiev

Oba smery v zázname — stav, pokusy, kódy odpovedí, časy, chyby — so šifrovaným obsahom, sanitizérom, retenciou, JSON resources, opätovným spracovaním a rotáciou tajných kľúčov s prechodným obdobím.

Fasáda, DI alebo akcie

Jedna fasáda Webhooks, injektovateľný manažér alebo jednoúčelové akcie — a k tomu nahrávací fake, podpísané testovacie požiadavky v akejkoľvek schéme a DNS tabuľka pre testy odosielania.

Dokumentácia

Použitie

Kde sa balík hodí — SaaS tímy, ktoré ponúkajú webhooky zákazníkom, a aplikácie, ktoré prijímajú webhooky platobných, Git, e-podpisových či CRM služieb.

Inštalácia

Inštalácia cez Composer, zverejnenie konfigurácie a migrácií príkazom webhooks:install, migrácia, potom worker frontu a plánovač.

Konfigurácia

Každý kľúč config/webhooks.php — kľúče a modely, fronty, prijímanie, odosielanie, SSRF, tajné kľúče, schémy, obsah správ a plánovanie.

Fasáda Webhooks

Prehľad fasády Webhooks — send, broadcast, for($owner), prístupy inbound() a outbound(), registre schém a handlerov, prune a fake.

DI a akcie

Bez fasády: injektujte WebhooksManager alebo zavolajte jednoúčelovú akciu — každá akcia so signatúrou execute() a metódou fasády.

Prijímanie webhookov

Prichádzajúce endpointy, spracovanie v pevnom poradí a jeho stavové kódy, ochrana pred opakovaním a idempotencia a vlastná trasa.

Handlery a spracovanie

Triedy alebo closures handlerov podľa aliasu, čítanie obsahu, hlavičiek a vlastníka, jediné spracovanie vo fronte a replay uložených doručení.

Odosielanie webhookov

Odchádzajúce endpointy s odbermi a vlastnými hlavičkami, send, idempotentné odoslanie, broadcast, udalosti, ktoré sa odošlú samy, ping a obálka.

Doručovanie a opakovania

Jeden pokus krok za krokom, plán opakovaní, obmedzenie na endpoint, automatické vypnutie, opätovné doručenie a hromadné doručenie po výpadku.

Správa endpointov

Hľadanie, výpis, úprava, nulovanie, zapnutie, vypnutie a zmazanie endpointov v oboch smeroch, trait HasWebhooks a všetky limity volieb.

Podpisové schémy

Predvolená schéma Standard Webhooks v1 bajt po bajte s testovacími vektormi, podpisy HTTP správ RFC 9421 a vlastné schémy v štýle GitHubu či Stripe.

Návod pre príjemcov

Stránka pre vašich zákazníkov: čo príde, surové telo v rôznych prostrediach, overenie v PHP, Node, Pythone, Go a Ruby, vektory a ako odpovedať.

Tajné kľúče a rotácia

Vygenerované a importované tajné kľúče, šifrovanie, jednorazové zobrazenie, rotácia s prechodným obdobím v oboch smeroch a čo vymaže zmazanie.

Bezpečnosť odosielania (SSRF)

Ako Safe Fetch chráni každú URL zákazníka pri uložení aj pri každom pokuse — pravidlá, pripnutie DNS, presmerovania a lokálny vývoj.

Obsah a retencia

Prichádzajúci obsah ako nedôveryhodný vstup, sanitizér a jeho náhrada, šifrovanie v pokoji a retencia cez webhooks:prune so skúšobným behom.

Záznam doručení a resources

Vymeniteľné modely a ich pomocníci, dopyty nad záznamom v oboch smeroch, JSON resources pre vlastné obrazovky a zobrazenie vlastníka.

Udalosti

Sedem udalostí pre audit — prijaté, odmietnuté, zlyhané spracovanie, doručené, zlyhané, vypnutý endpoint, rotovaný kľúč — a bezpečné počúvanie.

Príkazy Artisan

Inštalácia, doctor a jeho kontroly, pravidelné opakovanie, čistenie, rotácia, opätovné doručenie, replay, výpis, zapnutie, ping a make-scheme.

Testovanie

Webhooks::fake() so všetkými overeniami a ich negáciami, SignedWebhookRequest pre testy príjmu v akejkoľvek schéme, factories a FakeHostResolver pre DNS.

Model hrozieb

Pred čím balík chráni a ako — podvrh, opakovanie, zisťovanie endpointov, vyčerpanie zdrojov, SSRF, únik kľúčov — a čo zámerne nerieši.

Požiadavky

PHP 8.4+, Laravel 13, ext-curl a ext-json, MySQL alebo PostgreSQL, worker frontu a plánovač a balíky Roundly, na ktorých stojí.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.