Come configurare un webhook?

20 lug 2017, 20:56:53
Visualizzazioni: 30.9K
Voti: 6

Ho uno script semplice che invia messaggi su Slack, esegue report e altre operazioni. Vorrei che questo script si eseguisse direttamente dopo che gli utenti effettuano un acquisto sul mio sito. NON voglio costruire questa funzionalità usando WordPress, il mio obiettivo è avere sistemi debolmente accoppiati.

ECCO I WEBHOOK.

I webhook sembrano esattamente quello che cerco. Qualcosa accade su WordPress e poi notifica il mio server di reporting.

WordPress pubblicizza una funzionalità webhook su https://en.support.wordpress.com/webhooks/ affermando che c'è un'opzione WEBHOOKS sotto IMPOSTAZIONI nell'amministrazione.

Schermata delle impostazioni webhook di WordPress.com

Tuttavia, sul mio WordPress non ho questa opzione di menu.

Schermata del menu impostazioni WordPress senza l'opzione webhook

C'è qualcosa di speciale che devo fare per ottenere questo menu?

1
Commenti

Penso che quel link riguardi i siti ospitati su Wordpress.com

hwl hwl
20 lug 2017 21:37:06
Tutte le risposte alla domanda 4
2

Stai utilizzando WordPress self-hosted, a volte indicato come WordPress.org.

Chiamare un hook remoto è ancora una possibilità lì, ma a meno che la tua soluzione di e-commerce non lo supporti, potresti dover aggiungere un codice personalizzato.

  1. Opzione - trovare un plugin

Esistono alcuni plugin che inviano dati a un URL esterno quando si verifica un determinato evento, ad esempio l'invio di un modulo. Questi potrebbero essere specifici per i tuoi moduli o potrebbero essere generici (supportando diversi moduli). Probabilmente esiste qualcosa per WooCommerce e altri sistemi. Purtroppo non posso essere più specifico senza sapere cosa stai utilizzando.

  1. Per gli acquisti - il tuo processore di pagamento potrebbe avere webhook.

Io utilizzo webhook con Stripe, ad esempio. L'acquisto viene effettuato tramite WP ma non appena viene addebitato sulla carta di credito utilizzando Stripe, ricevo una callback da Stripe con tutte le informazioni. Quindi, non c'è bisogno di inviarle nuovamente da WordPress.

  1. Aggiungere un codice personalizzato per gestire il webhook per te

Praticamente ogni azione in WordPress attiva qualche "azione", che può essere intercettata dal tuo plugin. Fondamentalmente tutto quello che devi fare è registrare un'azione e, una volta che si verifica, inviare i dati al tuo server esterno.

Maggiori informazioni sulle azioni: https://codex.wordpress.org/Plugin_API#Hooks:_Actions_and_Filters

21 lug 2017 01:31:28
Commenti

Grazie per la spiegazione. Esiste un plugin che permette di specificare azioni WordPress arbitrarie? Posso dire al mio fornitore di far utilizzare azioni al mio plugin personalizzato. E quello strumento potrebbe trasformare le azioni in webhook.

William Entriken William Entriken
26 lug 2017 03:55:59

WordPress ha degli hook disponibili che possono essere usati per attivare azioni arbitrarie. Un esempio è https://developer.wordpress.org/reference/hooks/admin_post_nopriv_action/.

Quando un altro sito web invia dati al tuo sito attraverso un URL che appare come http://www.example.com/wp-admin/admin-post.php?action=foobar, la funzione foobar che hai definito verrà eseguita.

ajie ajie
8 ago 2019 20:38:49
0

Dato che molto è cambiato negli ultimi anni, volevo fare un aggiornamento sulle novità nel mondo dei webhook di WordPress (2019+).

Il documento che hai menzionato è fornito da WordPress.com, che è un servizio diverso rispetto ai siti self-hosted via WordPress.org.

Per raggiungere questo obiettivo ci sono diverse possibilità:

1. Usa un plugin già esistente

Il modo più semplice sarebbe utilizzare un plugin che già offre webhook. Se vuoi coprire un caso d'uso specifico, ha senso cercare una soluzione mirata. Ad esempio, Woocommerce offre un plugin per l'integrazione con Slack: https://woocommerce.com/products/woocommerce-slack/

Se invece cerchi una soluzione globale per integrare praticamente qualsiasi cosa, ti consiglio WP Webhooks - Hanno una versione gratuita disponibile e funziona benissimo subito. Ti permette non solo di inviare dati da WordPress ma anche di riceverli. Puoi anche connetterlo facilmente in entrambi i modi con Zapier, automate.io e molti altri servizi.

Un altro plugin possibile sarebbe Hookpress - Ti offre anche la possibilità di inviare dati da WordPress a qualsiasi webhook. L'unico problema è che non è più mantenuto e ci sono problemi di compatibilità con PHP 7+

Un altro plugin è WebSub/PubSubHubbub - Funziona altrettanto bene ma ha casi d'uso più specifici.

2. Codice Personalizzato

Se nessuna delle opzioni sopra si adatta al tuo caso d'uso, puoi sempre iniziare a creare il tuo codice o assumere uno sviluppatore per farlo. Se vuoi farlo da solo, dovresti dare un'occhiata alle seguenti funzioni di WordPress: wp_remote_post e wp_remote_get

Se vuoi assumere uno sviluppatore, ti consiglio di chiedere su fiverr o Upwork o se vuoi solo sviluppatori esperti Codeable

Se sai qualcosa che io non so, non esitare a contattarmi e lo aggiungerò anche io :)

27 mar 2019 16:19:44
0

Se stai valutando di utilizzare codice personalizzato, potresti voler creare degli endpoint a seconda di ciò che stai facendo.

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

10 mag 2022 16:31:54
0
-2

Quando utilizzi un sito web self-hosted, segui i passaggi seguenti:

  1. Accedi al pannello di amministrazione del tuo sito yoursite.com/wp-admin

  2. Clicca su Impostazioni, poi su Impostazioni di scrittura yoursite.com/wp-admin/options-writing.php

  3. Scorri fino a Servizi di aggiornamento

  4. Aggiungi i tuoi URL endpoint

Questi sono tutti i passaggi necessari.

26 dic 2018 11:35:17