## URL de l'API

URL utilisée pour l'envoi des requêtes HTTP :

```url
https://portal.bulkgate.com/api/1.0/simple/promotional
```

> [!NOTE]
> Si la requête n'atteint pas sa destination, renvoyez-la sur le [serveur de secours](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/serveur-de-secours/) `backup1.bulkgate.com`.

## Méthodes HTTP prises en charge

- `GET`
- `POST` - `application/x-www-form-urlencoded`
- `POST` - `application/json`

Des exemples pour chacune sont disponibles dans les [méthodes de requête](https://www.bulkgate.com/fr/documentation/simple-api/simple-promotional-methodes/).

## Tableau des paramètres

| NOM DU PARAMÈTRE	   | VALEUR                                                                                                                                                                                                                                                                                                                                            | 	OBLIGATOIRE | VALEUR PAR DÉFAUT |
|:------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------|:--------------|
| application_id    | [Identifiant de l'application](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/administration-api/)                                                                                                                                                                                                                                                                                        | **Oui**    | -             | 
| application_token | [Jeton d'authentification de l'application](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/tokens-d-api/)                                                                                                                                                                                                                                                                                          | **Oui**    | -             |
| number            | Numéros des destinataires séparés par `;` (point-virgule) 	                                                                                                                                                                                                                                                                                                  | **Oui**    | -             |
| text              | Texte du message SMS (612 caractères max., ou 268 caractères en Unicode), encodage UTF-8	                                                                                                                                                                                                                                                | **Oui**    | -             |
| unicode	          | `Yes`/`true`/`1` pour un SMS Unicode, `no`/`false`/`0` pour un SMS 7 bits                                                                                                                                                                                                                                                                                  | Non         | `false`       |
| sender_id         | Identifiant d'expéditeur, voir [type d'expéditeur](#type-d-expediteur-sender-id)                                                                                                                                                                                                                                                                                       | Non         | `gSystem`     |
| sender_id_value   | Valeur de l'expéditeur - `gOwn` (p. ex. « 420 777 777 777 »), `gText` (p. ex. « BulkGate »), `gProfile` (p. ex. « 423 »), `gMobile` ou `gPush` [(CLÉ)](https://www.bulkgate.com/fr/centre-d-aide/mobile-connect/installation-mobile-connect/)                                                                                                                                                                                |            |               |
| country           | Indiquez les numéros des destinataires au format international (avec l'indicatif, p. ex. `420`) ou ajoutez le [code pays](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) (`775123456` + `CZ` = `420775123456`). Voir l'exemple de requête avec pays. Si la valeur est **`null`**, le fuseau horaire que vous avez défini sert à compléter l'information | Non         | `null`        |
| schedule          | Planification de la date et de l'heure d'envoi au format [timestamp Unix](https://en.wikipedia.org/wiki/Unix_time) ou [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). Voir les exemples ci-dessous. La valeur `now` envoie le message immédiatement, comme si le paramètre était omis. | Non         | Maintenant           |
| duplicates_check  | Choisissez **`on`** pour éviter l'envoi de messages en double au même numéro de téléphone. Les messages au texte identique envoyés au même numéro seront supprimés. Avec **`off`**, aucun doublon n'est supprimé. Les doublons sont supprimés **uniquement au sein d'un même lot**, et non d'une requête à l'autre.                                                                                                                                                 | Non         | `off`         |
| tag               | Libellé du message permettant à l'utilisateur de le retrouver ultérieurement.                                                                                                                                                                                                                                                                                              | Non         | -             |

### Type d'expéditeur `sender_id`

| VALEUR	     | DESCRIPTION                                                          |
|:-----------|:---------------------------------------------------------------------|
| `gSystem`  | Numéro système                                                        | 
| `gShort`   | Short Code                                                           | 
| `gText`    | Expéditeur texte                                                          | 
| `gMobile`  | [Mobile Connect](https://www.bulkgate.com/fr/centre-d-aide/mobile-connect/installation-mobile-connect/)                    |
| `gPush`    | Mobile Connect push - Envoie une notification dans l'application Mobile Connect |
| `gOwn`     | Numéro personnel (vérification du numéro requise)                            | 
| `gProfile` | [ID de profil BulkGate](https://www.bulkgate.com/fr/centre-d-aide/sms/profil-d-expediteur/)                    |
| `<int>`    | ID de profil BulkGate                                                  | 

## Exemples de requêtes

**Exemple de requête complète :**

```url
https://portal.bulkgate.com/api/1.0/simple/promotional
    ?application_id=451
    &application_token=NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj
    &number=420777777777;420775123456;606123456
    &text=test_sms
    &unicode=yes
    &sender_id=gText
    &sender_id_value=BulkGate
    &country=cz
    &schedule=2018-05-14T18:30:00-01:00
```

**Exemple de requête avec pays :**

```url
https://portal.bulkgate.com/api/1.0/simple/promotional
    ?application_id=451
    &application_token=NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj
    &number=606123456;420777777777
    &text=test_sms
    &country=cz
```

**Exemple de requête au format ISO 8601 :**

```url
https://portal.bulkgate.com/api/1.0/simple/promotional
    ?application_id=451
    &application_token=NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj
    &number=420775123456;420606123456
    &text=test_sms
    &schedule=2018-05-14T18:30:00-01:00
```

**Exemple de requête avec timestamp Unix :**

```url
https://portal.bulkgate.com/api/1.0/simple/promotional
    ?application_id=451
    &application_token=NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj
    &number=420775123456;420606123456
    &text=test_sms
    &schedule=1526992636
```

**Exemple de requête POST JSON :**

```http-json
POST /api/1.0/simple/promotional HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
    "application_id": 451,
    "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
    "number": "420777777777;420775123456;606123456",
    "text": "test_sms",
    "unicode": true,
    "sender_id": "gText",
    "sender_id_value": "BulkGate",
    "country": "cz",
    "schedule": "2018-05-14T18:30:00-01:00"
}
```

## Réponse

**En cas de succès :**

```json
{
  "data": {
    "total": {
      "status": {
        "sent": 0,
        "accepted": 0,
        "scheduled": 2,
        "error": 1
      }
    },
    "response": [
      {
        "status": "scheduled",
        "sms_id": "idfkvqrp-0",
        "part_id": [
                    "idfkvqrp-0_1",
                    "idfkvqrp-0_2",
                    "idfkvqrp-0"
                ],
        "number": "420775123456"
      },
      {
        "status": "scheduled",
        "sms_id": "idfkvqrp-1",
        "part_id": [
                    "idfkvqrp-1_1",
                    "idfkvqrp-1_2",
                    "idfkvqrp-1"
                ],
        "number": "420606123456"
      },
      {
        "status": "error",
        "code": 9,
        "error": "Invalid phone number",
        "number": "44771447678"
      }
    ]
  }
}
```

Où :

- **part_ID** est le tableau des ID des parties du message long d'origine, scindé parce qu'il dépassait la limite de 160 caractères d'un message unique. Plus d'informations [ici](https://www.bulkgate.com/fr/centre-d-aide/sms/concatenation-des-messages/).

**En cas d'erreur :**

```json
{
    "type": "invalid_phone_number",
    "code": 400,
    "error": "Invalid phone number",
    "detail": null
}
```

```json
{
    "type": "unknown_identity",
    "code": 401,
    "error": "Unknown identity / unauthorized / empty application_id",
    "detail": null
}
```

Où :

- **type** et **error** (description de l'erreur) sont décrits dans le [tableau des types d'erreurs](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/) 
- **code** représente le code d'erreur HTTP
- **detail** contient des informations complémentaires sur l'erreur

Tous les types d'erreurs de la Simple API et de l'Advanced API sont disponibles [ici](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/).
