Passer au contenu principal
Webhooks

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

Quentin avatar
Écrit par Quentin
Mis à jour il y a plus d'un an

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” puis “Portail développeurs”. Ensuite, cliquez sur “Webhooks”.

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. Puis finaliser la configuration sur Sellsy.

Créer l’url du Webhook Slack

Connectez-vous à votre compte Slack. Accédez à l’adresse suivante : https://my.slack.com/services/new/incoming-webhook/

Vous allez être redirigé vers une URL du type https://votre_pseudo.slack.com/apps/new/XXXXXXXX-incoming-webhooks

Choisissez un channel par défaut (cette valeur est obligatoire pour valider l’ajout sur Slack, mais elle sera surchargée sur Sellsy).

Ex : 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. Activer le webhook (cochez la case en face de “Webhook Actif ?”).

  4. Sélectionner 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 JSON 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.

mail('johndoe@domain.com', 'Sellsy Webhook Test', print_r(json_decode($_POST['notif']), true));

JSON envoyé par le webhoock :

stdClass Object

(

[timestamp] => 1489139743 ## event timestamp

[eventType] => thirdLog ## event type (thirdLog, itemLog, documentLog...)

[event] => created ## event (created, updated, deleted...)

[ownerid] => 189 ## user id who triggered the action

[ownertype] => staff ## user type who triggered the action [staff, thirdcontact]

[relatedtype] => third ## object type, eg invoice, opportunity

[relatedid] => 980614 ## object id

[corpid] => 43 ## account id

)

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

];

Pour aller plus loin

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