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 :
CrĂ©er lâurl du webhook sur Slack,
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). 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
Vous devez ajouter lâURL vers votre script dans la section nommĂ©e : Configurer le webhook.
Puis âEndpoint personnalisĂ©â.
Activez le webhook (cochez la case en face de âWebhook Actif ?â).
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 :
Documentation technique générale : https://en.wikipedia.org/wiki/Webhook (en anglais)
Documentation Slack Incoming Webhooks : https://api.slack.com/incoming-webhooks
Article sur l'API Sellsy : API V2



