## URL de l'API
URL utilisée pour envoyer les requêtes HTTP :
```url
https://portal.bulkgate.com/api/1.0/address-book/edit
```

> [!NOTE]
> Si la requête n'atteint pas sa destination, renvoyez-la au [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

- `POST` - `application/json`

```http
POST /api/1.0/address-book/edit HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

## Tableau des paramètres

| NOM DU PARAMÈTRE  | VALEUR                                        | OBLIGATOIRE | VALEUR PAR DÉFAUT           |
|:------------------|:----------------------------------------------|:------------|:----------------------------|
| application_id    | [Application ID](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/administration-api/) | **Oui**     | -                           | 
| application_token | [Jeton d'application](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/tokens-d-api/)	     | **Oui**     | -                           |
| phone_number      | Numéro de téléphone du contact à modifier.    | **Oui**     | -                           |
| data              | Informations du contact                       | **Oui**     | [Objet data](#objet-data)   |
| category          | Le carnet d'adresses à utiliser. Par défaut, le carnet principal du compte. | Non         | `main`                      |

> [!NOTE]
> Un champ omis reste inchangé — le schéma le remplit avec `-do-not-modify-`. Pour vider un champ, envoyez une chaîne vide.

## Objet data

| NOM DU PARAMÈTRE | VALEUR                                                                                                                           | OBLIGATOIRE | VALEUR PAR DÉFAUT |
|:---------------|:---------------------------------------------------------------------------------------------------------------------------------|:------------|:------------------|
| type           | Personne/Entreprise                                                                                                              | **Non**     | -             |
| phone_mobile   | Numéro de téléphone principal                                                                                                    | **Non**     | -             | 
| title_before   | Titre avant le nom	                                                                                                             | **Non**     | -             |
| first_name     | Prénom	                                                                                                                          | **Non**     | -             |
| last_name      | Nom	                                                                                                                             | **Non**     | -             |
| title_after    | Titre après le nom	                                                                                                             | **Non**     | -             |
| gender         | male / female / transgender / agender / non_binary / unknown            | **Non**     | unknown       |
| company_name   | Nom de votre entreprise                                                                                                          | **Non**     | -             |
| email          | E-mail                                                                                                                           | **Non**     | -             |
| url            | URL                                                                                                                              | **Non**     | -             |
| street1        | Adresse (ligne 1)                                                                                                                | **Non**     | -             |
| street2        | Adresse (ligne 2)                                                                                                                | **Non**     | -             |
| city           | Ville                                                                                                                            | **Non**     | -             |
| zip            | Code postal                                                                                                                      | **Non**     | -             |
| state          | État / région                                                                                                                    | **Non**     | -             |
| country        | [Code pays au format ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements). | **Non**     | `null`        |
| company_number | Numéro d'identification de l'entreprise                                                                                          | **Non**     | -             |
| company_vat    | Numéro de TVA de l'entreprise                                                                                                    | **Non**     | -             |
| note           | Note                                                                                                                             | **Non**     | -             |
| custom_field_0 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_1 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_2 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_3 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_4 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_5 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_6 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_7 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_8 | Champ personnalisé                                                                                                               | **Non**     | -             |
| custom_field_9 | Champ personnalisé                                                                                                               | **Non**     | -             |

## Exemple de requête

```http-json
POST /api/1.0/address-book/edit HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
	"application_id": 451,
	"application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
	"phone_number": "123456789",
	"data": {
		"first_name": "Morgan",
		"last_name": "Yu",
		"phone_mobile": "123456789",
		"street1": "Crew's quarters",
		"street2": "Executive suite",
		"country": "Talos 1",
		"email": "morganyu@talos.com"
	}
}
```


## Réponse

**En cas de succès :**
```json
{
    "data": {
        "message": "contact_has_been_edited"
    }
}
```


**En cas d'erreur :**
```json
{
    "type": "number_not_found",
    "code": 400,
    "error": "Number not found",
    "detail": null
}
```

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

```json
{
    "type": "invalid_phone_mobile",
    "code": 400,
    "error": "Invalid phone mobile",
    "detail": null
}
```

Où :

- **type** et **error** (description de l'erreur) figurent 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
