Référence de l’API
Numéros de téléphone
Provisionner et gérer des numéros de téléphone canadiens.
/v1/phone-numbers/area-codesLister les provinces et leurs indicatifs régionaux actifs
phone_numbers:rSDK Node.jshonkio.phoneNumbers.areaCodes()Nécessite phone_numbers:r.
Réponses
200Provinces et leurs indicatifs régionaux actifs.
Champ Type Description data[]obligatoireobject[] provinceobligatoirestring countryobligatoirestring area_codesobligatoirestring[] - 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.phoneNumbers.areaCodes()
if (error) throw new Error(error.message)
console.log(data.data)curl https://api.honkio.ca/v1/phone-numbers/area-codes \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbers/searchRechercher des numéros de téléphone canadiens disponibles à provisionner
phone_numbers:rSDK Node.jshonkio.phoneNumbers.search()Filtrage facultatif par area_codes : jusqu’à 25 codes distincts (les doublons comptent une seule fois), chacun étant un indicatif régional canadien actif (GET /v1/phone-numbers/area-codes) ou un préfixe sans frais (833, 844, 855, 866, 877, 888). Les préfixes sans frais sont acceptés même si la liste des indicatifs régionaux ne les inclut pas : ils sont vendus au palier sans frais, et la recherche par préfixe permet d’en trouver un. Les numéros 1-800 ne sont pas encore offerts ; 800 est donc refusé comme un code inconnu. Au-delà de 25 codes, la requête renvoie 422 TOO_MANY_AREA_CODES ; tout autre code non valide renvoie 422 VALIDATION_ERROR, qui le nomme dans details.area_codes. Chaque compte peut effectuer 30 recherches par minute ; au-delà, 429 RATE_LIMITED avec Retry-After.
Nécessite phone_numbers:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
area_codesrequête | string | Indicatifs régionaux séparés par des virgules servant de filtre (p. ex. 416,647) : 25 au maximum, chacun étant un indicatif régional canadien actif ou un préfixe sans frais (833, 844, 855, 866, 877, 888) |
limitrequête | integer |
|
Réponses
200Numéros disponibles. Un tableau simple, non enveloppé dans data.
Champ Type Description phone_numberobligatoirestring E.164
country_codeobligatoirestring area_codeobligatoirestring - Peut être null
regionobligatoirestring Province ou territoire, lorsque l’indicatif régional y correspond.
- Peut être null
capabilitiesobligatoirestring[] monthly_cost_centsobligatoireinteger Loyer récurrent en cents CAD, selon la catégorie (local ou sans frais) à laquelle ce numéro serait vendu.
upfront_cost_centsobligatoireinteger Le loyer du premier mois, facturé lors du provisionnement du numéro.
activation_fee_centsobligatoireinteger Frais d’activation uniques facturés avec le premier mois. Non remboursés à la libération.
currencyobligatoirestring - Une valeur parmi : CAD
- 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 (details.area_codes énumère les indicatifs qui ne sont pas offerts) ou TOO_MANY_AREA_CODES.Le corps d’erreur standard.
- 429RATE_LIMITED : 30 recherches par minute et par compte, ou 100 requêtes par seconde.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
- 502NUMBER_SEARCH_FAILED : la recherche auprès de l’opérateur a échoué.Le corps d’erreur standard.
Exemple
const { data: available, error } = await honkio.phoneNumbers.search({ areaCodes: ['416', '647'], limit: 5 })
if (error) throw new Error(error.message)
for (const n of available) console.log(n.phone_number, n.monthly_cost_cents)curl https://api.honkio.ca/v1/phone-numbers/search \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbersLister les numéros de téléphone provisionnés du compte
phone_numbers:rSDK Node.jshonkio.phoneNumbers.list()Nécessite phone_numbers:r.
Réponses
200Les numéros du compte, à l’exclusion des numéros libérés, des plus récents aux plus anciens. Non paginé.
Champ Type Description data[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring E.164
area_codeobligatoirestring regionobligatoirestring Province ou territoire, lorsque l’indicatif régional y correspond.
- Peut être null
capabilitiesobligatoirestring[] statusobligatoirestring - Une valeur parmi : ACTIVE | SUSPENDED | RELEASING | RELEASED
monthly_cost_centsobligatoireinteger Loyer récurrent en cents CAD.
provisioned_atobligatoirestring - Format : date-time
released_atobligatoirestring - Format : date-time
- Peut être null
number_typeobligatoirestring Les numéros sans frais (833, 844, 855, 866, 877, 888) doivent avoir une vérification sans frais approuvée avant de pouvoir envoyer des SMS.
- Une valeur parmi : local | toll_free
toll_free_verificationobligatoireobject La plus récente demande de vérification sans frais pour ce numéro, hors demandes annulées. Null pour un numéro local ou un numéro sans frais qui n’a jamais fait l’objet d’une demande.
- Peut être null
idobligatoirestring tfv_…
statusobligatoirestring Le numéro envoie des SMS dès que ce statut est APPROVED.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED
- 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.phoneNumbers.list()
if (error) throw new Error(error.message)
for (const n of data.data) console.log(n.phone_number, n.status)curl https://api.honkio.ca/v1/phone-numbers \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbersProvisionner (acheter) un numéro de téléphone
phone_numbers:wSDK Node.jshonkio.phoneNumbers.provision()Provisionne un numéro et débite, en un seul achat, son premier mois de loyer et des frais d’activation uniques (voir GET /v1/pricing pour ces deux montants ; les frais d’activation sont les mêmes pour toutes les catégories de numéros et ne sont pas remboursés à la libération). Si le solde ne peut couvrir le total, la réponse est 402 INSUFFICIENT_BALANCE, et un loyer dû pour un numéro libéré pendant sa suspension renvoie 402 RENT_OWED, avant toute facturation ou commande. Le nombre de numéros de téléphone qu’un compte peut détenir simultanément est plafonné (en comptant les numéros ACTIVE et SUSPENDED) : il s’agit d’une limite propre au compte qui, à défaut, reprend une valeur par défaut de la plateforme que notre équipe peut modifier à tout moment. La dépasser renvoie 403 NUMBER_LIMIT_REACHED, avec la limite et l’utilisation actuelle dans details. Demandez une allocation plus élevée depuis le tableau de bord. Peut aussi renvoyer 409 PURCHASE_IN_PROGRESS lorsqu’un autre achat pour ce compte est déjà en cours : cette erreur est passagère, contrairement à l’erreur définitive 409 CONFLICT renvoyée lorsque le numéro vous appartient déjà. En cas de PURCHASE_IN_PROGRESS, réessayez après un court délai plutôt que de considérer l’achat comme échoué.
Nécessite phone_numbers:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
phone_numberobligatoire | string | Numéro E.164 à provisionner (issu de la recherche de numéros disponibles) |
Réponses
201Le numéro provisionné.
Champ Type Description idobligatoirestring phone_numberobligatoirestring E.164
area_codeobligatoirestring regionobligatoirestring Province ou territoire, lorsque l’indicatif régional y correspond.
- Peut être null
capabilitiesobligatoirestring[] statusobligatoirestring - Une valeur parmi : ACTIVE | SUSPENDED | RELEASING | RELEASED
monthly_cost_centsobligatoireinteger Loyer récurrent en cents CAD.
provisioned_atobligatoirestring - Format : date-time
released_atobligatoirestring - Format : date-time
- Peut être null
number_typeobligatoirestring Les numéros sans frais (833, 844, 855, 866, 877, 888) doivent avoir une vérification sans frais approuvée avant de pouvoir envoyer des SMS.
- Une valeur parmi : local | toll_free
toll_free_verificationobligatoireobject La plus récente demande de vérification sans frais pour ce numéro, hors demandes annulées. Null pour un numéro local ou un numéro sans frais qui n’a jamais fait l’objet d’une demande.
- Peut être null
idobligatoirestring tfv_…
statusobligatoirestring Le numéro envoie des SMS dès que ce statut est APPROVED.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED
- 401Clé API manquante, invalide, révoquée ou expirée.Le corps d’erreur standard.
- 402INSUFFICIENT_BALANCE : le solde ne couvre pas le premier mois et les frais d’activation. RENT_OWED : un loyer est dû pour un numéro libéré pendant sa suspension; rechargez d’abord pour le payer. Rien n’a été facturé ni commandé.Le corps d’erreur standard.
- 403NUMBER_LIMIT_REACHED (details contient limit et used), LIVE_KEY_REQUIRED (les clés de test ne peuvent pas provisionner) ou ACCOUNT_NOT_VERIFIED (le compte n’a pas vérifié de numéro mobile du propriétaire).Le corps d’erreur standard.
- 409CONFLICT (le numéro est déjà détenu), PURCHASE_IN_PROGRESS (un autre achat est en cours pour ce compte ; réessayez sous peu) ou COMPED_TOLL_FREE (les numéros sans frais ne sont pas offerts pour ce compte).Le corps d’erreur standard.
- 422NON_CANADIAN_NUMBER ou VALIDATION_ERROR.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.
- 500INTERNAL_ERROR : la facturation a échoué pour une raison autre que le solde.Le corps d’erreur standard.
- 501TOLLFREE_800_COMING_SOON : les numéros 1-800 ne sont pas encore offerts.Le corps d’erreur standard.
- 502PROVISIONING_FAILED : l’opérateur n’a pas provisionné le numéro. Le montant facturé est remboursé.Le corps d’erreur standard.
Exemple
const { data: number, error } = await honkio.phoneNumbers.provision({ phoneNumber: '+1416XXXXXXX' })
if (error) throw new Error(error.message)
console.log(number.id, number.status)curl -X POST https://api.honkio.ca/v1/phone-numbers \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+1613XXXXXXX"
}'/v1/phone-numbers/{id}Obtenir un numéro de téléphone par identifiant
phone_numbers:rSDK Node.jshonkio.phoneNumbers.get()Nécessite phone_numbers:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200Le numéro, y compris s’il a été libéré.
Champ Type Description idobligatoirestring phone_numberobligatoirestring E.164
area_codeobligatoirestring regionobligatoirestring Province ou territoire, lorsque l’indicatif régional y correspond.
- Peut être null
capabilitiesobligatoirestring[] statusobligatoirestring - Une valeur parmi : ACTIVE | SUSPENDED | RELEASING | RELEASED
monthly_cost_centsobligatoireinteger Loyer récurrent en cents CAD.
provisioned_atobligatoirestring - Format : date-time
released_atobligatoirestring - Format : date-time
- Peut être null
number_typeobligatoirestring Les numéros sans frais (833, 844, 855, 866, 877, 888) doivent avoir une vérification sans frais approuvée avant de pouvoir envoyer des SMS.
- Une valeur parmi : local | toll_free
toll_free_verificationobligatoireobject La plus récente demande de vérification sans frais pour ce numéro, hors demandes annulées. Null pour un numéro local ou un numéro sans frais qui n’a jamais fait l’objet d’une demande.
- Peut être null
idobligatoirestring tfv_…
statusobligatoirestring Le numéro envoie des SMS dès que ce statut est APPROVED.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED
- 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.phoneNumbers.get('NUMBER_ID')
if (error) throw new Error(error.message)
console.log(data.phone_number, data.status)curl https://api.honkio.ca/v1/phone-numbers/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbers/{id}Libérer (annuler) un numéro de téléphone
phone_numbers:dSDK Node.jshonkio.phoneNumbers.release()Libère le numéro chez l’opérateur et répond 204, y compris lorsque l’opérateur l’avait déjà libéré. Si l’opérateur n’accepte pas la libération, répond 502 RELEASE_FAILED et le numéro vous appartient toujours, inchangé ; réessayez. Libérer un numéro SUSPENDED laisse un mois de son loyer dû (rent_owed_cents sur le compte) : tant qu’un rechargement ne l’a pas payé, les envois payants et les achats de numéros sont refusés avec 402 RENT_OWED.
Nécessite phone_numbers:d.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
- 204Libéré, ou déjà libéré chez l’opérateur.
- 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 numéro correspondant sur ce compte, ou il a déjà été libéré.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.
- 502RELEASE_FAILED : l’opérateur n’a pas accepté la libération. Le numéro vous appartient toujours, inchangé ; réessayez.Le corps d’erreur standard.
Exemple
const { error } = await honkio.phoneNumbers.release('NUMBER_ID')
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/phone-numbers/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbers/allowance-requestsLister vos demandes d’allocation de numéros de téléphone
phone_numbers:rNécessite phone_numbers:r.
Réponses
200Les demandes d’allocation du compte, des plus récentes aux plus anciennes.
Champ Type Description data[]obligatoireobject[] idobligatoirestring requested_limitobligatoireinteger Nombre total de numéros demandés, et non un incrément.
limit_at_requestobligatoireinteger held_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/phone-numbers/allowance-requests \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/phone-numbers/allowance-requestsDemander une allocation de numéros de téléphone plus élevée
phone_numbers:wExige une entreprise vérifiée (BUSINESS_VERIFICATION_REQUIRED d’ici là ; voir /v1/business-verification). Soumet une demande à l’équipe HonkIO pour examen. Une seule demande peut être en attente à la fois. Une approbation relève la limite du compte ; vous en êtes alors avisé par courriel.
Nécessite phone_numbers:w.
Corps de la requête
| Champ | Type | Description |
|---|---|---|
requested_limitobligatoire | integer | Nombre total de numéros que vous voulez pouvoir détenir (et non un incrément)
|
reasonobligatoire | string | L’usage que vous en ferez. Notre équipe en tient compte pour décider.
|
Réponses
201La demande, en attente d’examen.
Champ Type Description idobligatoirestring requested_limitobligatoireinteger Nombre total de numéros demandés, et non un incrément.
limit_at_requestobligatoireinteger held_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 (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.
- 409ALLOWANCE_REQUEST_PENDING : une demande est déjà en attente.Le corps d’erreur standard.
- 422VALIDATION_ERROR, ou INVALID_ALLOWANCE_REQUEST lorsque requested_limit n’est pas supérieur à la limite actuelle.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/phone-numbers/allowance-requests \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"requested_limit": 2,
"reason": "..."
}'/v1/toll-free-verifications/optionsLister les options de vérification sans frais
phone_numbers:rSDK Node.jshonkio.tollFreeVerifications.options()Les valeurs que prennent use_case, monthly_volume, entity_type et business_address.province d’une demande, chacune avec un libellé en anglais et en français, ainsi que les frais de vérification.
Nécessite phone_numbers:r.
Réponses
200Les listes d’options et les frais.
Champ Type Description use_cases[]obligatoireobject[] valueobligatoirestring label_enobligatoirestring label_frobligatoirestring monthly_volumes[]obligatoireobject[] valueobligatoirestring label_enobligatoirestring label_frobligatoirestring entity_types[]obligatoireobject[] valueobligatoirestring label_enobligatoirestring label_frobligatoirestring provinces[]obligatoireobject[] valueobligatoirestring label_enobligatoirestring label_frobligatoirestring fee_centsobligatoireinteger Les frais de vérification, en cents CAD, facturés une seule fois par demande.
- 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: options, error } = await honkio.tollFreeVerifications.options()
if (error) throw new Error(error.message)
for (const u of options.use_cases) console.log(u.value, u.label_en)
console.log(options.fee_cents)curl https://api.honkio.ca/v1/toll-free-verifications/options \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/toll-free-verificationsLister les demandes de vérification sans frais
phone_numbers:rSDK Node.jshonkio.tollFreeVerifications.list()Les demandes du compte, de la plus récente à la plus ancienne, y compris les demandes annulées. Sans pagination.
Nécessite phone_numbers:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
statusrequête | string | Seulement les demandes dans cet état.
|
Réponses
200Les demandes du compte, de la plus récente à la plus ancienne.
Champ Type Description data[]obligatoireobject[] idobligatoirestring statusobligatoirestring DRAFT, puis AWAITING_PAYMENT, IN_REVIEW (équipe HonkIO), SUBMITTED (chez l’opérateur) et APPROVED. Une demande CHANGES_REQUESTED ou REJECTED (par l’opérateur) peut être modifiée et soumise de nouveau, et une demande REJECTED peut être retirée (CANCELLED) ; DECLINED (par HonkIO) et CANCELLED sont définitifs.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED | CANCELLED
phone_numbers[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring applicationobligatoireobject La demande telle qu’elle est enregistrée : tous les champs, avec le numéro d’entreprise, le code postal et le téléphone normalisés.
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 business_addressobligatoireobject line1obligatoirestring cityobligatoirestring provinceobligatoirestring postal_codeobligatoirestring contactobligatoireobject first_nameobligatoirestring last_nameobligatoirestring emailobligatoirestring phoneobligatoirestring websiteobligatoirestring use_caseobligatoirestring - Une valeur parmi : 2FA | App Notifications | Appointments | Auctions | Auto Repair Services | Bank Transfers | Billing | Booking Confirmations | Business Updates | COVID-19 Alerts | Career Training | Chatbot | Conversational / Alerts | Courier Services & Deliveries | Emergency Alerts | Events & Planning | Financial Services | Fraud Alerts | Fundraising | General Marketing | General School Updates | HR / Staffing | Healthcare Alerts | Housing Community Updates | Insurance Services | Job Dispatch | Legal Services | Mixed | Motivational Reminders | Notary Notifications | Order Notifications | Political | Public Works | Real Estate Services | Religious Services | Repair and Diagnostics Alerts | Rewards Program | Surveys | System Alerts | Voting Reminders | Waitlist Alerts | Webinar Reminders | Workshop Alerts
use_case_summaryobligatoirestring sample_messagesobligatoirestring[] opt_in_workflowobligatoirestring opt_in_image_urlsobligatoirestring[] opt_in_confirmation_messageobligatoirestring help_messageobligatoirestring privacy_policy_urlobligatoirestring terms_urlobligatoirestring - Peut être null
monthly_volumeobligatoirestring - Une valeur parmi : 10 | 100 | 1,000 | 10,000 | 100,000 | 250,000 | 500,000 | 750,000 | 1,000,000 | 5,000,000 | 10,000,000+
age_gatedobligatoireboolean additional_informationobligatoirestring - Peut être null
fee_centsobligatoireinteger Les frais de vérification de cette demande, en cents CAD.
payment_urlobligatoirestring Pendant AWAITING_PAYMENT : la page du tableau de bord où les frais sont payés. Null autrement.
- Peut être null
paid_atobligatoirestring - Format : date-time
- Peut être null
refunded_atobligatoirestring - Format : date-time
- Peut être null
reviewer_noteobligatoirestring Ce que l’équipe HonkIO a demandé de modifier, ou la raison pour laquelle elle a refusé la demande.
- Peut être null
carrier_statusobligatoirestring Où en est l’examen de l’opérateur une fois qu’il a reçu la demande : pending, action_needed (l’opérateur a posé une question à HonkIO ; rien à faire de votre côté pour l’instant), approved ou rejected. Null avant la soumission.
- Une valeur parmi : pending | action_needed | approved | rejected
- Peut être null
carrier_rejection_reasonobligatoirestring La raison pour laquelle l’opérateur a rejeté la demande, le cas échéant.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
decided_atobligatoirestring Le moment où l’opérateur l’a approuvée ou rejetée.
- 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.
- 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.tollFreeVerifications.list({ status: 'CHANGES_REQUESTED' })
if (error) throw new Error(error.message)
for (const v of data.data) console.log(v.id, v.reviewer_note)curl https://api.honkio.ca/v1/toll-free-verifications \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/toll-free-verificationsCréer une demande de vérification sans frais
phone_numbers:wSDK Node.jshonkio.tollFreeVerifications.create()Les numéros sans frais ne peuvent envoyer des SMS qu’une fois vérifiés. Cette opération crée une demande DRAFT pour au plus 5 de vos numéros sans frais ; soumettez-la pour payer les frais de vérification et l’envoyer en examen. Clés de production seulement.
Nécessite phone_numbers:w.
Corps de la requête
Les numéros à vérifier et la demande qui les accompagne.
| Champ | Type | Description |
|---|---|---|
phone_number_idsobligatoire | string[] | Les identifiants de 1 à 5 de vos numéros sans frais (GET /v1/phone-numbers). Un numéro ne peut figurer que dans une seule demande en cours. |
applicationobligatoire | object | La demande. Chaque champ est vérifié à la création. |
business_nameobligatoire | string | La dénomination légale de l’entreprise, telle qu’elle est inscrite auprès de l’Agence du revenu du Canada.
|
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_numberobligatoire | 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.
|
business_registration_type | string | Facultatif. Toujours CRA : seules les entreprises canadiennes peuvent présenter une demande.
|
business_registration_country | string | Facultatif. Toujours CA.
|
business_addressobligatoire | object | L’adresse enregistrée de l’entreprise, au Canada. |
line1obligatoire | string |
|
cityobligatoire | string |
|
provinceobligatoire | string | Code de province ou de territoire à deux lettres.
|
postal_codeobligatoire | string | Code postal canadien, p. ex. K1A 0B1.
|
contactobligatoire | object | La personne que l’opérateur et l’équipe HonkIO peuvent joindre au sujet de cette demande. |
first_nameobligatoire | string |
|
last_nameobligatoire | string |
|
emailobligatoire | string |
|
phoneobligatoire | string | Un numéro de téléphone nord-américain, p. ex. +14165550100.
|
websiteobligatoire | string | Le site Web de l’entreprise (https). Les examinateurs vérifient qu’il correspond à l’entreprise.
|
use_caseobligatoire | string | L’objet des messages. GET /v1/toll-free-verifications/options liste les valeurs avec leurs libellés.
|
use_case_summaryobligatoire | string | Quelques phrases sur ce que vous envoyez, à qui, et pourquoi ces personnes s’y attendent.
|
sample_messagesobligatoire | string[] | De 1 à 5 messages, exactement tels que vous les enverrez, d’au plus 1000 caractères au total. Au moins un doit indiquer au destinataire comment se désabonner (STOP, ou ARRET en français). |
opt_in_workflowobligatoire | string | Comment les destinataires acceptent de recevoir vos messages : où, comment et ce qu’on leur dit.
|
opt_in_image_urlsobligatoire | string[] | De 1 à 5 liens https vers des captures d’écran ou des photos du consentement (formulaire Web, formulaire papier, case à cocher au paiement). L’opérateur en exige au moins un. |
opt_in_confirmation_messageobligatoire | string | Le message qu’un destinataire reçoit juste après avoir donné son consentement.
|
help_messageobligatoire | string | La réponse à HELP : qui vous êtes et comment vous joindre.
|
privacy_policy_urlobligatoire | string | Votre politique de confidentialité (https).
|
terms_url | string | Vos conditions d’utilisation (https), le cas échéant.
|
monthly_volumeobligatoire | string | Le nombre de messages que vous prévoyez envoyer par mois. GET /v1/toll-free-verifications/options liste les valeurs avec leurs libellés.
|
age_gated | boolean | True lorsque les messages portent sur des produits soumis à une limite d’âge, comme l’alcool ou le cannabis. |
additional_information | string | Toute autre information utile aux examinateurs.
|
Réponses
201La demande, à l’état DRAFT.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis AWAITING_PAYMENT, IN_REVIEW (équipe HonkIO), SUBMITTED (chez l’opérateur) et APPROVED. Une demande CHANGES_REQUESTED ou REJECTED (par l’opérateur) peut être modifiée et soumise de nouveau, et une demande REJECTED peut être retirée (CANCELLED) ; DECLINED (par HonkIO) et CANCELLED sont définitifs.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED | CANCELLED
phone_numbers[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring applicationobligatoireobject La demande telle qu’elle est enregistrée : tous les champs, avec le numéro d’entreprise, le code postal et le téléphone normalisés.
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 business_addressobligatoireobject line1obligatoirestring cityobligatoirestring provinceobligatoirestring postal_codeobligatoirestring contactobligatoireobject first_nameobligatoirestring last_nameobligatoirestring emailobligatoirestring phoneobligatoirestring websiteobligatoirestring use_caseobligatoirestring - Une valeur parmi : 2FA | App Notifications | Appointments | Auctions | Auto Repair Services | Bank Transfers | Billing | Booking Confirmations | Business Updates | COVID-19 Alerts | Career Training | Chatbot | Conversational / Alerts | Courier Services & Deliveries | Emergency Alerts | Events & Planning | Financial Services | Fraud Alerts | Fundraising | General Marketing | General School Updates | HR / Staffing | Healthcare Alerts | Housing Community Updates | Insurance Services | Job Dispatch | Legal Services | Mixed | Motivational Reminders | Notary Notifications | Order Notifications | Political | Public Works | Real Estate Services | Religious Services | Repair and Diagnostics Alerts | Rewards Program | Surveys | System Alerts | Voting Reminders | Waitlist Alerts | Webinar Reminders | Workshop Alerts
use_case_summaryobligatoirestring sample_messagesobligatoirestring[] opt_in_workflowobligatoirestring opt_in_image_urlsobligatoirestring[] opt_in_confirmation_messageobligatoirestring help_messageobligatoirestring privacy_policy_urlobligatoirestring terms_urlobligatoirestring - Peut être null
monthly_volumeobligatoirestring - Une valeur parmi : 10 | 100 | 1,000 | 10,000 | 100,000 | 250,000 | 500,000 | 750,000 | 1,000,000 | 5,000,000 | 10,000,000+
age_gatedobligatoireboolean additional_informationobligatoirestring - Peut être null
fee_centsobligatoireinteger Les frais de vérification de cette demande, en cents CAD.
payment_urlobligatoirestring Pendant AWAITING_PAYMENT : la page du tableau de bord où les frais sont payés. Null autrement.
- Peut être null
paid_atobligatoirestring - Format : date-time
- Peut être null
refunded_atobligatoirestring - Format : date-time
- Peut être null
reviewer_noteobligatoirestring Ce que l’équipe HonkIO a demandé de modifier, ou la raison pour laquelle elle a refusé la demande.
- Peut être null
carrier_statusobligatoirestring Où en est l’examen de l’opérateur une fois qu’il a reçu la demande : pending, action_needed (l’opérateur a posé une question à HonkIO ; rien à faire de votre côté pour l’instant), approved ou rejected. Null avant la soumission.
- Une valeur parmi : pending | action_needed | approved | rejected
- Peut être null
carrier_rejection_reasonobligatoirestring La raison pour laquelle l’opérateur a rejeté la demande, le cas échéant.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
decided_atobligatoirestring Le moment où l’opérateur l’a approuvée ou rejetée.
- 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.
- 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.
- 409NUMBER_IN_OPEN_VERIFICATION : un numéro figure déjà dans une autre demande en cours (details.phone_number_id).Le corps d’erreur standard.
- 422VALIDATION_ERROR (details nomme les champs), NOT_A_TOLL_FREE_NUMBER (un numéro ne fait pas partie de vos numéros sans frais ; details.phone_number_id) ou LIVE_MODE_REQUIRED pour une clé de test.Le corps d’erreur standard.
- 429RATE_LIMITED : 10 nouvelles demandes par jour par compte.Le corps d’erreur standard.
- 500Erreur de serveur inattendue.Le corps d’erreur standard.
Exemple
const { data: application, error } = await honkio.tollFreeVerifications.create({
phoneNumberIds: ['NUMBER_ID'], // your toll-free numbers, 1 to 5
application: {
businessName: 'Acme Clinics Inc.',
entityType: 'PRIVATE_PROFIT',
businessRegistrationNumber: '123456789RC0001',
businessAddress: { line1: '100 King St W', city: 'Toronto', province: 'ON', postalCode: 'M5X 1A9' },
contact: { firstName: 'Ada', lastName: 'Lovelace', email: 'ada@acme.ca', phone: '+1416XXXXXXX' },
website: 'https://acme.ca',
useCase: 'Appointments',
useCaseSummary: 'Appointment reminders for our patients.',
sampleMessages: ['Acme Clinics: your appointment is tomorrow at 2 pm. Reply STOP to opt out.'],
optInWorkflow: 'Patients tick an unchecked SMS box on the booking form.',
optInImageUrls: ['https://acme.ca/img/booking-form-sms-box.png'],
optInConfirmationMessage: 'Acme Clinics: you are subscribed to appointment texts. Reply STOP to opt out.',
helpMessage: 'Acme Clinics: visit acme.ca/help. Reply STOP to opt out.',
privacyPolicyUrl: 'https://acme.ca/privacy',
monthlyVolume: '10,000',
},
})
if (error) throw new Error(`${error.name}: ${error.message}`)
console.log(application.id, application.status) // 'DRAFT'curl -X POST https://api.honkio.ca/v1/toll-free-verifications \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number_ids": [
"+1613XXXXXXX"
],
"application": {
"business_name": "...",
"entity_type": "SOLE_PROPRIETOR",
"business_registration_number": "+1613XXXXXXX",
"business_address": {
"line1": "...",
"city": "...",
"province": "AB",
"postal_code": "..."
},
"contact": {
"first_name": "...",
"last_name": "...",
"email": "sam@example.com",
"phone": "+1613XXXXXXX"
},
"website": "...",
"use_case": "2FA",
"use_case_summary": "...",
"sample_messages": [
"..."
],
"opt_in_workflow": "...",
"opt_in_image_urls": [
"..."
],
"opt_in_confirmation_message": "...",
"help_message": "...",
"privacy_policy_url": "https://example.com/webhooks/honkio",
"monthly_volume": "10"
}
}'/v1/toll-free-verifications/{id}Obtenir une demande de vérification sans frais
phone_numbers:rSDK Node.jshonkio.tollFreeVerifications.get()La demande, ses numéros, son état et, lorsque l’équipe a demandé des modifications ou l’a refusée, sa note.
Nécessite phone_numbers:r.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200La demande.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis AWAITING_PAYMENT, IN_REVIEW (équipe HonkIO), SUBMITTED (chez l’opérateur) et APPROVED. Une demande CHANGES_REQUESTED ou REJECTED (par l’opérateur) peut être modifiée et soumise de nouveau, et une demande REJECTED peut être retirée (CANCELLED) ; DECLINED (par HonkIO) et CANCELLED sont définitifs.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED | CANCELLED
phone_numbers[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring applicationobligatoireobject La demande telle qu’elle est enregistrée : tous les champs, avec le numéro d’entreprise, le code postal et le téléphone normalisés.
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 business_addressobligatoireobject line1obligatoirestring cityobligatoirestring provinceobligatoirestring postal_codeobligatoirestring contactobligatoireobject first_nameobligatoirestring last_nameobligatoirestring emailobligatoirestring phoneobligatoirestring websiteobligatoirestring use_caseobligatoirestring - Une valeur parmi : 2FA | App Notifications | Appointments | Auctions | Auto Repair Services | Bank Transfers | Billing | Booking Confirmations | Business Updates | COVID-19 Alerts | Career Training | Chatbot | Conversational / Alerts | Courier Services & Deliveries | Emergency Alerts | Events & Planning | Financial Services | Fraud Alerts | Fundraising | General Marketing | General School Updates | HR / Staffing | Healthcare Alerts | Housing Community Updates | Insurance Services | Job Dispatch | Legal Services | Mixed | Motivational Reminders | Notary Notifications | Order Notifications | Political | Public Works | Real Estate Services | Religious Services | Repair and Diagnostics Alerts | Rewards Program | Surveys | System Alerts | Voting Reminders | Waitlist Alerts | Webinar Reminders | Workshop Alerts
use_case_summaryobligatoirestring sample_messagesobligatoirestring[] opt_in_workflowobligatoirestring opt_in_image_urlsobligatoirestring[] opt_in_confirmation_messageobligatoirestring help_messageobligatoirestring privacy_policy_urlobligatoirestring terms_urlobligatoirestring - Peut être null
monthly_volumeobligatoirestring - Une valeur parmi : 10 | 100 | 1,000 | 10,000 | 100,000 | 250,000 | 500,000 | 750,000 | 1,000,000 | 5,000,000 | 10,000,000+
age_gatedobligatoireboolean additional_informationobligatoirestring - Peut être null
fee_centsobligatoireinteger Les frais de vérification de cette demande, en cents CAD.
payment_urlobligatoirestring Pendant AWAITING_PAYMENT : la page du tableau de bord où les frais sont payés. Null autrement.
- Peut être null
paid_atobligatoirestring - Format : date-time
- Peut être null
refunded_atobligatoirestring - Format : date-time
- Peut être null
reviewer_noteobligatoirestring Ce que l’équipe HonkIO a demandé de modifier, ou la raison pour laquelle elle a refusé la demande.
- Peut être null
carrier_statusobligatoirestring Où en est l’examen de l’opérateur une fois qu’il a reçu la demande : pending, action_needed (l’opérateur a posé une question à HonkIO ; rien à faire de votre côté pour l’instant), approved ou rejected. Null avant la soumission.
- Une valeur parmi : pending | action_needed | approved | rejected
- Peut être null
carrier_rejection_reasonobligatoirestring La raison pour laquelle l’opérateur a rejeté la demande, le cas échéant.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
decided_atobligatoirestring Le moment où l’opérateur l’a approuvée ou rejetée.
- 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.
- 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.tollFreeVerifications.get('VERIFICATION_ID')
if (error) throw new Error(error.message)
console.log(data.status, data.reviewer_note, data.carrier_rejection_reason)curl https://api.honkio.ca/v1/toll-free-verifications/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/toll-free-verifications/{id}Modifier une demande de vérification sans frais
phone_numbers:mSDK Node.jshonkio.tollFreeVerifications.update()Modifie une demande à l’état DRAFT, CHANGES_REQUESTED ou REJECTED. Son état ne change pas : soumettez-la de nouveau une fois terminé. Clés de production seulement.
Nécessite phone_numbers:m.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Corps de la requête
Les champs à modifier. Les champs de la demande que vous envoyez remplacent ceux enregistrés (une adresse ou un contact est remplacé en entier) ; le résultat doit rester une demande complète et valide.
| Champ | Type | Description |
|---|---|---|
phone_number_ids | string[] | Remplace les numéros de la demande : de 1 à 5 de vos numéros sans frais. |
application | object | N’importe quel champ de la demande. |
business_name | string |
|
doing_business_as | string |
|
entity_type | string |
|
business_registration_number | string |
|
business_registration_type | string |
|
business_registration_country | string |
|
business_address | object | |
line1obligatoire | string |
|
cityobligatoire | string |
|
provinceobligatoire | string |
|
postal_codeobligatoire | string |
|
contact | object | |
first_nameobligatoire | string |
|
last_nameobligatoire | string |
|
emailobligatoire | string |
|
phoneobligatoire | string |
|
website | string |
|
use_case | string |
|
use_case_summary | string |
|
sample_messages | string[] | |
opt_in_workflow | string |
|
opt_in_image_urls | string[] | |
opt_in_confirmation_message | string |
|
help_message | string |
|
privacy_policy_url | string |
|
terms_url | string |
|
monthly_volume | string |
|
age_gated | boolean | |
additional_information | string |
|
Réponses
200La demande modifiée.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis AWAITING_PAYMENT, IN_REVIEW (équipe HonkIO), SUBMITTED (chez l’opérateur) et APPROVED. Une demande CHANGES_REQUESTED ou REJECTED (par l’opérateur) peut être modifiée et soumise de nouveau, et une demande REJECTED peut être retirée (CANCELLED) ; DECLINED (par HonkIO) et CANCELLED sont définitifs.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED | CANCELLED
phone_numbers[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring applicationobligatoireobject La demande telle qu’elle est enregistrée : tous les champs, avec le numéro d’entreprise, le code postal et le téléphone normalisés.
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 business_addressobligatoireobject line1obligatoirestring cityobligatoirestring provinceobligatoirestring postal_codeobligatoirestring contactobligatoireobject first_nameobligatoirestring last_nameobligatoirestring emailobligatoirestring phoneobligatoirestring websiteobligatoirestring use_caseobligatoirestring - Une valeur parmi : 2FA | App Notifications | Appointments | Auctions | Auto Repair Services | Bank Transfers | Billing | Booking Confirmations | Business Updates | COVID-19 Alerts | Career Training | Chatbot | Conversational / Alerts | Courier Services & Deliveries | Emergency Alerts | Events & Planning | Financial Services | Fraud Alerts | Fundraising | General Marketing | General School Updates | HR / Staffing | Healthcare Alerts | Housing Community Updates | Insurance Services | Job Dispatch | Legal Services | Mixed | Motivational Reminders | Notary Notifications | Order Notifications | Political | Public Works | Real Estate Services | Religious Services | Repair and Diagnostics Alerts | Rewards Program | Surveys | System Alerts | Voting Reminders | Waitlist Alerts | Webinar Reminders | Workshop Alerts
use_case_summaryobligatoirestring sample_messagesobligatoirestring[] opt_in_workflowobligatoirestring opt_in_image_urlsobligatoirestring[] opt_in_confirmation_messageobligatoirestring help_messageobligatoirestring privacy_policy_urlobligatoirestring terms_urlobligatoirestring - Peut être null
monthly_volumeobligatoirestring - Une valeur parmi : 10 | 100 | 1,000 | 10,000 | 100,000 | 250,000 | 500,000 | 750,000 | 1,000,000 | 5,000,000 | 10,000,000+
age_gatedobligatoireboolean additional_informationobligatoirestring - Peut être null
fee_centsobligatoireinteger Les frais de vérification de cette demande, en cents CAD.
payment_urlobligatoirestring Pendant AWAITING_PAYMENT : la page du tableau de bord où les frais sont payés. Null autrement.
- Peut être null
paid_atobligatoirestring - Format : date-time
- Peut être null
refunded_atobligatoirestring - Format : date-time
- Peut être null
reviewer_noteobligatoirestring Ce que l’équipe HonkIO a demandé de modifier, ou la raison pour laquelle elle a refusé la demande.
- Peut être null
carrier_statusobligatoirestring Où en est l’examen de l’opérateur une fois qu’il a reçu la demande : pending, action_needed (l’opérateur a posé une question à HonkIO ; rien à faire de votre côté pour l’instant), approved ou rejected. Null avant la soumission.
- Une valeur parmi : pending | action_needed | approved | rejected
- Peut être null
carrier_rejection_reasonobligatoirestring La raison pour laquelle l’opérateur a rejeté la demande, le cas échéant.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
decided_atobligatoirestring Le moment où l’opérateur l’a approuvée ou rejetée.
- 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.
- 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.
- 409VERIFICATION_NOT_EDITABLE (pas à l’état DRAFT, CHANGES_REQUESTED ou REJECTED) ou NUMBER_IN_OPEN_VERIFICATION.Le corps d’erreur standard.
- 422VALIDATION_ERROR, NOT_A_TOLL_FREE_NUMBER ou LIVE_MODE_REQUIRED pour une clé de test.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.tollFreeVerifications.update('VERIFICATION_ID', {
application: { optInImageUrls: ['https://acme.ca/img/booking-form-v2.png'] },
})
if (error) throw new Error(error.message)curl -X PATCH https://api.honkio.ca/v1/toll-free-verifications/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"application": {
"opt_in_image_urls": [
"https://acme.ca/img/booking-form-v2.png"
]
}
}'/v1/toll-free-verifications/{id}Annuler ou retirer une demande de vérification sans frais
phone_numbers:dSDK Node.jshonkio.tollFreeVerifications.cancel()Annule une demande à l’état DRAFT ou AWAITING_PAYMENT, ou retire une demande REJECTED par l’opérateur, et libère ses numéros pour une autre demande. Les frais d’une demande retirée ne sont pas remboursés ; une demande en examen ou chez l’opérateur ne peut pas être annulée. Une fois la page de paiement ouverte, annulez plutôt depuis le tableau de bord (VERIFICATION_NOT_EDITABLE, motif checkout_started), afin que le paiement ouvert puisse d’abord être fermé. Clés de production seulement.
Nécessite phone_numbers:d.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
- 204Annulé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.
- 409VERIFICATION_NOT_EDITABLE : seules les demandes à l’état DRAFT ou AWAITING_PAYMENT peuvent être annulées.Le corps d’erreur standard.
- 422LIVE_MODE_REQUIRED pour une clé de test.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.tollFreeVerifications.cancel('VERIFICATION_ID')
if (error) throw new Error(error.message)curl -X DELETE https://api.honkio.ca/v1/toll-free-verifications/ID \
-H "Authorization: Bearer mk_live_YOUR_KEY"/v1/toll-free-verifications/{id}/submitSoumettre une demande de vérification sans frais
phone_numbers:wSDK Node.jshonkio.tollFreeVerifications.submit()Depuis DRAFT : fait passer la demande à AWAITING_PAYMENT et renvoie payment_url, la page du tableau de bord où les frais de vérification sont payés ; une fois payée, la demande est examinée par l’équipe HonkIO. Depuis CHANGES_REQUESTED ou REJECTED : renvoie la demande modifiée en examen, sans frais. Clés de production seulement (LIVE_MODE_REQUIRED). Exige une entreprise vérifiée dont le profil comporte un numéro d’entreprise de l’ARC (BUSINESS_VERIFICATION_REQUIRED, ou BUSINESS_NUMBER_REQUIRED quand l’entreprise telle que HonkIO l’a vérifiée n’en a pas ; voir verified_details sur /v1/business-verification).
Nécessite phone_numbers:w.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
idobligatoirechemin | string |
Réponses
200La demande, à l’état AWAITING_PAYMENT avec payment_url, ou de retour à IN_REVIEW.
Champ Type Description idobligatoirestring statusobligatoirestring DRAFT, puis AWAITING_PAYMENT, IN_REVIEW (équipe HonkIO), SUBMITTED (chez l’opérateur) et APPROVED. Une demande CHANGES_REQUESTED ou REJECTED (par l’opérateur) peut être modifiée et soumise de nouveau, et une demande REJECTED peut être retirée (CANCELLED) ; DECLINED (par HonkIO) et CANCELLED sont définitifs.
- Une valeur parmi : DRAFT | AWAITING_PAYMENT | IN_REVIEW | CHANGES_REQUESTED | SUBMITTED | APPROVED | REJECTED | DECLINED | CANCELLED
phone_numbers[]obligatoireobject[] idobligatoirestring phone_numberobligatoirestring applicationobligatoireobject La demande telle qu’elle est enregistrée : tous les champs, avec le numéro d’entreprise, le code postal et le téléphone normalisés.
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 business_addressobligatoireobject line1obligatoirestring cityobligatoirestring provinceobligatoirestring postal_codeobligatoirestring contactobligatoireobject first_nameobligatoirestring last_nameobligatoirestring emailobligatoirestring phoneobligatoirestring websiteobligatoirestring use_caseobligatoirestring - Une valeur parmi : 2FA | App Notifications | Appointments | Auctions | Auto Repair Services | Bank Transfers | Billing | Booking Confirmations | Business Updates | COVID-19 Alerts | Career Training | Chatbot | Conversational / Alerts | Courier Services & Deliveries | Emergency Alerts | Events & Planning | Financial Services | Fraud Alerts | Fundraising | General Marketing | General School Updates | HR / Staffing | Healthcare Alerts | Housing Community Updates | Insurance Services | Job Dispatch | Legal Services | Mixed | Motivational Reminders | Notary Notifications | Order Notifications | Political | Public Works | Real Estate Services | Religious Services | Repair and Diagnostics Alerts | Rewards Program | Surveys | System Alerts | Voting Reminders | Waitlist Alerts | Webinar Reminders | Workshop Alerts
use_case_summaryobligatoirestring sample_messagesobligatoirestring[] opt_in_workflowobligatoirestring opt_in_image_urlsobligatoirestring[] opt_in_confirmation_messageobligatoirestring help_messageobligatoirestring privacy_policy_urlobligatoirestring terms_urlobligatoirestring - Peut être null
monthly_volumeobligatoirestring - Une valeur parmi : 10 | 100 | 1,000 | 10,000 | 100,000 | 250,000 | 500,000 | 750,000 | 1,000,000 | 5,000,000 | 10,000,000+
age_gatedobligatoireboolean additional_informationobligatoirestring - Peut être null
fee_centsobligatoireinteger Les frais de vérification de cette demande, en cents CAD.
payment_urlobligatoirestring Pendant AWAITING_PAYMENT : la page du tableau de bord où les frais sont payés. Null autrement.
- Peut être null
paid_atobligatoirestring - Format : date-time
- Peut être null
refunded_atobligatoirestring - Format : date-time
- Peut être null
reviewer_noteobligatoirestring Ce que l’équipe HonkIO a demandé de modifier, ou la raison pour laquelle elle a refusé la demande.
- Peut être null
carrier_statusobligatoirestring Où en est l’examen de l’opérateur une fois qu’il a reçu la demande : pending, action_needed (l’opérateur a posé une question à HonkIO ; rien à faire de votre côté pour l’instant), approved ou rejected. Null avant la soumission.
- Une valeur parmi : pending | action_needed | approved | rejected
- Peut être null
carrier_rejection_reasonobligatoirestring La raison pour laquelle l’opérateur a rejeté la demande, le cas échéant.
- Peut être null
submitted_atobligatoirestring - Format : date-time
- Peut être null
decided_atobligatoirestring Le moment où l’opérateur l’a approuvée ou rejetée.
- 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.
- 403BUSINESS_VERIFICATION_REQUIRED (vérifiez d’abord votre entreprise) ou BUSINESS_NUMBER_REQUIRED (votre profil d’entreprise vérifié n’a pas de numéro d’entreprise de l’ARC, que la vérification de numéro sans frais exige).Le corps d’erreur standard.
- 404NOT_FOUND : aucune ressource correspondante sur ce compte.Le corps d’erreur standard.
- 409VERIFICATION_NOT_EDITABLE : seules les demandes à l’état DRAFT, CHANGES_REQUESTED ou REJECTED peuvent être soumises. COMPED_TOLL_FREE : les numéros sans frais ne sont pas offerts pour ce compte.Le corps d’erreur standard.
- 422LIVE_MODE_REQUIRED pour une clé de test, ou NOT_A_TOLL_FREE_NUMBER lorsqu’un numéro a été libéré depuis.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.tollFreeVerifications.submit('VERIFICATION_ID')
if (error) throw new Error(error.message)
console.log(data.status, data.payment_url) // a draft: 'AWAITING_PAYMENT' and where to pay the feecurl -X POST https://api.honkio.ca/v1/toll-free-verifications/ID/submit \
-H "Authorization: Bearer mk_live_YOUR_KEY"
HonkIO