Webhookit ovat automatisoituja viestejä, joita lähetetään, kun käyttäjä tekee jonkin toimen Manu Onlinessa. Tietoja lähetetään määritettyyn osoitteeseen. Vastaanottavan palvelimen pitää ”kuunnella” onko viestejä tulossa eli sitä kutsutaan nimellä ”listener”. Tietoja voi Manu Onlinesta hakea myös API:n kautta, mutta webhookin käytössä on se huomattava etu, että virhetilanteista tulee käyttäjälle välitön palaute ja siirtoa voi kokeilla uudeelleen. Voit lukea wikipediasta tarkemmin webhook -teknologiasta
Webhookit ovat käytössä omissa sovelluksissa eli ns. private app järjestelmissä. Luonti tapahtuu käyttäen meidän API työkaluja. Vastaanottava eli ’listener’ puoli pystyy varmistamaan, että tieto tulee oikeasta lähteestä eli esimerkiksi Manu Online – tililtä.
Huomaa, jos käytät Zapieria siinä integraatiomme hyödyntää webhookkia myös. Niitä ei ole näkyvissä, mutta käyttäjä saattaa saada webhook virheitä, jos vaikka Zapier- tilisi ei ole enää voimassa.
Webhookin luonti edellyttää, että ensin on luotu oma sovellus, Private application. Mene sitten Hallinto – Integraatiot – Webhookit. Nimeä se ja valitse sovellustunnus. Voit laittaa jonkin kuvaavan kommentin. Syötä oikea url -osoite ja valitse webhook – tyyppi. Lopuksi varmista, että valintaruutu Aktiivinen on merkitty.
Seuraavat Manu Onlinessa tehtävät toimet voidaan valita käynnistämään webhookin:
Webhookin tyyppi | Käynnistävä toimi |
---|---|
Sopimus/Aktivointi | Sopimuksen aktivointi |
Nimike/Tallenna | Nimikkeen tallennus |
Kumppani/Tallenna | Kumppanin tallennus |
Keruulista/Luonti | Työerän keruulistan luonti |
Ostotilaus/Aktivointi | Ostotilauksen aktivointi |
Myyntitilaus/Aktivointi | Myyntitilauksen aktivointi |
Sarjanumero/Tallenna | Sarjanumeron luonti työerässä, sarjanumerotiedon tallennus, sarjanumeroidun nimikkeen toimitus. |
Myyntilasku | Myyntilaskun aktivointi |
Ostolasku | Ostolaskun aktivointi |
Myynnin toimitus/Aktivointi | Myyntitilauksen toimituksen aktivointi |
Myynnin toimitus/Lähetä | Adds button for sending message of dispatch under construction when this webhook is created |
Kumppani API/Post | Luodaan uusi kumppani APIa käyttäen |
Vastaanotto/Lähetä | Adds button for sending message of receipt under construction when this webhook is created |
Kaikista webhookeista talletetaan lokitietoa Jos webhookin vastaanottava puoli palauttaa muun html -koodin kuin 200, se kirjataan lokiin virheeksi.
Webhookien loki -välilehdeltä näet lokitiedot. Oletuksena on, että vain virheilmoitukset näytetään. Valintaruudun merkitsemällä saa esiin myös onnistuneet tapahtumat.
class Program { static void Main(string[] args) { var secret = ""; //the value should be your ClientSecret1 var md5 = ""; var payload = ""; //replace it with the body of webhook request if (md5 == GenerateVerifyCodeWithPayload(secret, payload)) Console.WriteLine("Signature is correct"); else Console.WriteLine("Invalid Signature"); Console.ReadKey(); } private static string GenerateVerifyCodeWithPayload(string accountKey, string payload) { string source = payload + accountKey; return new MD5Encryptor().MD5(source, MD5Encryptor.MD5Type.bytes32); } } public class MD5Encryptor { public enum MD5Type{ bytes16 = 0, bytes32 = 1 } public string MD5(string strSource, MD5Type type) { byte[] dataToHash = (new ASCIIEncoding()).GetBytes(strSource); HashAlgorithm algorithm = (HashAlgorithm)CryptoConfig.CreateFromName("MD5"); byte[] hashvalue = algorithm.ComputeHash(dataToHash); var i = 0; string rs = ""; switch (type) { case MD5Type.bytes16: for (i = 4; i <= 11; i++){ rs += String.Format("{0:X}", hashvalue[i]).PadLeft(2, '0').ToLower(); } break; default: for (i = 0; i <= 15; i++){ rs += String.Format("{0:X}", hashvalue[i]).PadLeft(2, '0').ToLower(); } break; } return rs; } }
ALV-rekisteri: FI10148594
United Kingdom
Manu Online Ltd
4500 Parkway, Whiteley
Fareham
PO15 7AZ
International
Manu Online Oy
Veikkointie 4
03100 Nummela
Suomi