RU EN ES

Documentación

Descripción de endpoints SOAP, variables de entorno, códigos de estado y ejemplos de uso.

SOAP Endpoints
EndpointURLAuth
Autenticacion /Autenticacion/Autenticacion.svc WS-Security (FIEL)
SolicitaDescarga /SolicitaDescargaService.svc Bearer token
VerificaSolicitud /VerificaSolicitudDescargaService.svc Bearer token
DescargaMasiva /DescargaMasivaService.svc Bearer token
Workflow
  1. Autenticacion — POST с FIEL (WS-Security) → получаем токен (живёт 5 мин)
  2. SolicitaDescarga — POST с фильтрами → idSolicitud
  3. VerificaSolicitud — опрос статуса → EstadoSolicitud + idsPaquetes
  4. DescargaMasiva — скачать пакет (ZIP base64) по idPaquete (макс. 2 раза)
EstadoSolicitud
1Aceptada
2En proceso
3Terminada
4Error
5Rechazada
6Vencida
Environment variables
VariableDefaultDescription
FIEL_VALIDATION_MODElenientlenient | strict
DEFAULT_PROCESSING_DELAY_SECONDS5Delay before request completes
ADMIN_PASSWORDadminAdmin UI password
SAT_API_VERSIONv1.5legacy | v1.5 (default on startup)
CLOUDPUB_TOKENCloudpub tunnel token
Python example (zeep)
from zeep import Client
from zeep.transports import Transport

BASE = "http://localhost:3335"

# 1. Autenticacion
auth_client = Client(f"{BASE}/Autenticacion/Autenticacion.svc?wsdl")
token = auth_client.service.Autentica()  # returns raw token string in v1.5

# 2. SolicitaDescarga
solicita_client = Client(f"{BASE}/SolicitaDescargaService.svc?wsdl")
result = solicita_client.service.SolicitaDescargaMasivaTercerosCFDI(
    peticionDescarga={...},
    _soapheaders={"Authorization": token}
)
id_solicitud = result.IdSolicitud

# 3. VerificaSolicitud (poll until EstadoSolicitud == 3)
verifica_client = Client(f"{BASE}/VerificaSolicitudDescargaService.svc?wsdl")

# 4. DescargaMasiva
descarga_client = Client(f"{BASE}/DescargaMasivaService.svc?wsdl")
pkg = descarga_client.service.PeticionDescargaMasivaTercerosCFDI(...)
zip_bytes = base64.b64decode(pkg.Paquete)