Référence de l’API
Comptes
Gestion du compte et clés API.
/v1/accounts/{id}Obtenir les détails du compte
account:rNécessite account:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200Le compte avec ses clés API actives.
Champ Type Description accountobligatoireobject Un compte, tel que le renvoient l’inscription et PATCH /v1/accounts/{id}.
idobligatoirestring nameobligatoirestring emailobligatoirestring stripe_customer_idobligatoirestring - Peut être null
email_verified_atobligatoirestring - Format : date-time
- Peut être null
statusobligatoirestring - Une valeur parmi : PENDING_PAYMENT | ACTIVE | SUSPENDED | CLOSED
balance_centsobligatoireinteger Solde de crédit en cents CAD.
verified_phoneobligatoirestring - Peut être null
phone_verified_atobligatoirestring - Format : date-time
- Peut être null
email_undeliverableobligatoireboolean Vaut true lorsque les courriels de la plateforme envoyés à cette adresse rebondissent ou sont signalés comme pourriels.
email_undeliverable_atobligatoirestring Le rebond ou la plainte qui a rendu l’adresse injoignable.
- Format : date-time
- Peut être null
email_undeliverable_reasonobligatoirestring BOUNCE ou COMPLAINT.
- Peut être null
terms_accepted_atobligatoirestring Moment où le propriétaire a accepté les Conditions d’utilisation et la Politique de confidentialité.
- Format : date-time
- Peut être null
terms_versionobligatoirestring La version des Conditions (date de dernière mise à jour) qui a été acceptée.
- Peut être null
created_atobligatoirestring - Format : date-time
monthly_rent_centsobligatoireinteger Loyer mensuel dû pour chaque numéro non encore libéré (ACTIVE et SUSPENDED).
low_balanceobligatoireboolean Vaut true lorsque le solde créditeur ne suffirait pas à couvrir le loyer des numéros de téléphone du mois prochain. Toujours false tant que le compte est offert gratuitement.
rent_owed_centsobligatoireinteger Loyer dû (en cents CAD) pour un numéro libéré pendant sa suspension, 0 lorsque rien n’est dû. Tant que ce montant est supérieur à 0, les envois payants et les achats de numéros sont refusés avec RENT_OWED; un rechargement le paie en premier. Non appliqué tant que le compte est offert gratuitement.
phone_number_limitobligatoireinteger Nombre maximal de numéros de téléphone que ce compte peut détenir.
phone_numbers_usedobligatoireinteger Numéros actuellement détenus (ACTIVE et SUSPENDED).
email_domain_limitinteger Nombre maximal de domaines d’envoi de production que ce compte peut détenir. Présent uniquement lorsque le courriel est offert.
email_domains_usedinteger Domaines d’envoi de production détenus (tous les statuts sauf FAILED). Présent uniquement lorsque le courriel est offert.
inbound_email_daily_capinteger Nombre de courriels reçus que ce compte peut accepter par période glissante de 24 h avant que les courriels suivants soient stockés comme rejetés, sans facturation (0 = illimité) ; la valeur propre au compte, ou la valeur par défaut de la plateforme. Présent uniquement lorsque le service de courriel est offert.
inbound_email_received_24hinteger Courriels reçus comptabilisés dans le plafond ci-dessus, pour la fenêtre glissante actuelle de 24 h. Présent uniquement lorsque le service de courriel est offert.
inbound_email_daily_mb_capinteger Mo facturables de courriel reçu (les Mo entamés au-delà du premier Mo de chaque message, la part facturée au Mo) que ce compte peut accepter par fenêtre glissante de 24 h ; un message qui le dépasserait est stocké refusé (daily_mb_cap) et n’est pas facturé (0 = illimité). Le remplacement propre au compte, ou la valeur par défaut de la plateforme. Présent uniquement lorsque le service de courriel est offert.
inbound_email_mb_received_24hinteger Mo facturables comptabilisés dans le plafond en Mo ci-dessus, pour la fenêtre glissante actuelle de 24 h. Présent uniquement lorsque le service de courriel est offert.
inbound_sms_daily_capobligatoireinteger Nombre de segments SMS reçus (l’unité facturée : un long texto en compte plusieurs) que ce compte peut accepter par période glissante de 24 h avant que les SMS suivants soient stockés sans facturation et ne soient pas transmis en tant que message.received (0 = illimité) ; la valeur propre au compte, ou la valeur par défaut de la plateforme.
inbound_sms_received_24hobligatoireinteger Segments SMS reçus comptabilisés dans le plafond ci-dessus, pour la fenêtre glissante actuelle de 24 h.
api_keys[]obligatoireobject[] Les clés USER actives du compte (les clés de session du tableau de bord ne sont pas listées).
idobligatoirestring keyPrefixobligatoirestring Préfixe non secret, pour l’affichage et l’identification.
modeobligatoirestring - Une valeur parmi : LIVE | TEST
labelobligatoirestring - Peut être null
createdAtobligatoirestring - Format : date-time
lastUsedAtobligatoirestring - Format : date-time
- Peut être null
defaultDenyobligatoireboolean Présent dans GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
permissionsobligatoireobject Permissions par ressource. Chaque clé de l’objet est le nom d’une ressource ; la valeur est une chaîne de lettres désignant les opérations permises : r=lecture, w=écriture/création, m=modification/mise à jour, d=suppression. Si une ressource est absente, tout accès à celle-ci est refusé.
email_domain_idsobligatoirestring[] Les domaines de courriel à partir desquels cette clé peut envoyer (identifiants provenant de /v1/email-domains) : null en l’absence de restriction, [] lorsqu’elle n’est autorisée pour aucun domaine (ses domaines ont été supprimés). Présent dans GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
- Peut être null
oauth_grantobligatoireboolean Vaut true lorsqu’une connexion OAuth détient cette clé : elle peut être révoquée, mais pas renouvelée (409 CONFLICT, details.reason "oauth_grant"). Présent sur GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
featuresobligatoireobject Fonctionnalités de la plateforme actuellement offertes à ce compte.
emailobligatoireboolean Vaut true lorsque le produit courriel est offert ; false tant que son accès est encore restreint.
pushboolean Présent, et vaut true, lorsque le produit de notifications push est en service.
notifyboolean Présent, et vaut true, lorsque Notify (/v1/notify, /v1/recipients) est en service.
honkio_authboolean Présent, et vaut true, lorsque HonkIO Auth est offert à ce compte.
compedobligatoireobject Présent tant que HonkIO offre ce compte gratuitement : rien n’est prélevé sur le solde, qui reste tel quel. Null autrement.
- Peut être null
sinceobligatoirestring Moment où le compte est devenu gratuit.
- Format : date-time
month_cost_centsobligatoireinteger Ce que l’utilisation de ce compte a coûté à HonkIO ce mois civil (heure de l’Est), en cents CAD.
threshold_centsobligatoireinteger L’utilisation mensuelle, en cents CAD, au-delà de laquelle le propriétaire reçoit un courriel, au plus une fois par mois. L’envoi continue au-delà.
- 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.
- 403FORBIDDEN : l’identifiant n’appartient pas au compte de la clé appelante, ou la clé n’a pas l’autorisation requise par cette opération.Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}Mettre à jour le nom ou les paramètres du compte
account:mname est obligatoire : une valeur omise ou vide est refusée avec 422 VALIDATION_ERROR.
Nécessite account:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
name | string | Obligatoire.
|
Réponses
200Le compte mis à jour.
Champ Type Description idobligatoirestring nameobligatoirestring emailobligatoirestring stripe_customer_idobligatoirestring - Peut être null
email_verified_atobligatoirestring - Format : date-time
- Peut être null
statusobligatoirestring - Une valeur parmi : PENDING_PAYMENT | ACTIVE | SUSPENDED | CLOSED
balance_centsobligatoireinteger Solde de crédit en cents CAD.
verified_phoneobligatoirestring - Peut être null
phone_verified_atobligatoirestring - Format : date-time
- Peut être null
email_undeliverableobligatoireboolean Vaut true lorsque les courriels de la plateforme envoyés à cette adresse rebondissent ou sont signalés comme pourriels.
email_undeliverable_atobligatoirestring Le rebond ou la plainte qui a rendu l’adresse injoignable.
- Format : date-time
- Peut être null
email_undeliverable_reasonobligatoirestring BOUNCE ou COMPLAINT.
- Peut être null
terms_accepted_atobligatoirestring Moment où le propriétaire a accepté les Conditions d’utilisation et la Politique de confidentialité.
- Format : date-time
- Peut être null
terms_versionobligatoirestring La version des Conditions (date de dernière mise à jour) qui a été acceptée.
- Peut être null
created_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.
- 403FORBIDDEN : l’identifiant n’appartient pas au compte de la clé appelante, ou la clé n’a pas l’autorisation requise par cette opération.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/accounts/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Clinics"
}'/v1/accounts/meObtenir le compte auquel appartient la clé API
account:rRenvoie le même document que GET /v1/accounts/{id}, en déterminant le compte à partir de la clé API ; aucun identifiant n’est donc nécessaire. S’y ajoute caller : le mode de la clé qui appelle et, pour une connexion OAuth, le client auquel elle a été accordée.
Nécessite account:r.
Réponses
200Le compte auquel appartient la clé API, et qui appelle.
Champ Type Description accountobligatoireobject Un compte, tel que le renvoient l’inscription et PATCH /v1/accounts/{id}.
idobligatoirestring nameobligatoirestring emailobligatoirestring stripe_customer_idobligatoirestring - Peut être null
email_verified_atobligatoirestring - Format : date-time
- Peut être null
statusobligatoirestring - Une valeur parmi : PENDING_PAYMENT | ACTIVE | SUSPENDED | CLOSED
balance_centsobligatoireinteger Solde de crédit en cents CAD.
verified_phoneobligatoirestring - Peut être null
phone_verified_atobligatoirestring - Format : date-time
- Peut être null
email_undeliverableobligatoireboolean Vaut true lorsque les courriels de la plateforme envoyés à cette adresse rebondissent ou sont signalés comme pourriels.
email_undeliverable_atobligatoirestring Le rebond ou la plainte qui a rendu l’adresse injoignable.
- Format : date-time
- Peut être null
email_undeliverable_reasonobligatoirestring BOUNCE ou COMPLAINT.
- Peut être null
terms_accepted_atobligatoirestring Moment où le propriétaire a accepté les Conditions d’utilisation et la Politique de confidentialité.
- Format : date-time
- Peut être null
terms_versionobligatoirestring La version des Conditions (date de dernière mise à jour) qui a été acceptée.
- Peut être null
created_atobligatoirestring - Format : date-time
monthly_rent_centsobligatoireinteger Loyer mensuel dû pour chaque numéro non encore libéré (ACTIVE et SUSPENDED).
low_balanceobligatoireboolean Vaut true lorsque le solde créditeur ne suffirait pas à couvrir le loyer des numéros de téléphone du mois prochain. Toujours false tant que le compte est offert gratuitement.
rent_owed_centsobligatoireinteger Loyer dû (en cents CAD) pour un numéro libéré pendant sa suspension, 0 lorsque rien n’est dû. Tant que ce montant est supérieur à 0, les envois payants et les achats de numéros sont refusés avec RENT_OWED; un rechargement le paie en premier. Non appliqué tant que le compte est offert gratuitement.
phone_number_limitobligatoireinteger Nombre maximal de numéros de téléphone que ce compte peut détenir.
phone_numbers_usedobligatoireinteger Numéros actuellement détenus (ACTIVE et SUSPENDED).
email_domain_limitinteger Nombre maximal de domaines d’envoi de production que ce compte peut détenir. Présent uniquement lorsque le courriel est offert.
email_domains_usedinteger Domaines d’envoi de production détenus (tous les statuts sauf FAILED). Présent uniquement lorsque le courriel est offert.
inbound_email_daily_capinteger Nombre de courriels reçus que ce compte peut accepter par période glissante de 24 h avant que les courriels suivants soient stockés comme rejetés, sans facturation (0 = illimité) ; la valeur propre au compte, ou la valeur par défaut de la plateforme. Présent uniquement lorsque le service de courriel est offert.
inbound_email_received_24hinteger Courriels reçus comptabilisés dans le plafond ci-dessus, pour la fenêtre glissante actuelle de 24 h. Présent uniquement lorsque le service de courriel est offert.
inbound_email_daily_mb_capinteger Mo facturables de courriel reçu (les Mo entamés au-delà du premier Mo de chaque message, la part facturée au Mo) que ce compte peut accepter par fenêtre glissante de 24 h ; un message qui le dépasserait est stocké refusé (daily_mb_cap) et n’est pas facturé (0 = illimité). Le remplacement propre au compte, ou la valeur par défaut de la plateforme. Présent uniquement lorsque le service de courriel est offert.
inbound_email_mb_received_24hinteger Mo facturables comptabilisés dans le plafond en Mo ci-dessus, pour la fenêtre glissante actuelle de 24 h. Présent uniquement lorsque le service de courriel est offert.
inbound_sms_daily_capobligatoireinteger Nombre de segments SMS reçus (l’unité facturée : un long texto en compte plusieurs) que ce compte peut accepter par période glissante de 24 h avant que les SMS suivants soient stockés sans facturation et ne soient pas transmis en tant que message.received (0 = illimité) ; la valeur propre au compte, ou la valeur par défaut de la plateforme.
inbound_sms_received_24hobligatoireinteger Segments SMS reçus comptabilisés dans le plafond ci-dessus, pour la fenêtre glissante actuelle de 24 h.
api_keys[]obligatoireobject[] Les clés USER actives du compte (les clés de session du tableau de bord ne sont pas listées).
idobligatoirestring keyPrefixobligatoirestring Préfixe non secret, pour l’affichage et l’identification.
modeobligatoirestring - Une valeur parmi : LIVE | TEST
labelobligatoirestring - Peut être null
createdAtobligatoirestring - Format : date-time
lastUsedAtobligatoirestring - Format : date-time
- Peut être null
defaultDenyobligatoireboolean Présent dans GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
permissionsobligatoireobject Permissions par ressource. Chaque clé de l’objet est le nom d’une ressource ; la valeur est une chaîne de lettres désignant les opérations permises : r=lecture, w=écriture/création, m=modification/mise à jour, d=suppression. Si une ressource est absente, tout accès à celle-ci est refusé.
email_domain_idsobligatoirestring[] Les domaines de courriel à partir desquels cette clé peut envoyer (identifiants provenant de /v1/email-domains) : null en l’absence de restriction, [] lorsqu’elle n’est autorisée pour aucun domaine (ses domaines ont été supprimés). Présent dans GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
- Peut être null
oauth_grantobligatoireboolean Vaut true lorsqu’une connexion OAuth détient cette clé : elle peut être révoquée, mais pas renouvelée (409 CONFLICT, details.reason "oauth_grant"). Présent sur GET /v1/accounts/me et /v1/accounts/{id} ; absent de la réponse de connexion.
featuresobligatoireobject Fonctionnalités de la plateforme actuellement offertes à ce compte.
emailobligatoireboolean Vaut true lorsque le produit courriel est offert ; false tant que son accès est encore restreint.
pushboolean Présent, et vaut true, lorsque le produit de notifications push est en service.
notifyboolean Présent, et vaut true, lorsque Notify (/v1/notify, /v1/recipients) est en service.
honkio_authboolean Présent, et vaut true, lorsque HonkIO Auth est offert à ce compte.
compedobligatoireobject Présent tant que HonkIO offre ce compte gratuitement : rien n’est prélevé sur le solde, qui reste tel quel. Null autrement.
- Peut être null
sinceobligatoirestring Moment où le compte est devenu gratuit.
- Format : date-time
month_cost_centsobligatoireinteger Ce que l’utilisation de ce compte a coûté à HonkIO ce mois civil (heure de l’Est), en cents CAD.
threshold_centsobligatoireinteger L’utilisation mensuelle, en cents CAD, au-delà de laquelle le propriétaire reçoit un courriel, au plus une fois par mois. L’envoi continue au-delà.
callerobligatoireobject Qui appelle : le mode de la clé et, pour une connexion OAuth, son client.
modeobligatoirestring Le mode de la clé qui a fait cette requête. Une clé TEST est un bac à sable : rien de ce qu’elle envoie n’est transmis à un opérateur ni facturé.
- Une valeur parmi : LIVE | TEST
oauth_clientobligatoireobject Le client OAuth auquel le jeton d’accès de cette requête a été accordé ; null quand la requête utilise une clé API.
- Peut être null
idobligatoirestring L’identifiant du client : l’URL de son document de métadonnées, ou un identifiant dcr_ pour un client qui s’est inscrit lui-même.
nameobligatoirestring Le nom du client affiché sur la page de consentement quand la connexion a été approuvée.
- 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.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/me \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/topup-allowanceAllocation de recharge (plafond de solde et plafond sur 30 jours glissants)
account:rNécessite account:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200Montant qu’il est possible d’ajouter maintenant. Les montants sont en cents CAD.
Champ Type Description max_topup_now_centsobligatoireinteger La recharge la plus élevée acceptée actuellement : la plus petite des deux marges disponibles.
headroom_balance_centsobligatoireinteger Marge restante sous le plafond de solde.
headroom_30d_centsobligatoireinteger Marge restante sous le plafond glissant de 30 jours.
max_balance_centsobligatoireinteger max_30d_centsobligatoireinteger balance_centsobligatoireinteger topped_up_30d_centsobligatoireinteger - 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.
- 403FORBIDDEN : l’identifiant n’appartient pas au compte de la clé appelante, ou la clé n’a pas l’autorisation requise par cette opération.Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/ID/topup-allowance \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/usageObtenir le résumé d’utilisation d’une période de facturation
account:rNombre de messages (tous, réels et de test), coût facturé et parties SMS pour la période (par défaut, le mois civil en cours), le nombre de courriels réels de la période et leur prix en millièmes de cent CAD (emailCostMillicents) lorsque le courriel est offert, ainsi que l’état de la livraison réelle : "delivery" { liveOutbound, delivered, failed, undelivered, pending, failureRatePct } sur les messages sortants réels (réponses automatiques exclues) et "byNumber", les mêmes chiffres par numéro d’envoi, du plus actif au moins actif. Un failureRatePct en hausse signale généralement de mauvais numéros, des lignes fixes ou un script qui relance sans cesse le même destinataire ; au-delà de 10 % sur vos 50 derniers envois, vous recevez un courriel et l’événement account.delivery_warning est déclenché.
Nécessite account:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
fromrequête | string | Date de début (AAAA-MM-JJ)
|
torequête | string | Date de fin (AAAA-MM-JJ)
|
idobligatoirechemin | string |
Réponses
200Utilisation pour la période. Les noms de champs sont en camelCase, contrairement au reste de l’API.
Champ Type Description totalMessagesobligatoireinteger Tous les messages de la période, y compris les messages entrants et ceux en mode test.
testMessagesobligatoireinteger Nombre de messages, parmi totalMessages, qui étaient des simulations en mode test, sans aucuns frais.
outboundMessagesobligatoireinteger inboundMessagesobligatoireinteger liveOutboundMessagesobligatoireinteger La part LIVE de outboundMessages.
liveInboundMessagesobligatoireinteger La part LIVE de inboundMessages.
totalCostCentsobligatoireinteger Coût des messages LIVE, en cents CAD. Les courriels, les numéros de téléphone et les forfaits HonkIO Auth n’y sont pas inclus.
segmentCountobligatoireinteger Segments SMS facturés en mode LIVE.
emailsSentinteger Courriels LIVE remis au fournisseur pendant la période (envoyés, livrés, rejetés ou signalés comme pourriel). Présent uniquement lorsque le courriel est offert.
emailsReceivedinteger Courriels LIVE reçus et remis au compte pendant la période (sans ceux refusés au-delà du plafond de réception). Présent uniquement lorsque le courriel est offert.
emailCostMillicentsinteger Prix de emailsSent et emailsReceived, en millièmes de cent CAD. Présent uniquement lorsque le courriel est offert.
deliveryobligatoireobject liveOutboundobligatoireinteger deliveredobligatoireinteger failedobligatoireinteger undeliveredobligatoireinteger pendingobligatoireinteger Accepté, aucun verdict de l’opérateur pour l’instant.
failureRatePctobligatoirenumber (failed + undelivered) / liveOutbound x 100, arrondi à une décimale ; 0 en l’absence de trafic.
byNumber[]obligatoireobject[] Les mêmes statistiques de livraison par numéro d’envoi, du plus actif au moins actif.
fromobligatoirestring liveOutboundobligatoireinteger deliveredobligatoireinteger failedobligatoireinteger undeliveredobligatoireinteger failureRatePctobligatoirenumber periodobligatoireobject fromobligatoirestring - Format : date-time
toobligatoirestring Fin exclusive de la période.
- 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.
- 403FORBIDDEN : l’identifiant n’appartient pas au compte de la clé appelante, ou la clé n’a pas l’autorisation requise par cette opération.Le corps d’erreur standard.
- 422VALIDATION_ERROR : date mal formée, ou to antérieur à from.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/accounts/ID/usage \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/transactionsLister les transactions du solde (grand livre), des plus récentes aux plus anciennes
account:rTous les mouvements de solde non liés aux messages : recharges, remboursements et litiges Stripe, loyer des numéros, frais de provisionnement et suppléments de vérification, paginés du plus récent au plus ancien. Les coûts par message SMS ou courriel n’y sont PAS inclus ; consultez la liste des messages ou des courriels pour les obtenir.
Nécessite account:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
limitrequête | integer |
|
beforerequête | string | Identifiant de la plus ancienne transaction déjà consultée. Renvoie la page suivante (plus ancienne). |
idobligatoirechemin | string |
Réponses
200Registre paginé des transactions du solde
Champ Type Description transactions[]object[] idstring amount_centsinteger Valeur signée : positive = crédit, négative = débit
balance_after_centsinteger reasonstring Raison du mouvement de solde : topup, refund, dispute, phone_rent, provisioning, activation, verification et leurs annulations *_refund ; admin_adjustment pour les modifications faites par notre équipe. Les frais SMS par message n’apparaissent pas ici : ils figurent sur les messages eux-mêmes. Les corrections ponctuelles portent leurs propres raisons (inbound_backfill, overcharge_refund, sweep_reversal).
tax_centsinteger Recharges seulement, lorsque des taxes de vente ont été perçues : la TPS/TVH facturée en sus de amount_cents. amount_cents correspond toujours au crédit, avant taxes. Absent dans les autres cas.
charged_centsinteger Recharges seulement, lorsque des taxes de vente ont été perçues : le montant débité de la carte, soit amount_cents plus tax_cents. Absent dans les autres cas.
created_atstring - Format : date-time
has_moreboolean - 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.
- 404NOT_FOUND : également lorsque l’id n’est pas celui du compte de la clé appelante (404 plutôt que 403, afin de ne pas confirmer l’existence du grand livre).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/accounts/ID/transactions \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/api-keysÉmettre une nouvelle clé API
api_keys:wNécessite api_keys:w.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
X-Step-Up-Tokenen-tête | string | Un jeton obtenu par POST /v1/auth/step-up avec la portée api_keys:elevate. Nécessaire uniquement pour demander des permissions plus étendues que celles de la clé appelante, ou lorsque la clé appelante est une clé de session du tableau de bord. |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
mode | string | Par défaut, le mode de la clé appelante. Une clé de test ne peut créer que des clés de test.
|
label | string |
|
permissions | object | Permissions par ressource. Chaque clé de l’objet est le nom d’une ressource ; la valeur est une chaîne des opérations permises : r=lecture, w=écriture, m=modification, d=suppression. Omettez une ressource pour en refuser tout accès. Exemple : { "messages": "rw", "contacts": "r" }. Si ce champ est omis, la nouvelle clé reçoit les permissions de la clé appelante. Une clé ne peut accorder que les permissions qu’elle détient elle-même, sauf si la requête comporte un jeton de confirmation |
email_domain_ids | string[] | Restreint la clé à l’envoi de courriels depuis ces domaines (identifiants provenant de /v1/email-domains). Si ce champ est omis, la clé hérite de la restriction de la clé appelante, le cas échéant. Une clé restreinte ne peut créer que des clés restreintes à un sous-ensemble de ses propres domaines, sauf si la requête comporte un jeton de confirmation api_keys:elevate. |
Réponses
201Clé API émise. La clé brute n’est affichée qu’une seule fois : conservez-la en lieu sûr.
Champ Type Description keystring Clé API complète (affichée une seule fois)
prefixstring Préfixe non secret pour l’affichage et l’identification
modestring - Une valeur parmi : live | test
permissionsobject Permissions par ressource.
email_domain_idsstring[] - Peut être null
noticestring - 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.
- 403FORBIDDEN (ce n’est pas votre compte), LIVE_KEY_REQUIRED (une clé de test a demandé une clé de production), KEY_FENCED (la clé appelante est restreinte par une liste d’autorisation ou de blocage), PERMISSION_ESCALATION (autorisations ou domaines courriel plus étendus que ceux de la clé appelante, ou clé de session du tableau de bord, sans confirmation par mot de passe api_keys:elevate) ou ACCOUNT_EMAIL_NOT_VERIFIED (le compte n’a pas encore vérifié son adresse courriel ; aucune clé, de production ou de test, n’est créée avant cela).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/accounts/ID/api-keys \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "live",
"label": "Production server"
}'/v1/accounts/{id}/api-keys/{keyId}/rotateRenouveler une clé API (émettre une clé de remplacement et révoquer l’ancienne de façon atomique)
api_keys:wLes clés de session (celles créées lors de la connexion au tableau de bord) ne peuvent pas être renouvelées : elles expirent toujours d’elles-mêmes, et tenter d’en renouveler une renvoie 409 CONFLICT avec details.reason "session_key". Renouvelez plutôt une clé USER. Une clé détenue par une connexion OAuth (oauth_grant dans la liste des clés) ne peut pas non plus être renouvelée : la clé de remplacement n’appartiendrait pas à la connexion, et l’application cesserait de fonctionner. Cela renvoie 409 CONFLICT avec details.reason "oauth_grant" ; révoquez plutôt la connexion, puis reconnectez-la. Les courriels planifiés et en file d’attente de la clé sont conservés : ils partent comme prévu, sous la clé de remplacement. Pour les arrêter aussi, par exemple quand une clé a été divulguée, révoquez plutôt la clé (DELETE).
Nécessite api_keys:w.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string | |
X-Step-Up-Tokenen-tête | string | Un jeton obtenu par POST /v1/auth/step-up avec la portée api_keys:elevate. Nécessaire uniquement pour renouveler une clé en une clé détenant plus de permissions que la clé appelante, ou lorsque la clé appelante est une clé de session du tableau de bord. |
Réponses
201La clé de remplacement, affichée une seule fois. L’ancienne clé est révoquée dans la même opération ; la nouvelle conserve son mode, son libellé, ses permissions, son paramètre de refus par défaut, ses listes et sa restriction de domaines de courriel.
Champ Type Description keyobligatoirestring La nouvelle clé API complète (affichée une seule fois).
prefixobligatoirestring modeobligatoirestring - Une valeur parmi : live | test
revoked_idobligatoirestring L’identifiant de la clé que celle-ci a remplacée.
noticeobligatoirestring - 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.
- 403FORBIDDEN (ce n’est pas votre compte), LIVE_KEY_REQUIRED (une clé de test tente de renouveler une clé de production), KEY_FENCED (une clé restreinte par une liste d’autorisation ou de blocage tente de renouveler une autre clé qu’elle-même), PERMISSION_ESCALATION (la clé cible détient plus d’autorisations que la clé appelante, ou l’appelant est une clé de session du tableau de bord, sans confirmation par mot de passe api_keys:elevate) ou ACCOUNT_EMAIL_NOT_VERIFIED (le compte n’a pas encore vérifié son adresse courriel).Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.Le corps d’erreur standard.
- 409CONFLICT : la clé est déjà révoquée, est en cours de renouvellement par une autre requête, est une clé de session du tableau de bord (details.reason vaut session_key) ou est détenue par une connexion OAuth (details.reason vaut oauth_grant).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/accounts/ID/api-keys/KEY_ID/rotate \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/api-keys/{keyId}Révoquer une clé API
api_keys:dRévoque la clé immédiatement. Les courriels qu’elle a planifiés ou mis en file d’attente qui ne sont pas encore partis ne sont pas envoyés : chacun échoue avec le failure_code API_KEY_REVOKED et est remboursé à son échéance. C’est ainsi qu’on contient une clé divulguée; le renouvellement les conserve.
Nécessite api_keys:d.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string |
Réponses
- 204Révocation effectuée.
- 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.
- 403FORBIDDEN (ce n’est pas votre compte) ou LIVE_KEY_REQUIRED (une clé de test tente de révoquer une clé de production).Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/ID/api-keys/KEY_ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/api-keys/{keyId}/default-denyActiver ou désactiver le mode de refus par défaut d’une clé API
api_keys:mLorsque default_deny vaut true, les messages envoyés avec cette clé sont bloqués, sauf si le destinataire figure dans une liste ALLOW attribuée.
Nécessite api_keys:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
default_denyobligatoire | boolean |
Réponses
200Le nouveau paramètre de refus par défaut de la clé.
Champ Type Description api_key_idobligatoirestring default_denyobligatoireboolean - 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.
- 403FORBIDDEN (ce n’est pas votre compte), LIVE_KEY_REQUIRED (une clé de test tente de modifier une clé de production) ou KEY_FENCED (une clé restreinte tente de modifier son propre refus par défaut ou celui d’une autre clé).Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/ID/api-keys/KEY_ID/default-deny \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"default_deny": false
}'/v1/accounts/{id}/api-keys/{keyId}/listsObtenir les listes d’autorisation et de blocage attribuées à une clé API
api_keys:rNécessite api_keys:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string |
Réponses
200Les listes d’autorisation et de blocage de la clé, null si aucune n’est attribuée.
Champ Type Description allow_listobligatoireobject | any deny_listobligatoireobject | any - 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.
- 403FORBIDDEN : l’identifiant n’appartient pas au compte de la clé appelante, ou la clé n’a pas l’autorisation requise par cette opération.Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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/accounts/ID/api-keys/KEY_ID/lists \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/api-keys/{keyId}/lists/{mode}Assigner une liste d’autorisation ou de blocage à une clé API
api_keys:mLa liste doit être du mode de la clé (les contacts, groupes et listes sont tenus séparément pour chaque mode de clé) : une clé de test prend une liste de test et une clé de production une liste de production, et une liste de l’autre mode répond CONTACT_LIST_NOT_FOUND.
Nécessite api_keys:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string | |
modeobligatoirechemin | string |
|
Corps de la requête
| Champ | Type | Description |
|---|---|---|
list_idobligatoire | string |
Réponses
200La liste désormais attribuée.
Champ Type Description api_key_idobligatoirestring modeobligatoirestring - Une valeur parmi : ALLOW | DENY
list_idobligatoirestring - 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.
- 403FORBIDDEN (ce n’est pas votre compte), LIVE_KEY_REQUIRED (une clé de test tente de modifier une clé de production) ou KEY_FENCED (une clé restreinte tente de modifier ses propres listes ou celles d’une autre clé).Le corps d’erreur standard.
- 404NOT_FOUND (clé inexistante) ou CONTACT_LIST_NOT_FOUND (liste inexistante, ou liste de l’autre mode : une clé ne prend que des listes de son propre mode).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 PUT https://api.honkio.ca/v1/accounts/ID/api-keys/KEY_ID/lists/MODE \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"list_id": "..."
}'/v1/accounts/{id}/api-keys/{keyId}/lists/{mode}Retirer une liste d’autorisation ou de blocage d’une clé API
api_keys:mNécessite api_keys:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string | |
keyIdobligatoirechemin | string | |
modeobligatoirechemin | string |
|
Réponses
- 204Attribution retirée (également lorsque rien n’était attribué).
- 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.
- 403FORBIDDEN (ce n’est pas votre compte), LIVE_KEY_REQUIRED (une clé de test tente de modifier une clé de production) ou KEY_FENCED (une clé restreinte tente de modifier ses propres listes ou celles d’une autre clé).Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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 DELETE https://api.honkio.ca/v1/accounts/ID/api-keys/KEY_ID/lists/MODE \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/accounts/{id}/phone-verificationDémarrer la vérification du numéro du propriétaire du compte
account:mNécessite account:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
phoneobligatoire | string | Numéro canadien ou américain du NANP au format E.164, p. ex. +14165551234 |
Réponses
200Le code a été envoyé par SMS.
Champ Type Description sentobligatoireboolean - Une valeur parmi : true
expires_in_secondsobligatoireinteger - 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.
- 403FORBIDDEN (ce n’est pas votre compte) ou LIVE_KEY_REQUIRED (la vérification du propriétaire nécessite une clé de production).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.
- 429RATE_LIMITED : 3 codes par heure et par compte.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 502CARRIER_ERROR : l’opérateur n’a pas accepté le SMS.Le corps d’erreur standard.
- 503SERVICE_UNAVAILABLE : la vérification du numéro du propriétaire n’est pas configurée. CARRIER_THROTTLED : l’opérateur nous a demandé de ralentir et n’a pas pris le SMS ; redemandez après le délai Retry-After.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/accounts/ID/phone-verification \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+1613XXXXXXX"
}'/v1/accounts/{id}/phone-verification/confirmConfirmer le code de vérification (NPU) pour terminer la vérification du numéro de téléphone
account:mNécessite account:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
| Champ | Type | Description |
|---|---|---|
codeobligatoire | string | Le code à 6 chiffres envoyé par SMS |
Réponses
200Vérifié : les envois réels sont débloqués.
Champ Type Description verifiedobligatoireboolean - Une valeur parmi : true
verified_phoneobligatoirestring verified_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.
- 403FORBIDDEN (ce n’est pas votre compte) ou LIVE_KEY_REQUIRED (la vérification du propriétaire nécessite une clé de production).Le corps d’erreur standard.
- 422VALIDATION_ERROR, VERIFICATION_EXPIRED (aucun code en attente ; statusCode 422 dans le corps) ou VERIFICATION_INVALID_CODE.Le corps d’erreur standard.
- 429VERIFICATION_MAX_ATTEMPTS : cinq codes erronés ; demandez-en un nouveau.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/accounts/ID/phone-verification/confirm \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "123456"
}'/v1/auto-topupVos paramètres de rechargement automatique
account:rSDK Node.jshonkio.autoTopup.get()Indique si le rechargement automatique est activé, le solde qui le déclenche et le montant qu’il ajoute, un résumé de la carte enregistrée, s’il est en pause et pourquoi, ainsi que les 10 tentatives les plus récentes. available vaut false lorsque le rechargement automatique ne peut pas être utilisé sur cette plateforme pour le moment. On l’active par une recharge depuis le tableau de bord, qui enregistre la carte ; il ne peut pas être modifié avec une clé d’API.
Nécessite account:r.
Réponses
200Paramètres du rechargement automatique, résumé de la carte enregistrée, état de pause et tentatives récentes.
Champ Type Description availableobligatoireboolean Vaut false lorsque le rechargement automatique ne peut pas être utilisé sur cette plateforme pour le moment. Les autres champs décrivent toujours vos paramètres.
enabledobligatoireboolean Indique si le rechargement automatique est activé. Il peut être activé et en pause (paused_at).
threshold_centsobligatoireinteger Lorsque votre solde passe sous ce seuil, en cents CAD, votre carte est débitée. Null avant la première activation du rechargement automatique.
- Peut être null
amount_centsobligatoireinteger Le crédit ajouté par chaque rechargement automatique, en cents CAD, avant taxes. Toujours au moins égal à threshold_cents, de sorte qu’un seul rechargement ramène le solde à ce niveau. Null avant la première activation du rechargement automatique.
- Peut être null
cardobligatoireobject | any La carte enregistrée que débite le rechargement automatique. Null lorsqu’aucune carte n’est enregistrée.
paused_atobligatoirestring Moment où le rechargement automatique a été mis en pause. Rien n’est débité pendant la pause. Vous le reprenez avec « Recharger pour reprendre » dans la section Rechargement automatique de la page Facturation du tableau de bord, ce qui crée une nouvelle recharge qui enregistre de nouveau votre carte. Une pause pour ACCOUNT_REVIEW ne peut pas être reprise de cette façon (voir paused_reason).
- Format : date-time
- Peut être null
paused_reasonobligatoirestring Raison de la pause : la carte a été refusée, exigeait une authentification, a expiré ou a été retirée ; l’adresse de facturation n’a pas pu servir au calcul des taxes ; un paiement a été remboursé et retiré du solde (REFUND) ; la limite de 3 prélèvements en 24 heures a été atteinte (CHARGE_LIMIT) ; le compte est en cours d’examen ; ou le personnel de HonkIO l’a mis en pause. Vous pouvez reprendre pour toutes les raisons sauf ACCOUNT_REVIEW, avec « Recharger pour reprendre » dans le tableau de bord. Vous ne pouvez pas reprendre vous-même après ACCOUNT_REVIEW. L’événement webhook account.auto_topup_paused porte la même valeur dans reason.
- Une valeur parmi : DECLINED | AUTHENTICATION_REQUIRED | EXPIRED_CARD | CARD_REMOVED | BILLING_ADDRESS | ACCOUNT_REVIEW | ADMIN | REFUND | CHARGE_LIMIT
- Peut être null
cap_blockedobligatoireboolean Vaut true tant que le rechargement automatique ignore les prélèvements parce qu’un prélèvement dépasserait votre solde maximal ou votre limite de rechargement sur 30 jours.
setup_pendingobligatoireboolean Vaut true lorsqu’une configuration a été commencée sans être terminée : les paramètres ont été choisis dans le tableau de bord et la recharge qui enregistre la carte n’est pas encore terminée. Ils ne prennent effet qu’à ce moment. Vaut false une fois la recharge terminée, ainsi qu’après la modification des paramètres ou la désactivation du rechargement automatique.
monthly_rent_centsobligatoireinteger Loyer mensuel des numéros que vous détenez, en cents CAD. Le rechargement automatique recharge aussi à l’avance lorsqu’un loyer est dû dans la journée.
attempts[]obligatoireobject[] Les 10 tentatives les plus récentes, de la plus récente à la plus ancienne.
idobligatoirestring ata_…
triggerobligatoirestring threshold : le solde est passé sous threshold_cents. rent : le solde était inférieur au loyer des numéros dû dans les 24 heures.
- Une valeur parmi : threshold | rent
statusobligatoirestring skipped_cap : aucun prélèvement, car la recharge aurait dépassé votre solde maximal ou votre limite de rechargement sur 30 jours.
- Une valeur parmi : pending | succeeded | failed | skipped_cap
amount_centsobligatoireinteger Le crédit ajouté à votre solde, en cents CAD.
tax_centsobligatoireinteger Taxe de vente ajoutée à amount_cents, en cents CAD. Null lorsqu’aucune taxe n’a été calculée.
- Peut être null
total_centsobligatoireinteger Le montant débité sur la carte, en cents CAD : amount_cents plus tax_cents. Null avant le prélèvement.
- Peut être null
failure_codeobligatoirestring Raison de l’échec d’une tentative : un code de carte comme card_declined ou expired_card, ou platform_error lorsque l’échec vient de HonkIO (le rechargement automatique n’est pas mis en pause et réessaie). Les tentatives qui n’ont rien débité ni rien mis en pause (abandoned, not_needed) ne sont jamais affichées.
- Peut être null
created_atobligatoirestring - Format : date-time
settled_atobligatoirestring - Format : date-time
- Peut être null
- 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.
- 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
const { data, error } = await honkio.autoTopup.get()
if (error) throw new Error(error.message)
console.log(data.enabled, data.paused_at)curl https://api.honkio.ca/v1/auto-topup \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/send-limitVos limites d’envoi et votre utilisation actuelle
account:rSDK Node.jshonkio.sendLimit.get()La limite quotidienne (sur 24 heures glissantes), la part déjà utilisée, la limite par destinataire, le statut de probation qui conditionne « demander un volume plus élevé », toute pause en cours et vos demandes antérieures. La limite et l’usage de premier niveau portent sur les envois depuis des numéros locaux ; toll_free contient l’allocation distincte des envois depuis des numéros sans frais, sans probation. number_queues montre la file d’attente de chacun de vos numéros chez l’opérateur : les segments envoyés par minute, les segments en attente et le moment où ils devraient tous être partis (une estimation).
Nécessite account:r.
Réponses
200Limites d’envoi, utilisation et demandes de volume antérieures.
Champ Type Description daily_limitobligatoireinteger Envois réels depuis des numéros locaux autorisés sur une période mobile de 24 heures. null quand le compte n’a pas de limite quotidienne.
- Peut être null
sent_last_24hobligatoireinteger remainingobligatoireinteger null quand le compte n’a pas de limite quotidienne.
- Peut être null
window_hoursobligatoireinteger approved_daily_limitobligatoireinteger Le volume standard accordé par défaut à une demande.
probation_daysobligatoireinteger recipient_rate_per_hourobligatoireinteger Messages qu’un même destinataire peut recevoir du compte par heure.
recipient_rate_per_dayobligatoireinteger Messages qu’un même destinataire peut recevoir du compte par jour.
probationobligatoireobject started_atobligatoirestring Le premier envoi réel ; null avant celui-ci.
- Format : date-time
- Peut être null
ends_atobligatoirestring - Format : date-time
- Peut être null
eligible_to_requestobligatoireboolean paused_untilobligatoirestring Défini pendant que l’envoi est en pause.
- Format : date-time
- Peut être null
pause_reasonobligatoirestring Raison de la pause des envois : OPT_OUT_RATE, FAILURE_RATE ou MANUAL.
- Peut être null
verify_pauseobligatoireany | object Codes de vérification réels suspendus par la détection du pompage de SMS (POST /v1/verify répond 403 SENDING_PAUSED avec details.channel « verify ») ; les messages ne sont pas touchés. null quand rien n’est suspendu. DELETE /v1/verify/pause lève la suspension.
toll_freeobligatoireobject L’allocation distincte des envois depuis des numéros sans frais. Les envois depuis des numéros locaux ne comptent que dans les chiffres de premier niveau.
daily_limitobligatoireinteger Envois réels depuis des numéros sans frais autorisés sur une période mobile de 24 heures. Il n’y a pas de probation. null quand le compte n’a pas de limite quotidienne.
- Peut être null
sent_last_24hobligatoireinteger Envois réels depuis des numéros sans frais au cours des 24 dernières heures.
remainingobligatoireinteger null quand le compte n’a pas de limite quotidienne.
- Peut être null
fanout_max_recipientsobligatoireinteger Destinataires distincts qu’un même corps de message peut atteindre depuis des numéros sans frais en 24 heures.
broadcast_max_recipientsobligatoireinteger Membres qu’une diffusion de groupe de contacts depuis un numéro sans frais peut atteindre.
broadcasts_per_dayobligatoireinteger Diffusions de groupe de contacts depuis des numéros sans frais par période mobile de 24 heures.
number_queues[]obligatoireobject[] La file d’attente de chacun de vos numéros actifs chez l’opérateur : l’opérateur envoie les segments de message d’un numéro à un rythme fixe, si bien qu’une liste prend du temps. Une estimation, d’après les segments déjà transmis.
phone_numberobligatoirestring parts_per_minuteobligatoireinteger Segments de message que l’opérateur envoie depuis ce numéro par minute (10 pour un numéro local).
queued_partsobligatoireinteger Parties en attente en ce moment. Un envoi est refusé avec NUMBER_RATE_LIMITED tant qu’une minute de parties est en attente.
clears_atobligatoirestring Le moment où les segments en attente devraient tous être partis ; null quand rien n’attend.
- Format : date-time
- Peut être null
requests[]obligatoireobject[] idobligatoirestring requested_limitobligatoireinteger Nombre de messages par jour demandé ; null demande le volume approuvé standard.
- Peut être null
limit_at_requestobligatoireinteger sent_last_30d_at_requestobligatoireinteger reasonobligatoirestring statusobligatoirestring - Une valeur parmi : PENDING | APPROVED | DENIED
granted_limitobligatoireinteger - Peut être null
staff_noteobligatoirestring - Peut être null
decided_atobligatoirestring - Format : date-time
- Peut être null
created_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.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.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
const { data, error } = await honkio.sendLimit.get()
if (error) throw new Error(error.message)
// daily_limit and remaining are null when the account has no daily limit.
if (data.daily_limit === null) console.log('no daily limit')
else console.log(data.remaining, 'of', data.daily_limit, 'left')
for (const q of data.number_queues) console.log(q.phone_number, q.queued_parts, q.clears_at)curl https://api.honkio.ca/v1/send-limit \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/send-limit/requestsLister vos demandes de volume
account:rNécessite account:r.
Réponses
200Les demandes de volume du compte, des plus récentes aux plus anciennes.
Champ Type Description data[]obligatoireobject[] idobligatoirestring requested_limitobligatoireinteger Nombre de messages par jour demandé ; null demande le volume approuvé standard.
- Peut être null
limit_at_requestobligatoireinteger sent_last_30d_at_requestobligatoireinteger reasonobligatoirestring statusobligatoirestring - Une valeur parmi : PENDING | APPROVED | DENIED
granted_limitobligatoireinteger - Peut être null
staff_noteobligatoirestring - Peut être null
decided_atobligatoirestring - Format : date-time
- Peut être null
created_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.
- 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/send-limit/requests \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/send-limit/requestsDemander un volume d’envoi quotidien plus élevé
account:wExige une entreprise vérifiée (BUSINESS_VERIFICATION_REQUIRED d’ici là ; voir /v1/business-verification) et n’est accessible qu’une fois que le compte a terminé sa période probatoire (comptée à partir de son premier envoi réel). Omettez requested_limit pour demander le volume approuvé standard, ou indiquez une cible. Une seule demande peut être en attente à la fois ; vous recevez un courriel lorsqu’une décision est rendue.
Nécessite account:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
requested_limit | integer | Nombre de messages par jour souhaité (et non une augmentation). Omettez-le pour obtenir le volume approuvé standard.
|
reasonobligatoire | string | Ce que vous envoyez et à qui. Notre équipe en tient compte pour décider. De 10 à 1 000 caractères. |
Réponses
201La demande, en attente d’examen.
Champ Type Description idobligatoirestring requested_limitobligatoireinteger Nombre de messages par jour demandé ; null demande le volume approuvé standard.
- Peut être null
limit_at_requestobligatoireinteger sent_last_30d_at_requestobligatoireinteger reasonobligatoirestring statusobligatoirestring - Une valeur parmi : PENDING | APPROVED | DENIED
granted_limitobligatoireinteger - Peut être null
staff_noteobligatoirestring - Peut être null
decided_atobligatoirestring - Format : date-time
- Peut être null
created_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.
- 403BUSINESS_VERIFICATION_REQUIRED (vérifiez d’abord votre entreprise), SEND_LIMIT_REQUEST_TOO_EARLY (période probatoire non terminée ; details.eligible_at) ou LIVE_KEY_REQUIRED.Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.Le corps d’erreur standard.
- 409SEND_LIMIT_REQUEST_PENDING : une demande est déjà en attente.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.
- 429RATE_LIMITED : 3 requêtes par jour et par compte.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
curl -X POST https://api.honkio.ca/v1/send-limit/requests \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "..."
}'/v1/business-verificationObtenir votre vérification d’entreprise
account:rSDK Node.jshonkio.businessVerification.get()Votre profil d’entreprise et l’état de son examen, ou null avant qu’un profil soit enregistré. Une entreprise vérifiée peut demander davantage de numéros de téléphone, un volume d’envoi plus élevé, des limites de rechargement plus élevées et la vérification de numéro sans frais.
Nécessite account:r.
Réponses
- 200Votre profil de vérification d’entreprise, ou null avant qu’un profil soit enregistré.
- 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.
- 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
const { data: profile, error } = await honkio.businessVerification.get()
if (error) throw new Error(error.message)
console.log(profile?.status ?? 'not started')curl https://api.honkio.ca/v1/business-verification \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/business-verificationEnregistrer votre profil de vérification d’entreprise
account:mSDK Node.jshonkio.businessVerification.save()Crée le profil, ou le remplace tant qu’il est DRAFT, VERIFIED, CHANGES_REQUESTED ou DECLINED (BUSINESS_VERIFICATION_NOT_EDITABLE sinon). Chaque champ est vérifié. L’état ne change pas, sauf qu’un profil VERIFIED revient à DRAFT : soumettez le profil lorsqu’il est prêt. Les modifications d’une entreprise vérifiée sont de nouveau examinées par HonkIO, et le compte reste vérifié (verified vaut true) entre-temps, tel qu’il a été vérifié : c’est verified_details, et non les champs modifiés, qui compte jusqu’à ce que HonkIO vérifie les modifications. Une clé de test peut enregistrer un profil qui n’a jamais été vérifié, mais la modification d’une entreprise vérifiée exige une clé de production (LIVE_KEY_REQUIRED).
Nécessite account:m.
Corps de la requête
Votre entreprise et une personne-ressource.
| Champ | Type | Description |
|---|---|---|
business_nameobligatoire | string | La dénomination sociale : telle qu’enregistrée auprès de l’ARC ou de votre province, ou votre propre nom pour une entreprise individuelle.
|
doing_business_as | string | Le nom commercial de l’entreprise, s’il diffère de sa dénomination légale.
|
entity_typeobligatoire | string | Le type d’organisation. GET /v1/toll-free-verifications/options liste les valeurs avec leurs libellés.
|
business_registration_number | string | Le numéro d’entreprise de l’ARC : 9 chiffres, suivis au besoin d’un compte de programme comme RC0001. Les espaces et les traits d’union sont ignorés. Obligatoire sauf si entity_type est SOLE_PROPRIETOR.
|
business_addressobligatoire | object | L’adresse où l’entreprise est enregistrée ou exerce ses activités, au Canada. line2 (bureau, unité ou étage) est facultatif. |
line1obligatoire | string |
|
cityobligatoire | string |
|
provinceobligatoire | string | Code de province ou de territoire à deux lettres.
|
postal_codeobligatoire | string | Code postal canadien, p. ex. K1A 0B1.
|
line2 | string |
|
websiteobligatoire | string | Un lien https qui montre l’entreprise : son site Web ou, pour une entreprise individuelle, un profil public comme LinkedIn ou une fiche dans une boutique d’applications.
|
business_descriptionobligatoire | string | Ce que fait l’entreprise et à qui elle s’adresse, de 20 à 500 caractères.
|
contactobligatoire | object | La personne que l’équipe de HonkIO peut joindre au sujet de l’examen. |
first_nameobligatoire | string |
|
last_nameobligatoire | string |
|
emailobligatoire | string |
|
phoneobligatoire | string | Un numéro de téléphone nord-américain, p. ex. +14165550100.
|
Réponses
200Le profil enregistré.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis IN_REVIEW (équipe de HonkIO), puis VERIFIED. Un profil CHANGES_REQUESTED ou DECLINED peut être modifié et soumis de nouveau ; seul le personnel de HonkIO peut rétablir un profil REVOKED. Un profil VERIFIED modifié revient à DRAFT pour un nouvel examen.
- Une valeur parmi : DRAFT | IN_REVIEW | VERIFIED | CHANGES_REQUESTED | DECLINED | REVOKED
verifiedobligatoireboolean Indique si l’entreprise est considérée comme vérifiée. La valeur reste true pendant le nouvel examen des renseignements modifiés d’une entreprise vérifiée (état DRAFT, IN_REVIEW ou CHANGES_REQUESTED), et passe à false lorsque l’équipe de HonkIO refuse les modifications ou révoque la vérification.
verified_atobligatoirestring Date de la dernière vérification de l’entreprise par l’équipe de HonkIO ; null lorsqu’elle n’est pas vérifiée.
- Format : date-time
- Peut être null
verified_detailsobligatoireobject | any L’entreprise telle que l’équipe HonkIO l’a vérifiée la dernière fois. Pendant qu’un nouvel examen porte sur des modifications, les champs ci-dessous montrent les modifications et celui-ci garde ce qui a été vérifié : la vérification de numéro sans frais lit son numéro d’entreprise. Null quand l’entreprise n’est pas vérifiée.
business_nameobligatoirestring doing_business_asobligatoirestring - Peut être null
entity_typeobligatoirestring - Une valeur parmi : SOLE_PROPRIETOR | PRIVATE_PROFIT | PUBLIC_PROFIT | NON_PROFIT | GOVERNMENT
business_registration_numberobligatoirestring - Peut être null
business_addressobligatoireobject | any websiteobligatoirestring - Peut être null
business_descriptionobligatoirestring - Peut être null
contactobligatoireobject first_nameobligatoirestring - Peut être null
last_nameobligatoirestring - Peut être null
emailobligatoirestring - Peut être null
phoneobligatoirestring - Peut être null
reviewer_noteobligatoirestring Ce que l’équipe de HonkIO a demandé de modifier, ou pourquoi elle a refusé le profil.
- Peut être null
revoked_reasonobligatoirestring Pourquoi l’équipe de HonkIO a révoqué la vérification.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
reviewed_atobligatoirestring - Format : date-time
- Peut être null
revoked_atobligatoirestring - Format : date-time
- 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 : une clé de test ne peut pas modifier le profil d’une entreprise vérifiée, y compris lorsque ses modifications sont en cours d’examen. Elle peut enregistrer un profil qui n’a jamais été vérifié. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.Le corps d’erreur standard.
- 409BUSINESS_VERIFICATION_NOT_EDITABLE : le profil est en cours d’examen ou révoqué.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
const { error } = await honkio.businessVerification.save({
businessName: 'Acme Clinics Inc.',
entityType: 'PRIVATE_PROFIT',
businessRegistrationNumber: '123456789RC0001', // optional for a sole proprietor
businessAddress: { line1: '100 King St W', city: 'Toronto', province: 'ON', postalCode: 'M5X 1A9' },
website: 'https://acme.ca',
businessDescription: 'Three clinics in Toronto that text patients appointment reminders.',
contact: { firstName: 'Ada', lastName: 'Lovelace', email: 'ada@acme.ca', phone: '+1416XXXXXXX' },
})
if (error) throw new Error(`${error.name}: ${error.message}`)curl -X PUT https://api.honkio.ca/v1/business-verification \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"business_name": "...",
"entity_type": "SOLE_PROPRIETOR",
"business_address": {
"line1": "...",
"city": "...",
"province": "AB",
"postal_code": "..."
},
"website": "...",
"business_description": "...",
"contact": {
"first_name": "...",
"last_name": "...",
"email": "sam@example.com",
"phone": "+1613XXXXXXX"
}
}'/v1/business-verification/submitSoumettre votre entreprise pour vérification
account:wSDK Node.jshonkio.businessVerification.submit()Transmet le profil enregistré à l’équipe de HonkIO pour examen (IN_REVIEW). Elle le compare aux registres publics et à votre site Web, puis le vérifie, demande des modifications ou le refuse ; vous recevez un courriel dans tous les cas. Une entreprise vérifiée qui a modifié ses renseignements reste vérifiée pendant l’examen ; le refus des modifications retire la vérification. Clés de production seulement (LIVE_KEY_REQUIRED).
Nécessite account:w.
Réponses
200Le profil, maintenant IN_REVIEW.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis IN_REVIEW (équipe de HonkIO), puis VERIFIED. Un profil CHANGES_REQUESTED ou DECLINED peut être modifié et soumis de nouveau ; seul le personnel de HonkIO peut rétablir un profil REVOKED. Un profil VERIFIED modifié revient à DRAFT pour un nouvel examen.
- Une valeur parmi : DRAFT | IN_REVIEW | VERIFIED | CHANGES_REQUESTED | DECLINED | REVOKED
verifiedobligatoireboolean Indique si l’entreprise est considérée comme vérifiée. La valeur reste true pendant le nouvel examen des renseignements modifiés d’une entreprise vérifiée (état DRAFT, IN_REVIEW ou CHANGES_REQUESTED), et passe à false lorsque l’équipe de HonkIO refuse les modifications ou révoque la vérification.
verified_atobligatoirestring Date de la dernière vérification de l’entreprise par l’équipe de HonkIO ; null lorsqu’elle n’est pas vérifiée.
- Format : date-time
- Peut être null
verified_detailsobligatoireobject | any L’entreprise telle que l’équipe HonkIO l’a vérifiée la dernière fois. Pendant qu’un nouvel examen porte sur des modifications, les champs ci-dessous montrent les modifications et celui-ci garde ce qui a été vérifié : la vérification de numéro sans frais lit son numéro d’entreprise. Null quand l’entreprise n’est pas vérifiée.
business_nameobligatoirestring doing_business_asobligatoirestring - Peut être null
entity_typeobligatoirestring - Une valeur parmi : SOLE_PROPRIETOR | PRIVATE_PROFIT | PUBLIC_PROFIT | NON_PROFIT | GOVERNMENT
business_registration_numberobligatoirestring - Peut être null
business_addressobligatoireobject | any websiteobligatoirestring - Peut être null
business_descriptionobligatoirestring - Peut être null
contactobligatoireobject first_nameobligatoirestring - Peut être null
last_nameobligatoirestring - Peut être null
emailobligatoirestring - Peut être null
phoneobligatoirestring - Peut être null
reviewer_noteobligatoirestring Ce que l’équipe de HonkIO a demandé de modifier, ou pourquoi elle a refusé le profil.
- Peut être null
revoked_reasonobligatoirestring Pourquoi l’équipe de HonkIO a révoqué la vérification.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
reviewed_atobligatoirestring - Format : date-time
- Peut être null
revoked_atobligatoirestring - Format : date-time
- 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 : les clés de test ne peuvent pas accéder ici aux ressources de production. Aussi FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération, ou lorsque le compte est suspendu ou fermé.Le corps d’erreur standard.
- 404NOT_FOUND : aucun profil n’a encore été enregistré.Le corps d’erreur standard.
- 409BUSINESS_VERIFICATION_NOT_EDITABLE : seul un profil DRAFT, CHANGES_REQUESTED ou DECLINED peut être soumis.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
const { data, error } = await honkio.businessVerification.submit()
if (error) throw new Error(error.message)
console.log(data.status) // 'IN_REVIEW'curl -X POST https://api.honkio.ca/v1/business-verification/submit \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/account/topup-cap-requestsLister vos demandes de limites de rechargement
account:rSDK Node.jshonkio.topupCapRequests.list()Nécessite account:r.
Réponses
200Les demandes de limites de rechargement du compte, des plus récentes aux plus anciennes.
Champ Type Description data[]obligatoireobject[] idobligatoirestring requested_max_balance_centsobligatoireinteger Le solde maximal demandé, en cents CAD ; null s’il n’a pas été demandé.
- Peut être null
requested_max_30d_centsobligatoireinteger Le maximum sur 30 jours consécutifs demandé, en cents CAD ; null s’il n’a pas été demandé.
- Peut être null
reasonobligatoirestring statusobligatoirestring - Une valeur parmi : PENDING | APPROVED | DECLINED
granted_max_balance_centsobligatoireinteger - Peut être null
granted_max_30d_centsobligatoireinteger - Peut être null
decision_noteobligatoirestring - Peut être null
decided_atobligatoirestring - Format : date-time
- Peut être null
created_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.
- 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
const { data, error } = await honkio.topupCapRequests.list()
if (error) throw new Error(error.message)
for (const r of data.data) console.log(r.status, r.decision_note)curl https://api.honkio.ca/v1/account/topup-cap-requests \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/account/topup-cap-requestsDemander des limites de rechargement plus élevées
account:wSDK Node.jshonkio.topupCapRequests.create()Demande à l’équipe de HonkIO d’augmenter le solde maximal de votre compte (requested_max_balance_cents), le montant maximal que vous pouvez ajouter sur toute période de 30 jours (requested_max_30d_cents), ou les deux. Chaque montant indiqué doit dépasser la limite actuelle (GET /v1/accounts/{id}/topup-allowance). Exige une entreprise vérifiée (BUSINESS_VERIFICATION_REQUIRED). Une seule demande peut être en attente à la fois ; vous recevez un courriel lorsqu’elle est tranchée. Clés de production seulement.
Nécessite account:w.
Corps de la requête
Les limites souhaitées et pourquoi.
| Champ | Type | Description |
|---|---|---|
requested_max_balance_cents | integer | Le solde maximal souhaité, en cents CAD (de 100 à 99999999). Doit dépasser la limite actuelle.
|
requested_max_30d_cents | integer | Le montant maximal de rechargement souhaité sur 30 jours consécutifs, en cents CAD (de 100 à 99999999). Doit dépasser la limite actuelle.
|
reasonobligatoire | string | À quoi serviront les limites plus élevées. L’équipe décide en fonction de ce texte. De 10 à 1000 caractères.
|
Réponses
201La demande, en attente d’examen.
Champ Type Description idobligatoirestring requested_max_balance_centsobligatoireinteger Le solde maximal demandé, en cents CAD ; null s’il n’a pas été demandé.
- Peut être null
requested_max_30d_centsobligatoireinteger Le maximum sur 30 jours consécutifs demandé, en cents CAD ; null s’il n’a pas été demandé.
- Peut être null
reasonobligatoirestring statusobligatoirestring - Une valeur parmi : PENDING | APPROVED | DECLINED
granted_max_balance_centsobligatoireinteger - Peut être null
granted_max_30d_centsobligatoireinteger - Peut être null
decision_noteobligatoirestring - Peut être null
decided_atobligatoirestring - Format : date-time
- Peut être null
created_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.
- 403BUSINESS_VERIFICATION_REQUIRED : vérifiez d’abord votre entreprise (PUT /v1/business-verification, puis soumettez-la). Aussi LIVE_KEY_REQUIRED pour une clé de test, ou FORBIDDEN lorsque la clé ne dispose pas de la permission requise par cette opération.Le corps d’erreur standard.
- 409TOPUP_CAP_REQUEST_PENDING : une demande est déjà en attente.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.
- 429RATE_LIMITED : 3 requêtes par jour et par compte.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
const { data: request, error } = await honkio.topupCapRequests.create({
requestedMaxBalanceCents: 100_000, // $1,000.00
reason: 'Appointment reminders for our three clinics.',
})
if (error) throw new Error(`${error.name}: ${error.message}`)
console.log(request.status) // 'PENDING'curl -X POST https://api.honkio.ca/v1/account/topup-cap-requests \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "..."
}'
HonkIO