Référence de l’API
Groupes de contacts
Regrouper des contacts et envoyer des diffusions de groupe.
/v1/contact-groupsLister les groupes de contacts
contact_groups:rNécessite contact_groups:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
limitrequête | integer |
|
offsetrequête | integer |
|
searchrequête | string | Filtrer par nom de groupe (insensible à la casse, correspondance partielle) |
Réponses
200Une page de groupes, du plus récent au plus ancien, chacun avec ses membres.
Champ Type Description totalobligatoireinteger Nombre total d’enregistrements correspondants.
limitobligatoireinteger offsetobligatoireinteger data[]obligatoireobject[] idobligatoirestring nameobligatoirestring descriptionobligatoirestring - Peut être null
member_countobligatoireinteger members[]obligatoireobject[] idobligatoirestring L’identifiant du contact.
phone_numberobligatoirestring - Peut être null
nameobligatoirestring - Peut être null
created_atobligatoirestring - Format : date-time
updated_atobligatoirestring - Format : date-time
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 422VALIDATION_ERROR : la requête n’a pas passé la validation ; details indique les champs en cause.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl https://api.honkio.ca/v1/contact-groups \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/contact-groupsCréer un groupe de contacts
contact_groups:wNécessite contact_groups:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
nameobligatoire | string |
|
description | string |
|
Réponses
201Le groupe.
Champ Type Description idobligatoirestring nameobligatoirestring descriptionobligatoirestring - Peut être null
member_countobligatoireinteger members[]obligatoireobject[] idobligatoirestring L’identifiant du contact.
phone_numberobligatoirestring - Peut être null
nameobligatoirestring - Peut être null
created_atobligatoirestring - Format : date-time
updated_atobligatoirestring - Format : date-time
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 409CONTACT_GROUP_ALREADY_EXISTS : ce nom est déjà utilisé.Le corps d’erreur standard.
- 422VALIDATION_ERROR : la requête n’a pas passé la validation ; details indique les champs en cause.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/contact-groups \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "..."
}'/v1/contact-groups/{id}Obtenir un groupe de contacts avec ses membres
contact_groups:rNécessite contact_groups:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200Le groupe, avec ses membres.
Champ Type Description idobligatoirestring nameobligatoirestring descriptionobligatoirestring - Peut être null
member_countobligatoireinteger members[]obligatoireobject[] idobligatoirestring L’identifiant du contact.
phone_numberobligatoirestring - Peut être null
nameobligatoirestring - Peut être null
created_atobligatoirestring - Format : date-time
updated_atobligatoirestring - Format : date-time
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403La clé API ne dispose pas de la permission requise pour cette opération, ou le compte est suspendu ou fermé.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl https://api.honkio.ca/v1/contact-groups/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/contact-groups/{id}Mettre à jour un groupe de contacts
contact_groups:mNécessite contact_groups:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
name | string |
|
description | string |
|
Réponses
200Le groupe mis à jour.
Champ Type Description idobligatoirestring nameobligatoirestring descriptionobligatoirestring - Peut être null
member_countobligatoireinteger members[]obligatoireobject[] idobligatoirestring L’identifiant du contact.
phone_numberobligatoirestring - Peut être null
nameobligatoirestring - Peut être null
created_atobligatoirestring - Format : date-time
updated_atobligatoirestring - Format : date-time
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403LIVE_KEY_REQUIRED lorsqu’une clé de test tente de modifier un élément référencé par la liste d’autorisation ou de blocage d’une clé de production. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND.Le corps d’erreur standard.
- 409CONTACT_GROUP_ALREADY_EXISTS : ce nom est déjà utilisé.Le corps d’erreur standard.
- 422VALIDATION_ERROR : la requête n’a pas passé la validation ; details indique les champs en cause.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X PATCH https://api.honkio.ca/v1/contact-groups/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Patients due for a recall visit"
}'/v1/contact-groups/{id}Supprimer un groupe de contacts
contact_groups:dNécessite contact_groups:d.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
- 204Supprimé. Ses contacts sont conservés.
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403LIVE_KEY_REQUIRED lorsqu’une clé de test tente de modifier un élément référencé par la liste d’autorisation ou de blocage d’une clé de production ; KEY_FENCED lorsque la modification assouplirait les restrictions d’autorisation et de blocage de la clé appelante elle-même. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X DELETE https://api.honkio.ca/v1/contact-groups/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/contact-groups/{id}/membersAjouter un membre à un groupe de contacts
contact_groups:mFournissez soit contact_id (fiche Contact existante), soit phone_number (créé automatiquement s’il n’existe pas).
Nécessite contact_groups:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
contact_id | string | |
phone_number | string |
Réponses
201Le membre ajouté.
Champ Type Description idobligatoirestring L’identifiant du contact.
phone_numberobligatoirestring nameobligatoirestring - Peut être null
added_atobligatoirestring - Format : date-time
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403LIVE_KEY_REQUIRED lorsqu’une clé de test tente de modifier un élément référencé par la liste d’autorisation ou de blocage d’une clé de production ; KEY_FENCED lorsque la modification assouplirait les restrictions d’autorisation et de blocage de la clé appelante elle-même. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND ou CONTACT_NOT_FOUND.Le corps d’erreur standard.
- 409CONTACT_GROUP_MEMBER_EXISTS.Le corps d’erreur standard.
- 422VALIDATION_ERROR (ni contact_id ni phone_number), INVALID_PHONE_NUMBER ou CONTACT_HAS_NO_PHONE (le contact n’a pas de numéro de téléphone).Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/contact-groups/ID/members \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "CONTACT_ID"
}'/v1/contact-groups/{id}/members/{contactId}Retirer un membre d’un groupe de contacts
contact_groups:mNécessite contact_groups:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
contactIdobligatoirechemin | string |
Réponses
- 204Retiré du groupe. Le contact est conservé.
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402Le compte n’a aucun solde, ou une clé LIVE a été utilisée avant la première recharge.Le corps d’erreur standard.
- 403LIVE_KEY_REQUIRED lorsqu’une clé de test tente de modifier un élément référencé par la liste d’autorisation ou de blocage d’une clé de production ; KEY_FENCED lorsque la modification assouplirait les restrictions d’autorisation et de blocage de la clé appelante elle-même. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND ou CONTACT_GROUP_MEMBER_NOT_FOUND.Le corps d’erreur standard.
- 429Limite de débit atteinte : 100 requêtes par seconde et par compte, ou une limite propre à la route (Retry-After est défini le cas échéant).Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X DELETE https://api.honkio.ca/v1/contact-groups/ID/members/CONTACT_ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/contact-groups/{id}/messagesEnvoyer un SMS à tous les membres d’un groupe de contacts
messages:wRépond toujours 207, que le message ait été envoyé à tous les membres ou que tous aient échoué : vérifiez chaque entrée de results plutôt que le statut HTTP. Chaque résultat indique le numéro to du membre. Une diffusion réelle répétée avec la même Idempotency-Key dans les 24 heures renvoie le 207 enregistré de la première tentative, sans refaire les vérifications portant sur l’ensemble du groupe ni utiliser un autre créneau de diffusion quotidien. Une nouvelle tentative ultérieure avec cette clé refait les vérifications (et peut utiliser un créneau), mais n’envoie jamais de nouveau message à un membre déjà joint par la première tentative.
Nécessite messages:w.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
Idempotency-Keyen-tête | string |
|
Corps de la requête
| Champ | Type | Description |
|---|---|---|
fromobligatoire | string | Numéro d’envoi (E.164, doit appartenir au compte) |
bodyobligatoire | string | Jusqu’à 1 600 caractères et 10 parties SMS. Un corps plus long est refusé avec 422 MESSAGE_TOO_LONG avant qu’un seul membre ne reçoive de message.
|
skip_consent_check | boolean |
Réponses
207Toujours 207 : vérifiez chaque résultat, pas le statut. Une diffusion réelle répétée avec la même Idempotency-Key dans les 24 heures renvoie le résultat enregistré de la première tentative.
Champ Type Description group_idobligatoirestring sent_toobligatoireinteger Membres qui n’ont pas échoué.
failedobligatoireinteger results[]obligatoireobject[] toobligatoirestring Le numéro du membre.
statusobligatoirestring En minuscules : le statut du message (queued, sent, delivered, etc.), ou failed.
message_idstring Absent lorsque l’envoi au membre a échoué avant qu’un message soit créé.
errorstring Un code d’erreur : la raison de l’échec pour ce membre, ou le error_code du message lui-même.
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402INSUFFICIENT_BALANCE : le solde ne couvre pas l’envoi. Aussi PAYMENT_REQUIRED lorsqu’une clé de production est utilisée avant la première recharge.Le corps d’erreur standard.
- 403FORBIDDEN (skip_consent_check avec une clé de production, ou la clé n’a pas l’autorisation messages:w), ACCOUNT_NOT_VERIFIED ou SENDING_PAUSED.Le corps d’erreur standard.
- 404CONTACT_GROUP_NOT_FOUND.Le corps d’erreur standard.
- 422VALIDATION_ERROR, BROADCAST_TOO_LARGE, MESSAGE_TOO_LONG ou LINK_SHORTENER_BLOCKED.Le corps d’erreur standard.
- 429BROADCAST_LIMIT_REACHED, DAILY_LIMIT_REACHED, FANOUT_LIMIT_REACHED ou RECIPIENT_RATE_LIMITED, ou RATE_LIMITED au-delà de 100 requêtes par seconde.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/contact-groups/ID/messages \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "+1416XXXXXXX",
"body": "Hello from HonkIO!"
}'
HonkIO