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

# API de Programacion

> Programa mensajes de WhatsApp programaticamente usando la API de Programacion de EazyBe

La API de Programacion permite a los usuarios organizacionales autenticados programar mensajes de WhatsApp de forma programatica. La API valida la membresia del usuario en la organizacion, verifica los detalles requeridos del mensaje y maneja problemas de permisos.

<Warning>
  No uses esta API para spam o mensajes masivos. El uso indebido puede resultar en bloqueo de cuenta.
</Warning>

## Endpoint

```
POST https://api.eazybe.com/v2/scheduler/public-scheduler
```

<Card title="Coleccion de Postman" icon="file-code">
  Accede a la coleccion de la API a traves del workspace compartido de Postman de EazyBe.
</Card>

## Autenticacion

Necesitas obtener el **Token de Autenticacion de la Organizacion** desde tu Workspace de EazyBe.

<Steps>
  <Step title="Accede al Workspace de EazyBe">
    Ve a [workspace.eazybe.com](https://workspace.eazybe.com)
  </Step>

  <Step title="Navega a la Pagina de Organizacion">
    Un administrador necesita acceder a la pagina de Organizacion.
  </Step>

  <Step title="Copia el Token de Autenticacion">
    El Token de Autenticacion de la Organizacion se mostrara en esta pagina. Copialo para usar con la API.

    <img src="https://mintcdn.com/eazybe/7ajmdd-9F9yx9D--/images/1294609565.png?fit=max&auto=format&n=7ajmdd-9F9yx9D--&q=85&s=e352375854d30dc3af64eca72a2f2310" alt="Token de Autenticacion de la Organizacion" width="1777" height="483" data-path="images/1294609565.png" />
  </Step>
</Steps>

## Payload de la Solicitud

La API requiere los siguientes campos:

| Campo     | Tipo   | Descripcion                                              |
| --------- | ------ | -------------------------------------------------------- |
| `from`    | string | Direccion de correo organizacional del remitente         |
| `to`      | string | Numero de telefono del receptor (formato internacional)  |
| `message` | string | Contenido de texto a enviar                              |
| `name`    | string | Nombre del receptor para notificaciones                  |
| `time`    | string | Marca de tiempo de entrega programada (formato ISO 8601) |

### Ejemplo de Payload

```json theme={null}
{
  "from": "hello@eazybe.com",
  "to": "919876543210",
  "message": "Hello World",
  "name": "Vats",
  "time": "2024-03-01T17:25:00.000Z"
}
```

## Ejemplo de Codigo (Node.js)

```javascript theme={null}
const axios = require('axios');

const config = {
  method: 'post',
  url: 'https://api.eazybe.com/v2/scheduler/public-scheduler',
  headers: {
    'Authorization': 'Bearer YOUR_ORGANIZATION_AUTH_TOKEN',
    'Content-Type': 'application/json'
  },
  data: {
    from: 'hello@eazybe.com',
    to: '919876543210',
    message: 'Hello World',
    name: 'Vats',
    time: '2024-03-01T17:25:00.000Z'
  }
};

axios(config)
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
```

## Estado de Respuesta

| Estado    | Descripcion                                               |
| --------- | --------------------------------------------------------- |
| **Exito** | Mensaje programado exitosamente                           |
| **Fallo** | Email invalido, campos faltantes, o problemas de permisos |

## Mejores Practicas

<CardGroup cols={2}>
  <Card title="Verificar Remitente" icon="check">
    Asegurate de que el email del remitente pertenezca a tu organizacion
  </Card>

  <Card title="Evitar Spam" icon="ban">
    No uses para mensajes masivos o actividades de spam
  </Card>

  <Card title="Token Valido" icon="key">
    Manten un Token de Autenticacion de Organizacion valido
  </Card>

  <Card title="Formato Internacional" icon="phone">
    Usa formato de telefono internacional (ej., 919876543210)
  </Card>
</CardGroup>

***

<Note>
  Si tienes alguna pregunta o necesitas mas asistencia, no dudes en contactarnos en **[hey@eazybe.com](mailto:hey@eazybe.com)**. ¡Estamos felices de ayudar!
</Note>
