HireHop peut envoyer un message avec des données à d’autres applications lorsque certains événements sont déclenchés dans HireHop. Ce message s’appelle un webhook qui envoie automatiquement les données pertinentes à l’emplacement requis.

webhooksQu’est-ce qu’un webhook ?

Un webhook envoie/pousse un message, avec des données jointes au message, lorsque des choses spécifiques se produisent dans HireHop (un événement). Les webhooks sont envoyés via HTTP (appelle une adresse Web) et sont un moyen de transmettre des données à d’autres applications en temps réel. Les webhooks fournissent les données pertinentes à des applications spécifiques au fur et à mesure, ce qui signifie que l’application réceptrice obtient les données immédiatement après l’événement, ce qui est beaucoup plus efficace et plus rapide que l’interrogation des modifications de données.

Les webhooks HireHop peuvent être utilisés pour communiquer directement avec d’autres applications ou être envoyés à un connecteur comme Zapier, qui peut être fait pour formater les données et effectuer tous les appels d’API nécessaires vers HireHop ou vers une autre application.

Mise en place d’un webhook

Dans HireHop, allez dans « Paramètres » puis cliquez sur l’onglet « Paramètres de l’entreprise » et le bouton « Webhooks » en haut de la page. Dans la fenêtre contextuelle, cliquez sur le bouton « Nouveau » et ajoutez l’URL à laquelle le message du webhook doit être envoyé et sélectionnez chaque webhook auquel vous souhaitez que l’URL réponde. Vous pouvez ajouter autant de webhooks que vous le souhaitez, mais vous devez les limiter uniquement à ceux nécessaires auxquels l’URL spécifique répondra.

Un webhook HireHop publiera les données sur votre point de terminaison URL au format JSON et contiendra les données suivantes ou similaires.

{
    "time": "2022-03-29 07:50:42",
    "user_id": 1,
    "user_name": "John Smith",
    "user_email": "john@email.com",
    "company_id": 1,
    "export_key": "22u43mrjwe7u",
    "event": "invoice.status.updated",
    "data": { ... },
    "changes": {
        "FIELD_NAME": {
            "from": "vieille",
            "to": "nouveau"
        }, ...
    }
}

Dans l’exemple JSON ci-dessus, les champs suivants sont :

  • « time » est l’heure UTC et la date à laquelle le webhook a été envoyé.
  • « user_id » est l’ID de l’utilisateur qui a provoqué le déclenchement de l’événement.
  • « user_name » est leur nom d’utilisateur.
  • « company_id » est l’identifiant unique de l’entreprise pour laquelle l’utilisateur travaille.
  • « export_key » est la valeur de la clé d’exportation dans les paramètres de l’entreprise qui peut être utilisée comme contrôle de sécurité.
  • « event » est le nom de l’événement webhook qui a été déclenché.
  • « data » correspond aux données relatives à l’événement webhook.
  • « changes » sont les champs qui ont changé, étant ce qu’ils étaient par rapport à ce qu’ils ont été modifiés.

HireHop n’attendra pas de réponse de l’URL appelée ni ne signalera une erreur HTTP en l’appelant.

Exemple de code PHP pour un point de terminaison d’URL pour capturer les données du webhook :

<?php
	// Lire les données JSON
	$postdata = file_get_contents('php://input');
	// Convertir des données JSON en objet
	$data_str = json_decode($postdata);
?>

 

Posted in API