> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Acheter un numéro de téléphone

> Achète un numéro de téléphone dédié dans Famulor via l'API. Permet d'acquérir des numéros locaux, mobiles ou gratuits pour les appels entrants ou sortants de l'agent vocal IA.

<Warning>
  **API Famulor 1.0 (héritée).** Cette page concerne uniquement Famulor 1.0 (`app.famulor.de`) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la [référence API Famulor 2.0](/fr/api-reference/introduction).
</Warning>

Ce point de terminaison vous permet d'acheter un numéro de téléphone trouvé via le [point de terminaison de recherche](/fr/api-v1/phone-numbers/search). La plateforme gère automatiquement la tarification, la facturation et le provisionnement.

<Note>
  Vous devez disposer d'un moyen de paiement valide enregistré avant de pouvoir acheter un numéro de téléphone. L'achat crée un abonnement mensuel à renouvellement automatique.
</Note>

### Corps de la requête

<ParamField body="phone_number" type="string" required>
  Le numéro de téléphone à acheter au format E.164 (par ex. +14155551234). Doit être un numéro renvoyé par le point de terminaison de recherche.
</ParamField>

### Champs de réponse

<ResponseField name="message" type="string">
  Message de succès
</ResponseField>

<ResponseField name="data" type="object">
  Les détails du numéro de téléphone acheté

  <Expandable title="Propriétés des données">
    <ResponseField name="id" type="integer">
      L'identifiant unique du numéro de téléphone
    </ResponseField>

    <ResponseField name="phone_number" type="string">
      Le numéro de téléphone au format E.164
    </ResponseField>

    <ResponseField name="country_code" type="string">
      Le code pays ISO
    </ResponseField>

    <ResponseField name="type" type="string">
      Le type de numéro de téléphone (toujours `normal` pour les numéros achetés)
    </ResponseField>

    <ResponseField name="sms_capable" type="boolean">
      Indique si le numéro prend en charge les SMS
    </ResponseField>
  </Expandable>
</ResponseField>

### Fonctionnement

1. **Recherche** - Utilisez d'abord le [point de terminaison de recherche](/fr/api-v1/phone-numbers/search) pour trouver des numéros disponibles
2. **Achat** - Envoyez le numéro de téléphone souhaité à ce point de terminaison
3. **Traitement automatique** - La plateforme :
   * Vérifie que le numéro est toujours disponible
   * Détermine le prix correct en fonction du pays
   * Crée un abonnement mensuel sur votre moyen de paiement
   * Provisionne le numéro auprès de notre fournisseur de téléphonie
   * Crée l'enregistrement du numéro de téléphone dans votre compte

<Warning>
  Les achats de numéros de téléphone ne sont pas remboursables. L'abonnement se poursuit jusqu'à ce que vous [libériez](/fr/api-v1/phone-numbers/release) le numéro.
</Warning>

<ResponseExample>
  ```json 201 Created theme={null}
  {
    "message": "Phone number purchased successfully.",
    "data": {
      "id": 123,
      "phone_number": "+14155551234",
      "country_code": "US",
      "type": "normal",
      "sms_capable": true
    }
  }
  ```

  ```json 400 Already In Use theme={null}
  {
    "error": "This phone number is already in use."
  }
  ```

  ```json 400 Not Available theme={null}
  {
    "error": "This phone number is not available for purchase. Please search for available numbers first."
  }
  ```

  ```json 402 No Payment Method theme={null}
  {
    "error": "No payment method found. Please add a payment method to your account."
  }
  ```

  ```json 402 Payment Failed theme={null}
  {
    "error": "Payment failed. Please update your payment method."
  }
  ```

  ```json 422 Invalid Format theme={null}
  {
    "error": "Unable to parse phone number. Please provide a valid E.164 format number."
  }
  ```

  ```json 500 Provider Error theme={null}
  {
    "error": "Failed to purchase phone number from provider. Please contact support."
  }
  ```
</ResponseExample>
