Integración para la emisión de DTE

Sigue los pasos para emitir documentos tributarios desde tu software usando API Gayeway.

Conocimientos Previos

Antes de comenzar con la emisión de documentos, es importante que tengas en cuenta los siguientes conocimientos previos:


Configuración del Certificado Digital

Formatos de Certificado

API Gateway acepta certificados en los siguientes formatos:

Formato Extensión Descripción
PFX/P12 .pfx, .p12 Formato binario con clave privada incluida
PEM .pem, .crt, .key Formato texto, certificado y clave separados

Conversión de Formatos

De PFX a PEM (Linux/Mac)

# Extraer certificado
openssl pkcs12 -in certificado.pfx -clcerts -nokeys -out cert.pem

# Extraer clave privada
openssl pkcs12 -in certificado.pfx -nocerts -nodes -out key.pem

# Verificar certificado
openssl x509 -in cert.pem -text -noout

De PFX a PEM (Windows - PowerShell)

# Usando OpenSSL para Windows
.\openssl.exe pkcs12 -in certificado.pfx -clcerts -nokeys -out cert.pem
.\openssl.exe pkcs12 -in certificado.pfx -nocerts -nodes -out key.pem

Ambientes de Trabajo

API Gateway ofrece dos ambientes principales para la emisión de DTEs:

1. Ambiente de Certificación (Pruebas)

Característica Detalle
URL Base https://legacy.apigateway.cl
Parámetro ?certificacion=1
Propósito Pruebas y desarrollo
Datos Ficticios, sin validez legal
Límites Más flexibles
SII Ambiente de certificación del SII

Ejemplo de uso:

POST https://legacy.apigateway.cl/api/v1/libredte/dte/envios/enviar?certificacion=1

2. Ambiente de Producción

Característica Detalle
URL Base https://legacy.apigateway.cl
Parámetro ?certificacion=0
Propósito Emisión real de DTEs
Datos Reales con validez legal
Límites Según plan contratado
SII Ambiente de producción del SII

Ejemplo de uso:

POST https://legacy.apigateway.cl/api/v1/libredte/dte/envios/enviar?certificacion=0

Librerías y SDKs

SDKs Oficiales

Lenguaje Repositorio Instalación
Python apigateway-api-client-python pip install apigateway-api-client
PHP apigateway-api-client-php composer require apigatewaycl/apigateway-api-client

Librerías HTTP Recomendadas

Si prefieres no usar un SDK:

Python

# requests
pip install requests

# Ejemplo
import requests

response = requests.post(
    'https://legacy.apigateway.cl/api/v1/libredte/dte/envios/enviar',
    json=data,
    params={'certificacion': 1}
)

PHP

// Guzzle
composer require guzzlehttp/guzzle

// Ejemplo
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://legacy.apigateway.cl/api/v1/libredte/dte/envios/enviar',
    [
        'json' => $data,
        'query' => ['certificacion' => 1]
    ]
);

Configuración del Entorno de Desarrollo

Variables de Entorno

Crea un archivo .env para gestionar configuraciones:

# API Gateway
API_GATEWAY_URL=https://legacy.apigateway.cl
API_GATEWAY_ENV=0 # 0: Producción, 1: Certificación

# Certificados
CERT_PATH=./certs/cert.pem
KEY_PATH=./certs/key.pem

# Logs
LOG_LEVEL=DEBUG
LOG_PATH=./logs/
On this page

Last updated on 28/08/2025 by Anonymous