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

# API SMS

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

```
 <?php

$url = "https://macsmspro.com/api/sms_v2";
$fields = array(
    
    "name" => urlencode("AUTH"), // name of your message
    "telephone" => urlencode("004478562xxxx"), // recipient phone
    "message" => urlencode("Hello world"), // body of message
    "token" => urlencode("$2yxxxxxxxxxxxxxxxxxxxxxx"), // api token 
);

$fields_string = "";
foreach($fields as $key=>$value) { $fields_string .= $key."=".$value."&"; }


rtrim($fields_string, "&");

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


$result = curl_exec($ch);

curl_close($ch);



$result = json_decode($result);

print_r($result);



?>
```

Remplacez les valeurs des champ "name", "telephone", "message" et token dans le tableau ***$fields*** par les informations spécifiques à votre cas d'utilisation.

&#x20;Le résultat de la requête est stocké dans la variable ***$response***. Vous pouvez ensuite décoder les données JSON en utilisant ***json\_decode()*** pour obtenir les informations issues de la réponse API.

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 :  Avec le code <mark style="color:green;">200</mark> (<mark style="color:green;">success</mark>)

```
 {"success":
   {
     "delivered_status":"SUCCESSFUL",
     "sent_from":"AUTH",
     "sent_to":"004478562xxxx",
     "msg_body":"Hello world",
     "credits_used":0.48,
     "remaining_credits":431.68,
     "sender_ip":"36.121.214.155",
     "sender_user_agent":"Mozilla\/6.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/607.306 (KHTML, like Gecko) Chrome\/205.2.0.0 Safari\/607.30",
     "timestamp":"2023-08-19 15:35:30",
     "sender_url":"example.com/sms/form",
     "sender_used_browser":"Google Chrome",
     "sender_country":"FR",
     "sender_region":"Île-de-France",
     "sender_city":"Paris",
     "sender_location":"48.8567,2.3497",
     "sender_internet_provider":"AS9009 M247 Europe SRL"
     
    }
 }
```

**INTERPRETATION DES RESULTATS**

```
delivered_status // status du message envoyé
Cela indique que le destinataire a reçu le message
```

```
sent_from // le nom ID sender emis par l'émetteur
```

```
sent_to  // le destinataire du message
```

```
msg_body // le corps du message
```

```
credits_used //  le crédit utilisé
```

```
"remaining_credits // le crédit restant 
```

```
sender_ip // adresse IP de l'émetteur du message
```

```
sender_user_agent // le user agent de l'émetteur du message
```

```
timestamp // l'heure à laquelle le message a été envoyé, heure Royaume-Uni
```

```
sender_url // la plateforme sur laquelle la requête a été lancée.
Le système le recupère de façon automatique.
```

```
sender_used_browser // le navigateur d'accès utilisé par l'émetteur
```

```
sender_country // Le pays dans lequel l'émetteur a envoyé son message
```

```
sender_region // La région dans laquelle le message a été envoyé
```

```
"sender_city // La ville de l'émetteur
```

```
sender_location // coordonnées GPS de de l'émetteur 
```

```
sender_internet_provider //   Le fournisseur d'accès internet de l'émetteur.
```

***AUTRES REPONSES  RETOURNEES***&#x20;

```php
NAME_IS_REQUIRED
```

Le  nom émetteur ou ID Sender requis. erreur code : *<mark style="color:red;">**422**</mark>*

```php
ONLY_TEN_LETTERS_IS_REQUIRED_FOR_NAME
```

Le nom utilisé et validé ne doit contenir que 10 lettres. Code Erreur: *<mark style="color:red;">**422**</mark>*

```php
THE_RECIPENT_PHONE_NUMBER_IS_REQUIRED
```

Le numéro de téléphone destinataire est requis. Code erreur *<mark style="color:red;">**422**</mark>*

```php
THE_MESSAGE_BODY_IS_REQUIRED
```

Le corps du message est vide. Code erreur *<mark style="color:red;">**422**</mark>*

```php
TOKEN_REQUIRED
```

Ce message vous signale que vous essayez de soumettre le formulaire avec le champ <mark style="color:red;">token</mark> <mark style="color:orange;">vide</mark>

Cette erreur est retournée avec le  status *<mark style="color:red;">**422**</mark>*

```php
INVALID_ACCOUNT ou ACCOUNT_SUSPENDED
```

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

Votre compte n'est pas encore validé(compte invalide) ou votre compte a été suspendu(compte suspendu)

```php
ACCOUNT_NOT_CREDITED
```

Vous obtenez cet erreur lorsque votre balance est de 0.

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

```php
INSUFFICIENT_CREDIT
```

Votre crédit est insuffisant .  Code erreur :  *<mark style="color:red;">**403**</mark>*

&#x20;

```php
TOKEN_INVALID
```

Votre token est incorrect. Code erreur: *<mark style="color:red;">**401**</mark>*

```php
METHOD_NOT_ALLOWED
```

Accès non autorisé. Code erreur : *<mark style="color:red;">**405**</mark>*

```php
RECIPIENT_PHONE_IS_UNABLE_TO_RECEIVE_SMS_ID_SENDER
```

Envoi effectué  mais la ligne de votre destinataire n'est pas active.

```php
SMS_NOT_SENT
```

SMS non envoyé. Code erreur : *<mark style="color:red;">**422**</mark>*

```php
ERROR_CARRIER
```

Erreur réseau. Code erreur: *<mark style="color:red;">**500**</mark>*

```php
MEDIA_LINK_OR_LINK_NOT_AUTHORIZED_PLEASE_TRY_MMS_API
```

cette erreur indique que l'API SMS n'autorise pas des liens médias.

Dans ce cas veuillez utiliser l' API MMS
