> For the complete documentation index, see [llms.txt](https://mactopup.gitbook.io/developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mactopup.gitbook.io/developers/integration-api-airtime/api-detecteur-operateur.md).

# API Détecteur Opérateur

API permettant de détecter l'opérateur mobile

L' API est appelée par l'url "*<mark style="color:red;">**<https://mactopup.com/api/detect\\_operator>**</mark>*" stocké dans la variable  *$base\_url*&#x20;

````
```php
<?php

$base_url = "https://mactopup.com/api/detect_operator";


$fields = array(
    
    "phone" => "44xxxxxxxx", // à remplacer par le numero de téléphone
    "isocode" => "GB", // à remplacer par l'iso code de votre pays
    "token" => "MACTOPUP_xxxxxxxxxxxxxxxxx", // à remplacer par votre token
    
);

$curl_options = array(
    CURLOPT_URL => $base_url,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query( $fields ),
    CURLOPT_HTTP_VERSION => 1.0,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER => false
);

$curl = curl_init();
curl_setopt_array( $curl, $curl_options );
$result = curl_exec( $curl );

curl_close( $curl );
$response = json_decode($result);

echo "<pre>";
var_dump($response);
echo "</pre>";

?>
```
````

Remplacez les valeurs des champ "phone", "isocode" et "token" dans le tableau ***$fields*** par les informations spécifiques à votre cas. Assurez-vous de fournir le numéro de téléphone pour lequel vous souhaitez détecter l'opérateur, l'ISO code de votre pays, et votre token d'authentification fourni par MACTOPUP.

Une fois la requête exécutée, le résultat est stocké dans la variable ***$response***. Vous pouvez ensuite décoder les données JSON en utilisant ***json\_decode()*** pour obtenir les informations sur l'opérateur détecté.

Pour faciliter le débogage et la compréhension des données renvoyées par l'API, nous utilisons ***var\_dump($response)*** pour afficher les résultats dans un format lisible.

#### Réponse de l'API :   Status <mark style="color:green;">Success</mark>  (<mark style="color:green;">200</mark>)

<pre><code>{"success":

{

"operatorId":<a data-footnote-ref href="#user-content-fn-1">535</a>,

"name":"EE PIN England",

"name_iso":"GB",

"pays":"England",

"network_logo_url":"https:\/\/s3.amazonaws.com\/rld-operator\/d6a80dc7-f243-47e3-9aa3-3add62238a69-size-2.png",

"min_price":330,

"max_price":50600,

"Fixed_price":[],

"currency":"XOF",

"fees_transaction_percent":"0.015"

}

}
</code></pre>

#### [Quelques erreurs ](#user-content-fn-1)[^1]&#x20;

```php
TOKEN_IS_REQUIRED
```

Cette erreur est retournée avec le  status *<mark style="color:red;">**422**</mark>* lorsque la requête est formulée avec le champ token ***vide***

```php
INVALID_ACCOUNT ou SUSPENDED_ACCOUNT

```

Cette erreur es associé au status code *<mark style="color:red;">**403**</mark>*

Votre compte est invalide ou inactif en cas d'inactivité pendant une longue période.

```php
ERROR_MAINTENANCE
```

Status code : *<mark style="color:red;">**403**</mark>*

Une erreur interne au serveur ou une maintenance

```php
PHONE_NUMBER_REQUIRED ou COUNTRY_CODE_REQUIRED
```

Status code: *<mark style="color:red;">**400**</mark>*

Ces erreurs indiquent spécifiquement que vous envoyez au serveur une requête avec le champ numéro de téléphone vide ou le champ Iso code pays est vide.

```php
TOKEN_INVALID
```

Status code: *<mark style="color:red;">**401**</mark>*

Cette erreur s'affiche lorsque votre token ne correspond pas simplement à celui généré dans votre tableau de bord.

```php
INATIVE
```

Staus code: *<mark style="color:red;">**422**</mark>*

Cette signifie que l'opérateur réseau associé au  numéro mobile entré n'est pas actuellement disponible

```php
OPERATOR_NOT_IN_SERVICE
```

Status code: *<mark style="color:red;">**422**</mark>*

Cela veut dire que l'opérateur n'est en service actuellement, ça peut être du à une opération de maintenance initié par l'operateur concerné.

```php
OPERATOR_UNAVAILABLE_OR_CURRENTLY
```

Status code: *<mark style="color:red;">**422**</mark>*

L'opérateur ne fais pas parti de notre service réseau.

```php
COULD_NOT_AUTO_DETECT_OPERATOR
```

Status code : *<mark style="color:red;">**422**</mark>*

Cette erreur indique que le système n'arrive pas à détecter votre opérateur. Cela arrive généralement quand un numéro est mal formaté ou quand vous entrer le numéro d'une ligne fixe.

```php
INTERNAL_ERROR_UNABLE_TO_DETECT
```

Status code: *<mark style="color:red;">**500**</mark>*

Une erreur interne du serveur, la détection de l'opérateur a échoué

```php
METHOD_NOT_ALLOWED
```

Code erreur : <mark style="color:red;">**405**</mark>

Cette erreur survient lorsque vous essayez d'accéder à l'API directement via  le lien: <mark style="color:purple;"><https://mactopup.com/api/detect\\_operator></mark> sans soumettre une requête ***POST***

[^1]:
