# `Sat.Cfdi.Descarga.Masiva.Verificacion`

Servicio `VerificaSolicitudDescarga` del WS de Descarga Masiva.

Endpoint: `https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/CFDI-descarga-masiva-CSD-ConsultaService/verificacion`.

Consulta el estado de una solicitud previa. Posibles estados:
`:aceptada` (1), `:en_proceso` (2), `:terminada` (3), `:error` (4),
`:rechazada` (5), `:vencida` (6).
Cuando el estado es `:terminada`, la respuesta incluye los `IdsPaquetes`
listos para descargar.

# `endpoint`

Endpoint del servicio.

# `esperar_terminada`

```elixir
@spec esperar_terminada(
  Sat.Cfdi.Descarga.Masiva.Types.Token.t(),
  String.t(),
  keyword()
) ::
  {:ok, Sat.Cfdi.Descarga.Masiva.Types.VerificacionResult.t()}
  | {:error, term()}
```

Hace polling hasta que la solicitud termine (estado `:terminada`,
`:error`, `:rechazada` o `:vencida`).

Opciones extra:
  * `:poll_interval_ms` (default 30_000)
  * `:max_attempts` (default 60 — total maximo ~30 minutos)

# `soap_action`

SOAPAction.

# `verificar`

```elixir
@spec verificar(Sat.Cfdi.Descarga.Masiva.Types.Token.t(), String.t(), keyword()) ::
  {:ok, Sat.Cfdi.Descarga.Masiva.Types.VerificacionResult.t()}
  | {:error, term()}
```

Verifica el estado de una solicitud por su `id_solicitud`.

Opciones:
  * `:credential` (requerido) — FIEL para firmar
  * `:rfc_solicitante` (requerido) — RFC del solicitante
  * `:endpoint` — override
  * `:timeout` — HTTP timeout

---

*Consult [api-reference.md](api-reference.md) for complete listing*
