Cum configurez un webhook?

20 iul. 2017, 20:56:53
Vizualizări: 30.9K
Voturi: 6

Am un script simplu care trimite mesaje pe Slack, rulează rapoarte și face alte lucruri. Aș dori ca acest script să ruleze direct după ce utilizatorii cumpără ceva de pe site-ul meu. NU vreau să construiesc această funcționalitate folosind WordPress, scopul meu este să am sisteme slab cuplate.

INTRĂ ÎN SCENĂ WEBHOOK-URILE.

Webhook-urile par exact ceea ce îmi doresc. Când se întâmplă ceva în WordPress, acesta ping-uie serverul meu de raportare.

WordPress promovează o funcționalitate de webhook-uri la https://en.support.wordpress.com/webhooks/ unde menționează că există o opțiune WEBHOOKS sub SETTINGS în panoul de administrare.

Exemplu de meniu webhook WordPress.com

Cu toate acestea, în WordPress-ul meu nu am această opțiune în meniu.

Meniu WordPress fără opțiunea webhook

Este ceva special ce trebuie să fac pentru a obține acest meniu?

1
Comentarii

Cred că acel link se referă la site-uri găzduite pe Wordpress.com

hwl hwl
20 iul. 2017 21:37:06
Toate răspunsurile la întrebare 4
2

Folosești WordPress self-hosted, care uneori este menționat ca WordPress.org.

Apelarea unui webhook remote este încă posibilă acolo, dar dacă soluția ta de e-commerce nu o suportă, poate fi necesar să adaugi un cod personalizat.

  1. Opțiunea 1 - găsește un plugin

Există unele plugin-uri care vor trimite date către o URL externă atunci când un anumit eveniment are loc, de exemplu, când un formular este trimis. Acestea pot fi specifice pentru formularul tău sau pot fi generice (suportând diferite tipuri de formulare). Probabil există ceva pentru WooCommerce și alte sisteme. Din păcate, nu pot fi mai specific fără a ști ce folosești.

  1. Pentru achiziții - procesatorul tău de plăți poate avea webhooks.

Eu folosesc webhooks cu Stripe, de exemplu. Achiziția este făcută prin WordPress, dar imediat ce este încărcată pe cardul de credit folosind Stripe, primesc un callback de la Stripe cu toate informațiile. Deci, nu este nevoie să le trimiți din nou din WordPress.

  1. Adaugă cod personalizat pentru a gestiona webhook-ul

Aproape fiecare acțiune în WordPress declanșează un "action", care poate fi prins de plugin-ul tău. Practic, tot ce trebuie să faci este să înregistrezi un action și, odată ce se întâmplă, să trimiți datele către serverul tău extern.

Mai multe despre actions: https://codex.wordpress.org/Plugin_API#Hooks:_Actions_and_Filters

21 iul. 2017 01:31:28
Comentarii

Mulțumesc pentru explicație. Există un plugin care să permită specificarea acțiunilor arbitrare în WordPress? Îi pot spune furnizorului meu să folosească acțiuni în pluginul meu personalizat. Și acel instrument ar putea transforma acțiunile în webhook-uri.

William Entriken William Entriken
26 iul. 2017 03:55:59

WordPress are disponibile hook-uri care pot fi folosite pentru a declanșa acțiuni arbitrare. Un exemplu este https://developer.wordpress.org/reference/hooks/admin_post_nopriv_action/.

Când un alt site web trimite date către site-ul tău printr-un URL care arată astfel http://www.example.com/wp-admin/admin-post.php?action=foobar, funcția foobar pe care o definești va fi executată.

ajie ajie
8 aug. 2019 20:38:49
0

Deoarece multe s-au schimbat în ultimii ani, am vrut să fac o actualizare despre ce este nou în lumea webhook-urilor WordPress (2019+).

Documentul pe care l-ai menționat este oferit de WordPress.com, care este un serviciu diferit față de site-urile self-hosted via WordPress.org.

Pentru a atinge acest obiectiv, există câteva posibilități:

1. Utilizarea unui plugin existent

Cea mai ușoară metodă ar fi să folosești un plugin care oferă deja webhook-uri. Dacă vrei să acoperi un caz de utilizare specific, are sens să cauți o soluție dedicată. De exemplu, WooCommerce oferă integrarea cu Slack ca plugin: https://woocommerce.com/products/woocommerce-slack/

În cazul în care dorești o soluție globală pentru a putea integra practic orice, îți recomand WP Webhooks - Au o versiune gratuită disponibilă și funcționează excelent din cutie. Îți permite nu doar să trimiți date din WordPress, dar și să le primești. De asemenea, poți să-l conectezi ușor în ambele sensuri cu Zapier, automate.io și multe alte servicii.

Un alt plugin posibil ar fi Hookpress - De asemenea, îți oferă posibilitatea de a trimite date din WordPress către orice webhook. Singura problemă este că nu mai este întreținut și există probleme de compatibilitate cu PHP 7+

Un alt plugin ar fi WebSub/PubSubHubbub - Funcționează la fel de bine, dar are cazuri de utilizare mai specifice.

2. Cod personalizat

În cazul în care niciuna dintre opțiunile de mai sus nu se potrivește nevoilor tale, poți oricând să începi să creezi propria soluție sau să angajezi un developer care să o facă pentru tine. Dacă vrei să o faci singur, ar trebui să verifici următoarele funcții WordPress: wp_remote_post și wp_remote_get

Dacă vrei să angajezi un developer, îți recomand să întrebi pe fiverr sau Upwork, iar dacă vrei doar developeri experți, poți încerca Codeable

Dacă știi ceva ce eu nu știu, nu ezita să mă contactezi și voi adăuga și acea informație :)

27 mar. 2019 16:19:44
0

Dacă intenționați să utilizați cod personalizat, s-ar putea să doriți să creați endpoint-uri în funcție de ceea ce faceți.

https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/

10 mai 2022 16:31:54
0
-2

Când utilizați un site web auto-găzduit, urmați pașii de mai jos:

  1. Autentificați-vă în panoul de administrare al site-ului domeniutau.com/wp-admin

  2. Faceți clic pe Setări, apoi pe Setări de scriere domeniutau.com/wp-admin/options-writing.php

  3. Derulați până la secțiunea Servicii de Actualizare

  4. Adăugați URL-urile endpoint-urilor

Aceștia sunt toți pașii necesari.

26 dec. 2018 11:35:17