Passer au contenu principal

Webhooks

Optimisez la liaison avec vos solutions en déclenchant l'envoi d'informations de Sellsy vers une URL.

Mis Ă  jour cette semaine

Sellsy propose un systĂšme de webhook pour optimiser la liaison avec vos solutions.

Lors d’un Ă©vĂšnement cĂŽtĂ© Sellsy (crĂ©ation client, mise Ă  jour document) nous vous donnons la possibilitĂ© de dĂ©clencher l’envoi d’information de Sellsy vers une URL Ă  configurer par vos soins (Ă  vous de traiter ces donnĂ©es Ă  rĂ©ception).

Actuellement, 2 types de webhooks existent via Sellsy :

  • Webhook Slack,

  • Webhook HTTP.


Qui doit mettre en place le webhook sur Sellsy

Seul un administrateur du compte Sellsy peut configurer les webhooks. Il s’agit de manipulations sensibles, tant d’un point de vue technique, que sur le plan de la confidentialitĂ© des donnĂ©es.


Configuration du webhook sur Sellsy

Rendez-vous dans "Menu" > "RĂ©glages" > "Portail dĂ©veloppeurs" et cliquez sur “Webhooks”.

Ensuite, choisissez le webhook Ă  configurer.


Configurer un webhook Slack

La configuration sur Slack demande aussi d’ĂȘtre administrateur du compte Slack.

Vous devez :

  1. CrĂ©er l’url du webhook sur Slack,

  2. Finaliser la configuration sur Sellsy.


CrĂ©er l’url du Webhook Slack

  • Choisissez un channel par dĂ©faut (cette valeur est obligatoire pour valider l’ajout sur Slack, mais elle sera surchargĂ©e sur Sellsy). Exemple : channel “#general” ci-dessous.

  • Cliquez sur “Add Incoming WehHooks integration”.

  • Vous allez ensuite obtenir le “Webhook URL” Ă  utiliser sur Sellsy.

Bon Ă  savoir : vous retrouverez la documentation technique sur le webhook Slack ici.


Finaliser la configuration Slack sur Sellsy

  • Copiez le “Webhook URL” rĂ©cupĂ©rĂ© Ă  l’étape prĂ©cĂ©dente puis collez-le sur Sellsy (champ nommĂ© “Endpoint Slack”).

  • Inscrivez le nom channel Slack par dĂ©faut (qui va surcharger la valeur de l’étape ci-dessus).

  • Choisissez ensuite d’activer ou non l’envoi des donnĂ©es sur Slack.

  • Concernant les informations envoyĂ©es au Webhook, vous pouvez choisir un “Channel” propre Ă  chaque action.


Webhook HTTP

  1. Vous devez ajouter l’URL vers votre script dans la section nommĂ©e : Configurer le webhook.

  2. Puis “Endpoint personnalisĂ©â€.

  3. Activez le webhook (cochez la case en face de “Webhook Actif ?”).

  4. Sélectionnez les actions sur lesquelles vous souhaitez obtenir un retour via le webhook.

Informations utiles sur le format de retour du webhook :

  • Un exemple vous permettant de rĂ©cupĂ©rer le contenu POST envoyĂ© par le webhook en PHP,

  • Le contenu du “form-urlencoded” envoyĂ© par le webhook,

  • La liste des types d’objets renvoyĂ© (relatedtype),

  • Le webhook n’attends pas de rĂ©ponse,

  • Le webhook ne gĂšre pas les erreurs.

Options avancées

  • Signature des webhooks.

Les webhooks sont signés afin de garantir leur intégrité.

Un en-tĂȘte HTTP X-Webhook-Signature est ajoutĂ© Ă  chaque requĂȘte, contenant la valeur suivante : `SHA1(SIGN_KEY + WEBHOOK_BODY)`

La clé de signature (`SIGN_KEY`) est disponible et personnalisable depuis le formulaire de création du webhook.

  • Exemple en php

<?php 

// Corps brut de la requĂȘte (body reçu tel quel)

$body = file_get_contents('php://input');

// Signature calculée

$expectedSignature = sha1('ma_clé_secrÚte' . $body);

// Vérification

$webhookIsValid = hash_equals($expectedSignature, $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'])

​

Liste des objets (related types) :
​

$related = [

'staff', ## staff member

'third', ## company: client,prospect,supplier

'people', ## contact

'item', ## catalog item or service

'import', ## import

'purinvoice', ## purchase supplier invoice

'purdeliery', ## purchase supplier delivery

'purorder', ## purchase supplier order

'purcredinote', ## purchase supplier credit note

'timetracking', ## timetracking entry

'opportunity', ## prospection opportunity

'ticket', ## support ticket

'project', ## project

'expense', ## expense

'rent', ## rental : rent or book

'campaignemail', ## email marketing campaing

'campaignsms', ## sms marketing campaign

'proptemplate', ## proposale template

'propdocument', ## proposal

'estimate', ## sale estimate

'invoice', ## sale invoice

'delivery', ## sale delivery

'order', ## sale order

'proforma', ## sale proforma invoice

'model' ## sale model

];


Ressources complémentaires

Pour en savoir plus sur les webhooks :

Avez-vous trouvé la réponse à votre question ?