Webhooks

Dans certains cas, il est utile que votre application soit informée des modifications apportées à une ressource plutôt que de le demander directement à l'API. Utilisez les webhooks pour suivre les changements d'état d'un Concierge, ou la déconnexion du Concierge.

Dans les paramètres de l'application que vous créez, vous pouvez spécifier une URL de webhook, c'est l'URL sur laquelle votre serveur recevra des demandes POST concernant les changements d'état des ressources susceptibles de vous intéresser.

Les Webhooks envoyés à partir des serveurs de Concierge suivront un format standard afin que votre application puisse facilement les intégrer. Voici les paramètres POST qui peuvent être attendus avec chaque demande POST reçue.


Exemple de requête

{
"event_id": "4a3f3da4-14ac-4056-bbf2-d0b9cdcb2777",
"event_time": 1427347990,
"event_type": "concierge_active",
"event_device_id": "6a2f3da4-14ac-4056-bbf2-d0b9cdcb0777"
}

Nom Type Description
event_id string Identificateur d'événement unique, qui peut être utilisé pour s'assurer que les événements ne sont consumés qu'une seule fois.
event_time integer Unix timestamp du moment où l'événement s'est produit
event_type string Le type d'événement qui s'est produit
event_device_id string Identifiant de l'élément qui est concerné par l'événement

Liste des évènements


Nom Description
concierge_connected Connexion du concierge
concierge_disconnected Déconnexion du concierge
concierge_active Activation du concierge (mode absent)
concierge_inactive Désactivation du concierge (mode présent)
concierge_service_request Réception d'une demande de service (double appui)
concierge_deleted Suppression du concierge par l'utilisateur


Sécurité

Les messages Webhook sont signés afin que votre application puisse vérifier que l'expéditeur est bien Concierge.

Les requêtes Webhooks contiennent un en-tête X-Concierge-Signature. La valeur de ce champ est une signature hexadécimale HMAC du corps de demande HTTP webhook, en utilisant le secret client comme clé et SHA256 comme fonction hash.

Python Example

        digester = hmac.new(client_secret, webhook_body, hashlib.sha256)
return digester.hexdigest()

Headers

L'API Concierge va insérer des en-têtes spécialisés pour toutes les demandes faites sur votre URL de webhook pour aider votre application à les utiliser de manière appropriée.

X-Concierge-Signature
SHA256 hash du corps de la requête, en utilisant le secret client comme clé.
Paramètre Description
X-Concierge-Signature SHA256 hash du corps de la requête, en utilisant le secret client comme clé.