{"id":5744,"date":"2019-12-30T15:26:05","date_gmt":"2019-12-30T14:26:05","guid":{"rendered":"https:\/\/serversmtp.com\/?page_id=5744"},"modified":"2022-02-11T09:35:40","modified_gmt":"2022-02-11T08:35:40","slug":"che-cosa-sono-le-notifiche-di-eventi-o-webhook","status":"publish","type":"page","link":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/","title":{"rendered":"Che cosa sono le notifiche di eventi o webhook?"},"content":{"rendered":"<p>Le notifiche di eventi (in inglese \u201cwebhook\u201d) sono un modo semplice in cui <strong>i tuoi account online possono &#8220;parlarsi&#8221; tra loro<\/strong> e scambiarsi informazioni quando ha luogo un evento prestabilito. Questo avviene avvalendosi di applicativi forniti da terze parti.<\/p>\n<p>In presenza di una notifica, che va creata di volta in volta, le app possono inviarsi messaggi e <strong>informazioni in modo automatico e in tempo reale<\/strong>. Va da s\u00e9 che, se il tuo obiettivo \u00e8 trasferire dati da un&#8217;app all&#8217;altra, devi sapere come si utilizzano le notifiche.<\/p>\n<p>Facciamo degli <strong>esempi<\/strong>. Il webhook (o notifica) \u00e8 il modo in cui:<\/p>\n<ul>\n<li><strong>PayPal<\/strong> comunica alla tua app di contabilit\u00e0 quando i tuoi clienti ti pagano;<\/li>\n<li>un modulo di <strong>WordPress<\/strong> invia le informazioni inserite direttamente dentro al tuo CRM;<\/li>\n<li><strong>WooCommerce<\/strong> pu\u00f2 avvisarti quando qualcuno mette un prodotto nel carrello all\u2019interno del tuo ecommerce.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/ifttt.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>IFTTT<\/strong><\/a> e <a href=\"https:\/\/zapier.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Zapier<\/strong><\/a> sono altre due aziende che permettono di <strong>sfruttare agevolmente le notifiche<\/strong> per interconnettere servizi per smartphone, telecamere di videosorveglianza e altre tecnologie. IFTTT, in particolare, \u00e8 accessibile anche a utenti senza le competenze tecniche di uno sviluppatore.<\/p>\n<p>Impariamo a conoscere le notifiche e facciamo parlare le tue app preferite (vai alla pagina con la <strong><a href=\"\/it\/documentazione-per-le-notifiche-di-eventi-webhooks\/\">documentazione webhook email<\/a><\/strong> di turboSMTP).<\/p>\n<h2>Introduzione alle notifiche<\/h2>\n<p>Abbiamo detto che le notifiche sono comunicazioni automatiche inviate dalle app quando succede qualcosa. Contengono un messaggio (payload) e <strong>vengono inviate a un url univoco<\/strong>, generalmente l&#8217;indirizzo dell&#8217;app.<\/p>\n<p>Infatti devi innanzitutto dire alla prima app &#8211; il tuo negozio di ecommerce, per esempio &#8211; <strong>l&#8217;url della notifica dell&#8217;app che necessita dei dati<\/strong>. In questo caso potrebbe trattarsi della compilazione automatica dell\u2019ordine di acquisto.<\/p>\n<p><strong>Supponi di voler fare una fattura per un nuovo ordine<\/strong>. Devi prima aprire l&#8217;app per le fatture, creare un modello e copiare l&#8217;url della notifica. Quindi apri l&#8217;app del tuo negozio ecommerce e aggiungi l\u2019indirizzo alle impostazioni della notifica. Se un&#8217;altra app esegue il ping di questo url (o se lo inserisci nella barra degli indirizzi del browser), la prima app ne prender\u00e0 nota.<\/p>\n<h2>Differenze tra notifiche (webhook) e API<\/h2>\n<p>La differenza principale tra webhook e API \u00e8 sottile, poich\u00e9 entrambi i servizi servono a spostare i dati tra le tue app. <strong>Con le API ottieni i dati dal provider, mentre le notifiche consentono al provider di inviarti i dati<\/strong>.<\/p>\n<p>Il vantaggio delle notifiche rispetto alle API sta proprio qui. <strong>Gli aggiornamenti vengono comunicati in tempo reale<\/strong> attraverso il provider, senza che sia necessario passare da una richiesta al fornitore del servizio.<\/p>\n<p><strong>La tempestivit\u00e0 degli aggiornamenti \u00e8 un fattore rilevante<\/strong> perch\u00e9 le nostre app sono sempre pi\u00f9 integrate con i servizi di terze parti. La possibilit\u00e0 di prendere decisioni \u00e8 quindi strettamente legata alla disponibilit\u00e0 di dati aggiornati.<\/p>\n<h2>Invio dei dati<\/h2>\n<p>Il <strong>primo passo<\/strong> per utilizzare una notifica \u00e8 <strong>fornire al provider una url a cui inviare le richieste<\/strong>. Ci\u00f2 viene spesso eseguito tramite un pannello back end o un&#8217;API. Ci\u00f2 significa che devi anche impostare un url nella tua app che sia direttamente accessibile dal web.<\/p>\n<p>La maggior parte delle notifiche<strong> ti invier\u00e0 i dati in formato JSON<\/strong>. Il tuo provider ti dir\u00e0 come questo viene consegnato o addirittura ti dar\u00e0 la possibilit\u00e0 di scegliere. Possono esserci infatti ulteriori metodi a disposizione (es. file XML), ma sono comunque abbastanza facili da gestire e la maggior parte dei framework far\u00e0 il lavoro per te.<\/p>\n<h2>Debug di una notifica o webhook<\/h2>\n<p>Il debug di una notifica, ossia la correzione di eventuali errori, \u00e8 un affare complesso che pu\u00f2 essere facilitato da alcuni strumenti:<\/p>\n<ul>\n<li>usa <a href=\"https:\/\/requestbin.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">RequestBin<\/a> per verificare le richieste HTTP in arrivo da qualunque fonte e ispezionare header e payload;<\/li>\n<li>simula le richieste usando piattaforme come <a href=\"https:\/\/curl.haxx.se\/\" target=\"_blank\" rel=\"noopener noreferrer\">curl<\/a> o <a href=\"http:\/\/getpostman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Postman<\/a>;<\/li>\n<li>testa il codice sulla tua macchina usando uno strumento come <a href=\"https:\/\/ngrok.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a>;<\/li>\n<li>visualizza l&#8217;intero processo usando con <a href=\"https:\/\/www.runscope.com\/provider-guide\/troubleshooting-webhooks\" target=\"_blank\" rel=\"noopener noreferrer\">Runscope<\/a>.<\/li>\n<\/ul>\n<h2>Sicurezza delle notifiche webhook<\/h2>\n<p>Le notifiche (o webhook) forniscono dati di <strong>url accessibili al pubblico<\/strong>. Ci\u00f2 significa che chiunque sia su internet pu\u00f2 inviare richieste HTTP al proprio endpoint. Fortunatamente, esistono diversi modi per <strong>proteggere dati ed endpoint<\/strong>:<\/p>\n<ul>\n<li>usa il <strong>criptaggio HTTPS<\/strong>. I dati cos\u00ec inviati e ricevuti vengono crittografati prima di essere inviati su internet e de-crittografati solo dalla parte ricevente. Nessuno in mezzo al processo pu\u00f2 curiosare su ci\u00f2 che stai inviando;<\/li>\n<li><strong>scegli un segreto<\/strong>. La maggior parte dei provider di notifiche, <a href=\"https:\/\/developer.github.com\/webhooks\/securing\/#setting-your-secret-token\" target=\"_blank\" rel=\"noopener noreferrer\">Github<\/a> per esempio, consente di trasmettere un \u201csegreto\u201d. Potrebbe trattarsi di un campo del payload JSON da inserire, oppure un token per ogni richiesta di webhook;<\/li>\n<li><strong>Accetta solo richieste firmate<\/strong>. Se utilizzi un firewall per accedere all&#8217;endpoint o sei in grado di limitare il traffico HTTP da indirizzi IP specifici, puoi anche filtrare gli IP che possono inviare i dati dell&#8217;endpoint. Questa soluzione \u00e8 per\u00f2 piuttosto complessa.<\/li>\n<\/ul>\n<h2>Limiti dell\u2019uso delle notifiche<\/h2>\n<p>La velocit\u00e0 e praticit\u00e0 delle notifiche non dovrebbe convincerti a ignorare le API. <strong>Se la tua app ha un certo livello di complessit\u00e0<\/strong>, infatti, <strong>ti conviene usare entrambe le soluzioni<\/strong>. Le notifiche scontano alcuni limiti intrinseci alle proprie funzionalit\u00e0:<\/p>\n<ul>\n<li>le notifiche non sono previste da tutti i servizi sul web;<\/li>\n<li>se le <strong>statistiche generali<\/strong> ti interessano pi\u00f9 dei singoli eventi, una sola richiesta all\u2019API della tua app \u00e8 la cosa pi\u00f9 semplice;<\/li>\n<li>se vuoi <strong>impostare un\u2019azione automatica<\/strong> a seguito di una notifica ricevuta, hai bisogno di un&#8217;API;<\/li>\n<li><strong>le notifiche consistono in messaggi brevi<\/strong>, per esempio \u201cl&#8217;utente X ha fatto l\u2019azione Y\u201d, ma privi di metadati riguardo all\u2019utente o all\u2019azione che ha intrapreso. Per esempio, vorresti sapere se l\u2019utente che ha aggiunto un oggetto nel carrello ha gi\u00e0 impostato un metodo di pagamento valido; questo puoi saperlo attraverso un\u2019API.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Le notifiche di eventi (in inglese \u201cwebhook\u201d) sono un modo semplice in cui i tuoi account online possono &#8220;parlarsi&#8221; tra loro e scambiarsi informazioni quando ha luogo un evento prestabilito. Questo avviene avvalendosi di applicativi forniti da terze parti. In presenza di una notifica, che va creata di volta in volta, le app possono inviarsi &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Che cosa sono le notifiche di eventi o webhook?\" class=\"read-more button\" href=\"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/#more-5744\" aria-label=\"Per saperne di pi\u00f9 su Che cosa sono le notifiche di eventi o webhook?\">Discover more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-5744","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Che cosa sono le notifiche di eventi o webhook? - Server Mail SMTP - Provider di servizi SMTP professionali<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minuti\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Che cosa sono le notifiche di eventi o webhook? - Server Mail SMTP - Provider di servizi SMTP professionali","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/","twitter_misc":{"Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/","url":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/","name":"Che cosa sono le notifiche di eventi o webhook? - Server Mail SMTP - Provider di servizi SMTP professionali","isPartOf":{"@id":"https:\/\/serversmtp.com\/it\/#website"},"datePublished":"2019-12-30T14:26:05+00:00","dateModified":"2022-02-11T08:35:40+00:00","breadcrumb":{"@id":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/serversmtp.com\/it\/che-cosa-sono-le-notifiche-di-eventi-o-webhook\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serversmtp.com\/it\/"},{"@type":"ListItem","position":2,"name":"Che cosa sono le notifiche di eventi o webhook?"}]},{"@type":"WebSite","@id":"https:\/\/serversmtp.com\/it\/#website","url":"https:\/\/serversmtp.com\/it\/","name":"Server Mail SMTP - Provider di servizi SMTP professionali","description":"Server Mail SMTP - Provider di servizi SMTP professionali","publisher":{"@id":"https:\/\/serversmtp.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serversmtp.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/serversmtp.com\/it\/#organization","name":"Delivery Tech","url":"https:\/\/serversmtp.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/serversmtp.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/serversmtp.com\/wp-content\/uploads\/2021\/11\/og-image-2.jpg","contentUrl":"https:\/\/serversmtp.com\/wp-content\/uploads\/2021\/11\/og-image-2.jpg","width":1200,"height":1128,"caption":"Delivery Tech"},"image":{"@id":"https:\/\/serversmtp.com\/it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/pages\/5744"}],"collection":[{"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/comments?post=5744"}],"version-history":[{"count":7,"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/pages\/5744\/revisions"}],"predecessor-version":[{"id":5927,"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/pages\/5744\/revisions\/5927"}],"wp:attachment":[{"href":"https:\/\/serversmtp.com\/it\/wp-json\/wp\/v2\/media?parent=5744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}