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

# Estado del envío

> Consultar el estado y progreso de un envío masivo

## Descripción

Permite consultar el estado actual y el progreso detallado de un envío masivo. Incluye contadores de mensajes enviados, entregados, leídos y fallidos, además del porcentaje de progreso.

## Header de autenticación

<ParamField header="X-API-Key" type="string" required>
  Tu API Key de Mindo. Formato: `mindo_xxxxxxxxxxxxxxxxxxxxxxxx`
</ParamField>

## Parámetros de ruta

<ParamField path="bulk_send_id" type="string (UUID)" required>
  ID del envío masivo obtenido al crear el envío con [Enviar masivo](/api-reference/envio-masivo/enviar-masivo).
</ParamField>

## Respuesta

<ResponseField name="id" type="string (UUID)">
  ID único del envío masivo.
</ResponseField>

<ResponseField name="status" type="string">
  Estado actual del envío. Ver [tabla de estados](#estados-posibles).
</ResponseField>

<ResponseField name="template" type="object">
  Información del template utilizado.

  <Expandable title="Propiedades de template">
    <ResponseField name="id" type="integer">
      ID interno del template.
    </ResponseField>

    <ResponseField name="template_name" type="string">
      Nombre del template.
    </ResponseField>

    <ResponseField name="language" type="string">
      Idioma del template.
    </ResponseField>

    <ResponseField name="status" type="string">
      Estado del template en Meta (`APPROVED`).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="phone_number" type="object">
  Información del número de WhatsApp emisor.

  <Expandable title="Propiedades de phone_number">
    <ResponseField name="id" type="integer">
      ID interno del número.
    </ResponseField>

    <ResponseField name="display_phone_number" type="string">
      Número formateado para mostrar.
    </ResponseField>

    <ResponseField name="verified_name" type="string">
      Nombre verificado por Meta.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total_recipients" type="integer">
  Total de destinatarios del envío.
</ResponseField>

<ResponseField name="sent_count" type="integer">
  Cantidad de mensajes enviados.
</ResponseField>

<ResponseField name="delivered_count" type="integer">
  Cantidad de mensajes entregados al destinatario.
</ResponseField>

<ResponseField name="read_count" type="integer">
  Cantidad de mensajes leídos por el destinatario.
</ResponseField>

<ResponseField name="failed_count" type="integer">
  Cantidad de mensajes fallidos.
</ResponseField>

<ResponseField name="pending_count" type="integer">
  Cantidad de mensajes pendientes de envío.
</ResponseField>

<ResponseField name="progress_percentage" type="float">
  Porcentaje de progreso del envío (0-100).
</ResponseField>

<ResponseField name="estimated_time_minutes" type="float">
  Tiempo estimado de procesamiento en minutos.
</ResponseField>

<ResponseField name="started_at" type="string (ISO 8601)">
  Fecha y hora en que comenzó el procesamiento. `null` si aún no inició.
</ResponseField>

<ResponseField name="completed_at" type="string (ISO 8601)">
  Fecha y hora en que finalizó el procesamiento. `null` si no completó.
</ResponseField>

<ResponseField name="created_at" type="string (ISO 8601)">
  Fecha y hora de creación del envío.
</ResponseField>

<ResponseField name="created_by" type="object">
  Usuario que creó el envío.

  <Expandable title="Propiedades de created_by">
    <ResponseField name="id" type="integer">
      ID del usuario.
    </ResponseField>

    <ResponseField name="email" type="string">
      Email del usuario.
    </ResponseField>

    <ResponseField name="first_name" type="string">
      Nombre del usuario.
    </ResponseField>

    <ResponseField name="last_name" type="string">
      Apellido del usuario.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c/ \
    -H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
  ```

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

  bulk_send_id = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c"

  response = requests.get(
      f"https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/{bulk_send_id}/",
      headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"}
  )

  data = response.json()
  print(f"Estado: {data['status']}")
  print(f"Progreso: {data['progress_percentage']}%")
  print(f"Enviados: {data['sent_count']}/{data['total_recipients']}")
  ```

  ```javascript JavaScript theme={null}
  const bulkSendId = "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c";

  const response = await fetch(
    `https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/${bulkSendId}/`,
    {
      headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
    }
  );

  const data = await response.json();
  console.log(`Estado: ${data.status}`);
  console.log(`Progreso: ${data.progress_percentage}%`);
  console.log(`Enviados: ${data.sent_count}/${data.total_recipients}`);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Completado theme={null}
  {
    "id": "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "status": "COMPLETED",
    "template": {
      "id": 45,
      "template_name": "welcome_message",
      "language": "es",
      "status": "APPROVED"
    },
    "phone_number": {
      "id": 123,
      "display_phone_number": "+54 9 223 675-0780",
      "verified_name": "Mindo Software"
    },
    "total_recipients": 3,
    "sent_count": 3,
    "delivered_count": 2,
    "read_count": 1,
    "failed_count": 0,
    "pending_count": 0,
    "progress_percentage": 100.0,
    "estimated_time_minutes": 0.4,
    "started_at": "2025-11-16T21:30:05Z",
    "completed_at": "2025-11-16T21:30:28Z",
    "created_at": "2025-11-16T21:30:00Z",
    "created_by": {
      "id": 1,
      "email": "user@example.com",
      "first_name": "John",
      "last_name": "Doe"
    }
  }
  ```

  ```json 200 - En progreso theme={null}
  {
    "id": "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "status": "PROCESSING",
    "template": {
      "id": 45,
      "template_name": "welcome_message",
      "language": "es",
      "status": "APPROVED"
    },
    "phone_number": {
      "id": 123,
      "display_phone_number": "+54 9 223 675-0780",
      "verified_name": "Mindo Software"
    },
    "total_recipients": 100,
    "sent_count": 45,
    "delivered_count": 30,
    "read_count": 10,
    "failed_count": 2,
    "pending_count": 53,
    "progress_percentage": 47.0,
    "estimated_time_minutes": 6.0,
    "started_at": "2025-11-16T21:30:05Z",
    "completed_at": null,
    "created_at": "2025-11-16T21:30:00Z",
    "created_by": {
      "id": 1,
      "email": "user@example.com",
      "first_name": "John",
      "last_name": "Doe"
    }
  }
  ```

  ```json 404 - No encontrado theme={null}
  {
    "detail": "Not found."
  }
  ```

  ```json 401 - No autenticado theme={null}
  {
    "error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
  }
  ```
</ResponseExample>

## Estados posibles

| Estado       | Descripción                                |
| ------------ | ------------------------------------------ |
| `QUEUED`     | Envío creado y en cola de procesamiento    |
| `PROCESSING` | Enviando mensajes activamente              |
| `COMPLETED`  | Todos los mensajes procesados exitosamente |
| `PARTIAL`    | Procesado con algunos fallos               |
| `FAILED`     | El envío falló completamente               |
| `CANCELLED`  | Envío cancelado manualmente                |

<Note>
  Para ver el detalle de cada mensaje individual, usá el endpoint [Mensajes del envío](/api-reference/envio-masivo/mensajes-envio).
</Note>
