E-mail értesítés a kiegészítők API-hibáiról
Egyéni értesítési esemény létrehozása, amely e-mailt küld, ha egy kiegészítő hibát kap egy külső szolgáltatás API-jától.
Ez az útmutató megmutatja, hogyan kaphatsz e-mailt, amikor egy Gravity Forms kiegészítő hibába ütközik egy külső szolgáltatás (API) hívásakor. Például ha a szolgáltatás elutasítja a kérést, vagy kapcsolódási hiba van.
Mit építünk
Szekció neve “Mit építünk”Egyéni értesítési eseményt hozunk létre. Ha egy kiegészítő API-hibát kap, az esemény elindul, és az általad megadott címre e-mail megy a beküldés adataival és egy hivatkozással, amelyen a konkrét hibaüzenetet a beküldés megjegyzései között láthatod.
A kódrészlet
Szekció neve “A kódrészlet”// Egyéni értesítési eseményt ad a kiegészítők API-hibáihoz.add_filter( 'gform_notification_events', function ( $events ) { $events['addon_api_issue'] = 'Add-On API Issue'; return $events;} );
// Elindítja az egyéni eseményt, ha egy kiegészítő hibát jelez.add_action( 'gform_SLUG_error', 'send_addon_error_email', 10, 4 );function send_addon_error_email( $feed, $entry, $form, $error_message ) { GFAPI::send_notifications( $form, $entry, 'addon_api_issue' );}A SLUG helyére a kiegészítő rövid azonosítóját (slugját) írd. Az eseménynév szövege („Add-On API Issue”) az értesítés Esemény listájában látszik, ezért átírhatod magyarra is.
Az értesítés beállítása
Szekció neve “Az értesítés beállítása”A kód hozzáadása után hozd létre az értesítést, amely hiba esetén elmegy:
- Nyisd meg az Űrlapok → [az űrlap] → Beállítások → Értesítések oldalt.
- Kattints az Új hozzáadása gombra.
- Adj az értesítésnek beszédes Névet. Ez a beküldés megjegyzéseiben is megjelenik.
- Az Esemény listából válaszd ki az újonnan felvett eseményt (itt: Add-On API Issue).
- Add meg a címzettet.
- Írj tárgyat, például: „API-hiba, beavatkozás szükséges”.
- Írd meg az üzenetet.
Az üzenetben az {all_fields} összefűző címkével átadhatod a beküldés adatait, az {entry_url} címkével pedig közvetlen hivatkozást tehetsz a beküldésre, ahol a kiegészítő a konkrét API-hibát a megjegyzésekben rögzíti.
Hogyan működik
Szekció neve “Hogyan működik”| Rész | Szerepe |
|---|---|
| Egyéni esemény | A gform_notification_events szűrő új eseményt ad az értesítések beállításaihoz. |
| Hibafelismerés | A gform_{$SHORT_SLUG}_error kapcsolópont akkor fut le, amikor egy támogatott kiegészítő API-hibát észlel: elutasított kérést, hitelesítési hibát, ellenőrzési hibát vagy kapcsolódási problémát. |
| Értesítés indítása | A GFAPI::send_notifications() elküldi az addon_api_issue eseményhez beállított összes értesítést, és átadja a beküldés adatait az összefűző címkékhez. |
Példa: Mailchimp API-hibák
Szekció neve “Példa: Mailchimp API-hibák”// Egyéni értesítési esemény a Mailchimp API-hibáihoz.add_filter( 'gform_notification_events', function ( $events ) { $events['mailchimp_api_issue'] = 'Mailchimp API Issue'; return $events;} );
// Elindítja az eseményt, ha a Mailchimp hibát jelez.add_action( 'gform_mailchimp_error', 'send_mailchimp_error_email', 10, 4 );function send_mailchimp_error_email( $feed, $entry, $form, $error_message ) { GFAPI::send_notifications( $form, $entry, 'mailchimp_api_issue' );}Testreszabás
Szekció neve “Testreszabás”- Az eseménynév módosítása. Mindkét helyen írd át az esemény azonosítóját (például
addon_api_issuevagymailchimp_api_issue). A szűrőben és a kapcsolópontban szereplő értéknek pontosan egyeznie kell, de nem kötődik semmilyen kiegészítő vagy szűrő nevéhez. Lehet példáulmy_custom_event_nameis, ha mindkét helyen ugyanaz. - Több címzett. Az értesítés Küldés ide mezőjébe vesszővel elválasztva több e-mail-címet is megadhatsz, vagy feltételes logikával az űrlapmezők értékei szerint irányíthatod az értesítést.
- Több kiegészítő egy űrlapon. Ha az űrlap több kiegészítőt használ, mindegyikhez külön eseményt és kapcsolópontot hozz létre, hogy kiderüljön, melyik szolgáltatás hibázott.
- Hiba részletei. Az
$error_messageparaméter tartalmazza az API által visszaadott konkrét hibát. A kódot módosíthatod úgy, hogy ezt az értesítésbe is beletedd, de a hiba a beküldés megjegyzéseiben is megvan.
Tudnivalók
Szekció neve “Tudnivalók”Az értesítés a beküldés létrehozása és a kiegészítő feldolgozásának befejezése után megy ki. A beküldés az API-hiba ellenére is mentésre kerül.
A kiegészítők a hiba részleteit automatikusan a beküldés megjegyzéseibe naplózzák. Az értesítés csak figyelmeztetés: a teljes hibaüzenetért továbbra is a megjegyzéseket kell megnézned.
Az értesítések beállításáról az Értesítések beállítása, az eseményekről az Értesítési események fejezetben olvashatsz.
Készült: