# WhatsApp Opt-in

### Descripción

Un opt-in en WhatsApp le permite a los negocios realizar un registro explicito de la autorización de un usuario para recibir mensajes  por fuera de las ventanas de sesión de 24 horas.

El presente documento detalla el endpoint que permite tomar el opt-in de un usuario de WhatsApp.

### Solicitud

* **URL**: `https://backend.optiwe.com/opt-ins/whatsapp/`
* **Verbo HTTP**: `POST`
* **Encabezados de solicitud**:
  * Content-Type: `application/json`
  * Authorization: `Bearer YOUR_TOKEN`
* **Cuerpo de solicitud**:

```json
{
   "phone": "1155394374", 
   "countryCode": "+54",
   "name": "Sebastian Perez",
   "email": "sperez@gmail.com",
   "customerGroups": ["sign_up_form"]
}
```

#### **Observaciones**:

* Phone: Es el número de teléfono. La cantidad de dígitos esperados varia según cada país. Como máximo se esperan 10 dígitos. Por ejemplo para Buenos Aires, Argentina, los 10 dígitos se componen de 2 dígitos del código de area 11 y 8 dígitos correspondientes al número.
* Country code: Es el código país. Para Argentina es +54
* Name: Campo opcional.
* Email: Campo opcional.
* Customer groups: Campo opcional. Permite establecer en el opt-in cierta información relevante del contexto donde se tomó.

### Respuestas

#### **Exitosa**

* **Código de respuesta**: `HTTP 200 OK`.
* **Cuerpo de respuesta**: Vacío

#### **Número de teléfono inválido.**

* **Código de respuesta**: `HTTP 400 BAD REQUEST`.
* **Encabezados de respuesta**:
  * Content-Type: `application/json`
* **Cuerpo de respuesta**:

```json
{
    "error": {
        "key": "INVALID_WHATSAPP_NUMBER",
        "message": ""
    }
}
```

#### **Error de autenticación**

* **Código de respuesta**: `HTTP 401 UNAUTHORIZED`.
* **Encabezados de respuesta**:
  * Content-Type: `application/json`
* **Cuerpo de respuesta**:

```json
{
    "error": {
        "key": "NOT_AUTHENTICATED",
        "message": ""
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://soporte.optiwe.com/developers/whatsapp-opt-in.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
