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

# Créer/Mettre à jour un contact WhatsApp

> Créez ou mettez à jour un contact dans le store local WhatsApp

### Endpoint

<ParamField method="POST" path="/v1/whatsapp/contacts/update" />

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token avec votre Secret Key (format: `Bearer sk_...`)
</ParamField>

### Body Parameters

<ParamField body="accountId" type="string" required>
  L'identifiant du compte WhatsApp
</ParamField>

<ParamField body="phone" type="string" required>
  Le numéro de téléphone au format international
</ParamField>

<ParamField body="name" type="string" required>
  Le nom du contact
</ParamField>

<ParamField body="businessName" type="string">
  Le nom business du contact (optionnel)
</ParamField>

### Notes

* Si le contact existe déjà, il sera mis à jour
* Si le contact n'existe pas, il sera créé dans le store local
* Le numéro doit être au format international (+...)
* Le businessName est optionnel

### Exemples de requêtes

<CodeGroup>
  ```bash BASH theme={null}
  curl -X POST https://api.wachap.com/v1/whatsapp/contacts/update \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer token" \
    -d '{
      "accountId": "a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878",
      "phone": "+2290112345678",
      "name": "John Doe",
      "businessName": "John'\''s Business"
    }'
  ```

  ```javascript JAVASCRIPT theme={null}
  const response = await fetch('https://api.wachap.com/v1/whatsapp/contacts/update', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer token',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      accountId: 'a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878',
      phone: '+2290112345678',
      name: 'John Doe',
      businessName: "John's Business"
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python PYTHON theme={null}
  import requests

  url = "https://api.wachap.com/v1/whatsapp/contacts/update"
  headers = {
      "Authorization": "Bearer token",
      "Content-Type": "application/json"
  }
  payload = {
      "accountId": "a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878",
      "phone": "+2290112345678",
      "name": "John Doe",
      "businessName": "John's Business"
  }

  response = requests.post(url, json=payload, headers=headers)
  print(response.json())
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init();

  $payload = [
      "accountId" => "a1233b-a1233b-a1233b-a1233b-a1233bcdjdg9878",
      "phone" => "+2290112345678",
      "name" => "John Doe",
      "businessName" => "John's Business"
  ];

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.wachap.com/v1/whatsapp/contacts/update",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
      "Authorization: Bearer token",
      "Content-Type: application/json"
    ],
  ]);

  $response = curl_exec($curl);
  curl_close($curl);
  echo $response;
  ?>
  ```
</CodeGroup>

### Exemple de réponse

```json theme={null}
{
  "success": true,
  "message": "Contact mis à jour avec succès",
  "contact": {
    "jid": "2290112345678@s.whatsapp.net",
    "phoneNumber": "2290112345678",
    "name": "John Doe",
    "businessName": "John's Business"
  }
}
```

### Codes d'erreur

| Code  | Description                                      |
| :---- | :----------------------------------------------- |
| `400` | MISSING\_ACCOUNT\_ID - accountId manquant        |
| `400` | MISSING\_PHONE - phone manquant                  |
| `400` | MISSING\_NAME - name manquant                    |
| `401` | INVALID\_SECRET\_KEY - Clé secrète invalide      |
| `404` | ACCOUNT\_NOT\_FOUND - Compte WhatsApp non trouvé |


## OpenAPI

````yaml POST /whatsapp/contacts/update
openapi: 3.0.3
info:
  title: WaChap API
  version: 2.0.0
servers:
  - url: https://api.wachap.com/v1
    description: WaChap API server
security:
  - BearerAuth: []
tags:
  - name: Instances
    description: Créer et gérer des instances WhatsApp
  - name: Webhook
    description: Configuration des webhooks de réception
  - name: Messages
    description: Envoyer des messages WhatsApp
  - name: Comptes
    description: Gérer vos comptes WhatsApp connectés
  - name: SMS
    description: Service SMS de WaChap (V4) via FCM
  - name: Étiquettes WhatsApp
    description: Créer et associer des étiquettes aux conversations WhatsApp
paths:
  /whatsapp/contacts/update:
    post:
      tags:
        - Contacts
      summary: Créer/Mettre à jour un contact
      description: Ajouter ou modifier un contact.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                phone:
                  type: string
                name:
                  type: string
                businessName:
                  type: string
      responses:
        '200':
          description: OK
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````