Référence de l’API

Numéros de téléphone

Provisionner et gérer des numéros de téléphone canadiens.

get/v1/phone-numbers/area-codes

Lister les provinces et leurs indicatifs régionaux actifs

Nécessite phone_numbers:r.

Réponses

  • 200Provinces et leurs indicatifs régionaux actifs.
    ChampTypeDescription
    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)
get/v1/phone-numbers

Lister les numéros de téléphone provisionnés du compte

Permissionphone_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é.
    ChampTypeDescription
    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
  • 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)
post/v1/phone-numbers

Provisionner (acheter) un numéro de téléphone

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, 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

ChampTypeDescription
phone_numberobligatoirestring

Numéro E.164 à provisionner (issu de la recherche de numéros disponibles)

Réponses

  • 201Le numéro provisionné.
    ChampTypeDescription
    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
  • 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. 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) ou PURCHASE_IN_PROGRESS (un autre achat est en cours pour ce compte ; réessayez sous peu).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)
get/v1/phone-numbers/{id}

Obtenir un numéro de téléphone par identifiant

Permissionphone_numbers:rSDK Node.jshonkio.phoneNumbers.get()

Nécessite phone_numbers:r.

Paramètres

ParamètreTypeDescription
idobligatoirecheminstring

Réponses

  • 200Le numéro, y compris s’il a été libéré.
    ChampTypeDescription
    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
  • 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)
delete/v1/phone-numbers/{id}

Libérer (annuler) un numéro de téléphone

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.

Nécessite phone_numbers:d.

Paramètres

ParamètreTypeDescription
idobligatoirecheminstring

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)
get/v1/phone-numbers/allowance-requests

Lister vos demandes d’allocation de numéros de téléphone

Permissionphone_numbers:r

Nécessite phone_numbers:r.

Réponses

  • 200Les demandes d’allocation du compte, des plus récentes aux plus anciennes.
    ChampTypeDescription
    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
curl https://api.honkio.ca/v1/phone-numbers/allowance-requests \
  -H "Authorization: Bearer mk_live_YOUR_KEY"
post/v1/phone-numbers/allowance-requests

Demander une allocation de numéros de téléphone plus élevée

Permissionphone_numbers:w

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

ChampTypeDescription
requested_limitobligatoireinteger

Nombre total de numéros que vous voulez pouvoir détenir (et non un incrément)

  • Minimum : 2
  • Maximum : 100
reasonobligatoirestring

L’usage que vous en ferez. Notre équipe en tient compte pour décider.

  • Au moins 10 caractères
  • Au plus 1000 caractères

Réponses

  • 201La demande, en attente d’examen.
    ChampTypeDescription
    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.
  • 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.
  • 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
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": "..."
  }'