---
title: "Capacitación inicial"
description: "Conoce los conceptos necesarios que te ayudarán a extraer datos del SII."
type: "academy"
category: "course"
tags: [api-gateway-legacy]
authors: [Anonymous]
date: "2026-08-27"
last_update: "2026-08-21"
time_minutes: 53
draft: false
unlisted: false
image: "https://www.apigateway.cl/img/content/academy/capacitacion-inicial/capacitacion-inicial.jpg"
url: "https://www.stage.apigateway.cl/academy/capacitacion-inicial"
---

# Capacitación inicial




---

## Introducción



---

### ¿Qué es API Gateway?

¿Qué es API Gateway?

# ¿Qué es API Gateway?

API Gateway es una plataforma que funciona como una pasarela entre tu software y el Servicio de Impuestos Internos (SII) de Chile.

Con API Gateway permitimos que los contribuyentes accedan a sus propios datos en el sitio web del SII, de una manera rápida y eficiente. Con esto facilitamos el cumplimiento tributario de muchas empresas en Chile apoyando sus procesos. Los cuales serían lentos y engorrosos sin nosotros.

&lt;twig:block-quote
    class=&quot;my-4&quot;
    content=&quot;Cuando me preguntan cómo extraemos los datos no es ningún secreto lo que hacemos, simulamos el comportamiento de un humano en el sitio web del SII. Mi meta cuando hice API Gateway era proveer una pasarela sencilla y que permitiese a las empresas de Chile poder responder de mejor manera a los requerimientos asociados al SII.&quot;
    author=&quot;Esteban De La Fuente Rubio&quot;
    note=&quot;Fundador de API Gateway&quot;
/&gt;

Existen 3 características fundamentales en nuestro servicio, que son los pilares de lo que hacemos:

| Los datos en tiempo real | Sin persistencia de datos | Para programadores |
|--------------------------|---------------------------|--------------------|
| ¿Qué dice nuestro nombre? ¡Somos una pasarela! Nada más, nosotros te facilitamos el acceso a tus datos en SII. | No almacenamos los datos de tus consultas, tus datos son tuyos, es información privada que no tenemos. | Ofrecemos servicios web, una API. Somos un servicio para perfiles técnicos. No proveemos interfaz web para los datos. |

En esta capacitación encontrarás los conceptos básicos que necesitas para empezar a usar API Gateway. Nuestro objetivo es que tengas los conocimientos para poder sacar el máximo provecho a nuestro software.


    
---

### Fe de erratas

Fe de erratas

# Fe de erratas

API Gateway no siempre se llamó así. En la historia de este proyecto hubo otros nombres y esos se aclararán acá porque podrías ver documentación o videos con información antigua que no hemos actualizado.

Originalmente, y debido a una muy mala decisión, el proyecto se llamó &quot;LibreDTE API&quot;. E increíblemente no tenía nada que ver con LibreDTE (un producto diferente). El error venía arrastrado de una época en la que los primeros servicios de API Gateway partieron en la API de LibreDTE, y ese nombre fue muy mal asignado después cuando se separaron los servicios web en un proyecto diferente. Este error duró en el nombre más de 3 años.

Luego, y por exactamente 4 meses, existió &quot;API SII&quot;. Sin embargo, a los pocos meses de inscribir el dominio, el SII nos contactó amablemente a través de sus abogados para indicarnos que debíamos dejar de usar el dominio.

Finalmente, y desde agosto de 2022, somos &quot;API Gateway&quot;.

Todo lo anterior lleva a que podrías ver en la documentación:

1. Referencias a &quot;LibreDTE API&quot; o a &quot;API SII&quot;.
2. Ejemplos con variables de entorno como &quot;LIBREDTE_API_URL&quot; o &quot;APISII_URL&quot;.

Si lo que estás viendo es documentación, ejemplos o código de API Gateway (y no de LibreDTE) entonces haz los ajustes correspondientes y todo estará ok.

Otra diferencia que podrías encontrar en los videos o documentación antigua es el bloqueo por exceder la cuota, antes era exceder en un 20% la cuota disponible. Ahora el bloqueo ocurre al superar las 10 consultas con código de respuesta HTTP 429.

&gt; [!INFO] Importante
&gt;
&gt;Estamos mejorando la documentación, ejemplos y código, para corregir las referencias al nombre actual.


    
---

### Bienvenidos a API Gateway


[![Watch video](https://img.youtube.com/vi/0tQIRGdkI20/hqdefault.jpg)](https://www.youtube.com/watch?v=0tQIRGdkI20)


    
---

### Principales funcionalidades


[![Watch video](https://img.youtube.com/vi/ljz3PMLidUE/hqdefault.jpg)](https://www.youtube.com/watch?v=ljz3PMLidUE)


    
---

### Cuota excedida y bloqueo de cuenta


[![Watch video](https://img.youtube.com/vi/MZTlYYGlyPs/hqdefault.jpg)](https://www.youtube.com/watch?v=MZTlYYGlyPs)


    
---

## Primeros Pasos



---

### Configuración de Proxy para Consultas al SII

Aprende a configurar un proxy para consultas al SII

# Configuración de Proxy para Consultas al SII

## ¿Por qué necesitas un proxy?

Un proxy es tu propio camino exclusivo hacia el SII. Cuando el SII implementa restricciones temporales por volumen de consultas, tener tu proxy significa que tus operaciones continúan sin interrupciones, independiente de lo que les ocurra a otros usuarios de la plataforma.

## ¿Cómo implementarlo?

Configurar tu proxy es más sencillo de lo que imaginas. En nuestro [tutorial técnico completo](https://www.apigateway.cl/docs/tutoriales/proxy) te guiamos paso a paso para:

- Instalar y configurar Squid usando Docker
- Asegurar tu proxy con autenticación robusta
- Integrarlo con tu cuenta de API Gateway
- Verificar que todo funcione correctamente

No necesitas ser un experto en sistemas: si sabes usar Docker, puedes tener tu proxy funcionando en el tiempo que tardas en tomar un café.

---


    
---

### Navegando Swagger UI

Aprende a usar la interfaz de Swagger para explorar y probar la API de API Gateway

# Navegando Swagger UI

Swagger UI es una herramienta interactiva que te permite explorar, entender y probar la API directamente desde tu navegador. No necesitas escribir código ni usar herramientas externas - todo está integrado en una interfaz visual amigable.

---

## Accediendo a Swagger UI

### URL de Acceso

Para acceder a la documentación interactiva de API Gateway:

```
https://www.apigateway.cl/docs
```

### Primera Vista

Al ingresar, verás:
- **Título de la API**: &quot;API Gateway&quot;
- **Descripción general**: Información sobre los servicios disponibles
- **Versión**: Version actual de la API (1.0.0)
- **Servidor base**: URL donde se ejecutan las peticiones

---

## Estructura de la Interfaz

### Secciones de Endpoints [CORREGIR]

Los endpoints están organizados por categorías:

```
📁 SII - Consultas
  └── GET /sii/contribuyentes/{rut}
  └── POST /sii/situacion-tributaria
  └── POST /sii/actividades

📁 LibreDTE - Emisión
  └── POST /libredte/dte/documentos/generar
  └── POST /libredte/dte/envios/enviar

📁 Utilidades
  └── GET /utilidades/validar-rut
  └── POST /utilidades/convertir-moneda
```

### Colores y Métodos HTTP

Cada método HTTP tiene un color específico:

| Método | Color | Uso típico |
|--------|-------|------------|
| **GET** | 🟦 Azul | Consultar información |
| **POST** | 🟩 Verde | Enviar datos/Crear recursos |
| **PUT** | 🟨 Amarillo | Actualizar completo |
| **DELETE** | 🟥 Rojo | Eliminar recursos |

---

## Funcionalidad &quot;Try it out&quot;

### Activar el Modo de Prueba

&gt; [!WARNING] Importante
&gt;
&gt; **Ojo que estarás probando directamente en el SII, no en la API Gateway.**

1. Selecciona cualquier endpoint
2. Haz clic en el botón **&quot;Try it out&quot;** (esquina superior derecha)
3. Los campos se vuelven editables

### Completar los Datos

Según el tipo de endpoint:

#### Para GET con parámetros:
```
Path parameter:
rut: [76192083-9] &lt;- Editable

Query parameters:
formato: [json ▼] &lt;- Dropdown con opciones
```

#### Para POST con body:
```json
{
  &quot;auth&quot;: {
    &quot;pass&quot;: {
      &quot;rut&quot;: &quot;11111111-1&quot;,
      &quot;clave&quot;: &quot;miclave&quot;
    }
  }
}
```

### Configurar Autorización

Antes de ejecutar endpoints protegidos:

1. Busca el botón **&quot;Authorize&quot;** 🔐 (parte superior)
2. Ingresa tu Bearer Token:
   ```
   Bearer tu_access_token_aqui
   ```
3. Clic en **&quot;Authorize&quot;**
4. El candado se cierra indicando autorización activa

---

## Ejecutar y Ver Resultados

### Botón Execute

Una vez configurados los parámetros:
1. Clic en **&quot;Execute&quot;**
2. Swagger envía la petición real a la API
3. Aparece la sección de respuesta

### Interpretando la Respuesta

La respuesta muestra:

1. **Curl Command**
   ```bash
   curl -X POST &quot;https://legacy.apigateway.cl/api/v1/sii/...&quot; \
     -H &quot;accept: application/json&quot; \
     -H &quot;Authorization: Bearer ...&quot; \
     -d &quot;{...}&quot;
   ```

2. **Request URL**
   ```
   https://legacy.apigateway.cl/api/v1/sii/situacion-tributaria
   ```

3. **Response Status**
   ```
   Code: 200 OK
   ```

4. **Response Headers**
   ```
   content-type: application/json
   x-ratelimit-limit: 1000
   x-ratelimit-remaining: 999
   ```

5. **Response Body**
   ```json
   {
     &quot;rut&quot;: &quot;76192083-9&quot;,
     &quot;razon_social&quot;: &quot;EMPRESA DEMO&quot;,
     &quot;estado&quot;: &quot;ACTIVO&quot;
   }
   ```


    
---

### Tu Primera Petición

Realiza tu primera consulta exitosa a la API de API Gateway usando Swagger UI

# Tu Primera Petición

Es momento de hacer tu primera petición real a la API. Comenzaremos con algo simple: validar un RUT. Este endpoint no requiere autenticación en el SII, por lo que es perfecto para empezar.

---

## Paso 1: Obtener tu Access Token

### ¿Qué es un Access Token?

Es tu &quot;llave&quot; para usar la API. Todas las peticiones deben incluir este token para identificarte como usuario autorizado.

### Dónde Obtenerlo

1. Ingresa a tu [Dashboard de API Gateway](https://legacy.apigateway.cl/dashboard)
2. En la sección **&quot;[API Auth](https://legacy.apigateway.cl/dashboard#api-auth)&quot;** podrás crear un nuevo token.
3. Haz clic en **&quot;Crear Token&quot;**
4. Copia el token generado.

&gt; [!INFO] Importante
&gt;
&gt; Este token es como una contraseña. No lo compartas ni lo subas a repositorios públicos.

---

## Paso 2: Configurar Autorización en Swagger

### Proceso de Autorización

1. En Swagger UI, busca el botón **&quot;Authorize&quot;** 🔐 (parte superior derecha)
2. Se abrirá un modal de autorización
3. En el campo **&quot;Value&quot;**, ingresa:
   ```
   Bearer sk_live_50kB1cGciOiJSUzI1NiIsInR5c...
   ```

&gt; [!NOTE] Nota
&gt;
&gt; Incluye la palabra &quot;Bearer&quot; seguida de un espacio antes del token

4. Haz clic en **&quot;Authorize&quot;**
5. El botón mostrará un candado cerrado 🔒 indicando que estás autenticado

### Verificar Autorización

Si la autorización fue exitosa:
- El candado aparece cerrado 🔒
- Verás tu token parcialmente oculto
- Opción para &quot;Logout&quot; disponible

---

## Paso 3: Seleccionar el Endpoint

### Endpoint Situación Tributaria de un Contribuyente

Busca en la sección **&quot;API Contribuyentes&quot;**:

```
GET /api/v1/sii/contribuyentes/situacion_tributaria/tercero/{rut}
```



**¿Por qué este endpoint?**
- Es simple (solo requiere un parámetro)
- No necesita autenticación SII
- Respuesta inmediata
- Útil para obtener la situación tributaria de un contribuyente

### Expandir el Endpoint

1. Haz clic sobre el endpoint
2. Se desplegará mostrando:
   - Descripción completa
   - Parámetros requeridos
   - Posibles respuestas

---

## Paso 4: Configurar la Petición

### Activar Modo de Prueba

1. Haz clic en **&quot;Try it out&quot;**
2. Los campos se vuelven editables

### Completar Parámetros

Para este endpoint solo necesitas:

```
Path Parameters
───────────────
rut*: 76192083-9
```

**Formato del RUT**:
- Sin puntos
- Con guión
- Con dígito verificador
- Ejemplo: `76192083-9` ✅
- No usar: `76.192.083-9` ❌

---

## Paso 5: Ejecutar la Petición

### Enviar la Solicitud

1. Verifica que el RUT esté correctamente ingresado
2. Haz clic en **&quot;Execute&quot;**
3. Swagger enviará la petición a la API

### Qué Sucede al Ejecutar

1. Swagger construye la petición completa
2. Añade tu Bearer Token automáticamente
3. Envía la solicitud al servidor
4. Espera la respuesta
5. Muestra los resultados

---

## Paso 6: Interpretar la Respuesta

### Respuesta Exitosa (200 OK)

```json
{
  &quot;actividades&quot;: [
    {
      &quot;afecta&quot;: true,
      &quot;categoria&quot;: 1,
      &quot;codigo&quot;: &quot;620200&quot;,
      &quot;glosa&quot;: &quot;ACTIVIDADES DE CONSULTORIA DE INFORMATICA Y DE GESTION DE INSTALACIONE&quot;
    }
  ],
  &quot;documentos_timbrados&quot;: [
    {
      &quot;documento&quot;: &quot;Factura Electronica&quot;,
      &quot;ultimo_timbraje&quot;: 2020
    },
  ],
  &quot;dv&quot;: &quot;9&quot;,
  &quot;excepcion_dte&quot;: false,
  &quot;fecha_inicio_actividades&quot;: &quot;2012-06-08&quot;,
  &quot;inicio_actividades&quot;: true,
  &quot;moneda_extranjera&quot;: false,
  &quot;obligacion_dte&quot;: true,
  &quot;observaciones&quot;: {
    &quot;actividad_esporadica&quot;: false,
    &quot;domicilio_inexistente&quot;: false,
    &quot;inconcurrente&quot;: false,
    &quot;no_habido_domicilio&quot;: false,
    &quot;no_ubicado&quot;: false,
    &quot;suplantado&quot;: false,
    &quot;termino_giro&quot;: false,
    &quot;termino_giro_obligatorio&quot;: false
  },
  &quot;pro_pyme&quot;: true,
  &quot;razon_social&quot;: &quot;SASCO SPA&quot;,
  &quot;rut&quot;: 76192083
}
```

**Campos de la respuesta**:
| Campo | Descripción |
|-------|-------------|
| `valido` | true si el RUT es válido |
| `rut` | RUT sin formato |
| `dv_calculado` | Dígito verificador correcto |
| `dv_ingresado` | Dígito que proporcionaste |
| `formato_completo` | RUT con puntos y guión |

### Headers de Respuesta

```
content-type: application/json
x-ratelimit-limit: 1000
x-ratelimit-remaining: 999
x-request-id: 550e8400-e29b-41d4
```

**Headers importantes**:
| Header | Significado |
|--------|-------------|
| `x-ratelimit-limit` | Peticiones máximas por hora |
| `x-ratelimit-remaining` | Peticiones restantes |
| `x-request-id` | ID único de esta petición |

---

## Analizando el cURL

Swagger genera automáticamente el comando cURL:

```bash
curl -X &#039;GET&#039; \
  &#039;https://legacy.apigateway.cl/api/v1/sii/contribuyentes/situacion_tributaria/tercero/76192083-9&#039; \
  -H &#039;accept: application/json&#039; \
  -H &#039;Authorization: Bearer sk_live_50kB1cGciOiJSUzI1NiIsInR5c...&#039;
```

**Componentes del comando**:
- `-X &#039;GET&#039;`: Método HTTP
- URL completa con el RUT
- `-H &#039;accept: application/json&#039;`: Esperamos JSON
- `-H &#039;Authorization: ...&#039;`: Tu token de acceso

---

## Ejercicios Adicionales

### 1. Probar con RUT Inválido

Intenta con: `11111111-2` (dígito verificador incorrecto)

Respuesta esperada:
```json
{
    &quot;rut&quot;: 11111111,
    &quot;dv&quot;: &quot;2&quot;,
    &quot;razon_social&quot;: null,
    &quot;inicio_actividades&quot;: null
}
```

### 2. Probar sin Autorización

1. Haz &quot;Logout&quot; en el modal de autorización
2. Ejecuta la misma petición
3. Observa el error 401

Respuesta esperada:
```json
{
  &quot;message&quot;: &quot;Unauthenticated.&quot;
}
```

### 3. Explorar Otro Endpoint Simple

Prueba con:
```
GET /api/v1/sii/contribuyentes/actividades_economicas
```

Este endpoint retorna el listado de actividades económicas.


    
---

### Autenticación SII - Método RUT/Clave

Aprende a autenticarte en el SII usando RUT y contraseña para realizar consultas tributarias

# Autenticación SII - Método RUT/Clave

La mayoría de las consultas al SII requieren autenticación. El método más simple es usar el RUT y contraseña del contribuyente. API Gateway actúa como intermediario, enviando estas credenciales al SII de forma segura para obtener los datos solicitados.

---

## Conceptos Clave

### ¿Por qué POST para consultas?

Aunque estemos &quot;consultando&quot; información, usamos POST porque:
- Necesitamos enviar credenciales en el body
- Las credenciales no deben ir en la URL
- Es más seguro que GET con parámetros

### Caché de Sesión

API Gateway mantiene la sesión del SII activa por **2 horas** para:
- Mejorar velocidad de respuesta
- Evitar bloqueos por múltiples inicios de sesión
- Optimizar el uso de recursos

---

## Estructura del Objeto auth.pass

### Formato JSON

```json
{
  &quot;auth&quot;: {
    &quot;pass&quot;: {
      &quot;rut&quot;: &quot;11111111-1&quot;,
      &quot;clave&quot;: &quot;mi_clave_sii&quot;
    }
  }
}
```

### Componentes

| Campo | Formato | Ejemplo | Descripción |
|-------|---------|---------|-------------|
| `rut` | String | &quot;76192083-9&quot; | Sin puntos, con guión |
| `clave` | String | &quot;miClave123&quot; | Contraseña del SII |

---

## Endpoint de ejemplo: BHE emitidas

### Descripción

Lista de boletas de honorarios **emitidas** por un contribuyente en un período. Es útil para comprobar que la autenticación con RUT y clave funciona y que recibes datos coherentes.

### Endpoint
```
POST /api/v1/sii/bhe/emitidas/documentos/{emisor}/{periodo}
```

### ¿Por qué este endpoint?
- ✅ Respuesta simple y útil
- ✅ Permite verificar autenticación
- ✅ Bajo riesgo de errores

---

## Paso a Paso en Swagger

### 1. Localizar el Endpoint

1. En Swagger, busca la sección **&quot;API Boletas de Honorarios (BHE)&quot;**
2. Encuentra `POST /sii/bhe/emitidas/documentos/{emisor}/{periodo}`
3. Expande el endpoint

### 2. Revisar la Documentación

Lee la descripción que indica:
- Qué información retorna
- Parámetros requeridos
- Posibles respuestas

### 3. Activar &quot;Try it out&quot;

Haz clic en el botón para habilitar la edición

### 4. Configurar Parámetros

#### Query Parameters
```
emisor: 11111111-1  (RUT del emisor a consultar)
periodo: 2024-01
```

#### Request Body
```json
{
  &quot;auth&quot;: {
    &quot;pass&quot;: {
      &quot;rut&quot;: &quot;11111111-1&quot;,
      &quot;clave&quot;: &quot;tu_clave_sii&quot;
    }
  }
}
```

&gt; [!NOTE] Nota
&gt;
&gt; El RUT en query es el emisor a consultar. El RUT en auth es quien hace la consulta. En este caso coincide el RUT del emisor con el RUT del contribuyente que hace la consulta.

### 5. Ejecutar

Clic en **&quot;Execute&quot;** y espera la respuesta

---

## Interpretando la Respuesta

### Respuesta Exitosa (200 OK)

```json
{
    &quot;n_boletas&quot;: 9,
    &quot;n_paginas&quot;: 1,
    &quot;boletas&quot;: [
        {
            &quot;numero&quot;: 133,
            &quot;rut&quot;: 76111111,
            &quot;dv&quot;: &quot;9&quot;,
            &quot;nombre&quot;: &quot;TESTING SPA&quot;,
            &quot;fecha&quot;: &quot;2025-07-14&quot;,
            &quot;total_honorarios&quot;: 1000,
            &quot;retencion_emisor&quot;: 0,
            &quot;retencion_receptor&quot;: 145,
            &quot;total_liquido&quot;: 855,
            &quot;sociedad_profesional&quot;: &quot;NO&quot;,
            &quot;estado&quot;: &quot;S&quot;,
            &quot;anulada&quot;: &quot;2025-07-14&quot;,
            &quot;codigo&quot;: &quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;,
            &quot;fecha_emision&quot;: &quot;2025-07-14&quot;,
            &quot;usuario_emisor&quot;: &quot;TESTING USER&quot;,
            &quot;email_envio&quot;: &quot;&quot;
        },
    ]
}
```

### Campos Importantes

| Campo | Descripción |
|-------|-------------|
| `numero` | Número de la boleta |
| `rut` | RUT del receptor |
| `dv` | Dígito verificador del RUT del receptor |
| `nombre` | Nombre o razón social del receptor |
| `fecha` | Fecha de emisión de la boleta |
| `total_honorarios` | Total de honorarios |
| `retencion_emisor` | Retención del emisor |
| `retencion_receptor` | Retención del receptor |
| `total_liquido` | Total líquido |
| `sociedad_profesional` | Si es sociedad profesional |

---

## Manejo de Errores

### Error 401: Credenciales Incorrectas

```json
{
  &quot;code&quot;: 401,
  &quot;message&quot;: &quot;No se pudo autenticar con las credenciales proporcionadas&quot;
}
```

**Causas**:
- RUT o contraseña incorrectos
- Formato de RUT incorrecto
- Credenciales incorrectas

**Solución**:
1. Verifica credenciales en www.sii.cl
2. Revisa formato del RUT (con guión, sin puntos)

### Error 401: Sesión Expirada

```json
{
  &quot;code&quot;: 401,
  &quot;message&quot;: &quot;Se debe volver a autenticar al usuario en la sesión del SII.&quot;
}
```

**Headers de respuesta**:
```
X-Stats-NavegadorSessionProblem: 1
```

**Solución**: Agregar `?auth_cache=0` a la URL para forzar nueva sesión

---

## Control de Caché de Sesión

### Comportamiento por Defecto

- Sesión se mantiene por 2 horas
- Se reutiliza automáticamente
- Mejora performance significativamente

### Forzar Nueva Sesión

Agrega a la URL:
```
?auth_cache=0
```

**Cuándo usarlo**:
- Error de sesión persistente
- Cambio de contraseña reciente
- Debugging de problemas

**Ejemplo completo**:
```
POST /api/v1/sii/situacion_tributaria/tercero?auth_cache=0
```

&gt; [!WARNING] Advertencia
&gt;
&gt;No uses `auth_cache=0` en cada petición. Puede causar bloqueo por múltiples inicios de sesión.

---

## Mejores Prácticas

### Seguridad

- **Nunca** hardcodees credenciales en tu código
- **Usa** variables de entorno
- **Revoca** accesos no utilizados

### Performance

- **Aprovecha** el caché de 2 horas
- **No** fuerces nueva sesión innecesariamente
- **Agrupa** consultas cuando sea posible
- **Monitorea** los tiempos de respuesta

### Ejemplo de Uso Seguro

```javascript
// ❌ MALO
const auth = {
  pass: {
    rut: &quot;76192083-9&quot;,
    clave: &quot;miClave123&quot;  // Never do this!
  }
};

// ✅ BUENO
const auth = {
  pass: {
    rut: process.env.SII_RUT,
    clave: process.env.SII_CLAVE
  }
};
```


    
---

### Autenticación SII - Firma Electrónica

Aprende a autenticarte en el SII usando tu firma electrónica a través de Swagger

# Autenticación SII - Firma Electrónica

La firma electrónica es el método más seguro para autenticarse en el SII. A diferencia del método RUT/Clave, la firma electrónica:
- No expone tu contraseña del SII
- Es obligatoria para ciertos trámites
- Permite automatización más segura

---

## Métodos de Autenticación con Firma

API Gateway ofrece **dos formas** de enviar tu firma electrónica:

### Método 1: cert-data y pkey-data (Recomendado)

Envías por separado:
- **cert-data**: Certificado público en formato PEM
- **pkey-data**: Llave privada en formato PEM

### Método 2: file-data y file-pass

Envías el archivo completo:
- **file-data**: Archivo .p12/.pfx codificado en Base64
- **file-pass**: Contraseña del archivo

---

## Preparación del Certificado

### Convertir .p12 a PEM

Si tienes un archivo `.p12` o `.pfx`, necesitas convertirlo a formato PEM:

#### Opción A: Usar API Gateway (Más fácil)

1. Ingresa a [tu perfil en API Gateway](https://legacy.apigateway.cl/home#utils)
2. Busca la sección &quot;Utilidades&quot;
3. Sube tu archivo .p12/.pfx
4. Ingresa la contraseña
5. Obtendrás el cert-data y pkey-data listos para usar

#### Opción B: Usar OpenSSL

```bash
openssl pkcs12 -in firma.p12 -out firma.crt -nodes
```

Este comando generará un archivo con:
```
-----BEGIN CERTIFICATE-----
[Tu certificado aquí]
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
[Tu llave privada aquí]
-----END PRIVATE KEY-----
```

---

## Usando Swagger con Firma Electrónica

### Método 1: Con cert-data y pkey-data

1. **Localiza un endpoint** que requiera autenticación SII
2. **Haz clic en &quot;Try it out&quot;**
3. **En el body, estructura el JSON**:

```json
{
  &quot;auth&quot;: {
    &quot;cert&quot;: {
      &quot;cert-data&quot;: &quot;-----BEGIN CERTIFICATE-----\nMIIG...[tu certificado]...XYZ\n-----END CERTIFICATE-----&quot;,
      &quot;pkey-data&quot;: &quot;-----BEGIN PRIVATE KEY-----\nMIIE...[tu llave privada]...ABC\n-----END PRIVATE KEY-----&quot;
    }
  }
}
```

4. **Ejecuta** la petición

### Método 2: Con file-data y file-pass

1. **Codifica tu archivo .p12 en Base64**:
   - Puedes usar herramientas online o comandos del sistema
   - En Linux/Mac: `base64 -i firma.p12 -o firma_base64.txt`

2. **Estructura el JSON**:

```json
{
  &quot;auth&quot;: {
    &quot;cert&quot;: {
      &quot;file-data&quot;: &quot;[contenido base64 del archivo]&quot;,
      &quot;file-pass&quot;: &quot;contraseña_del_p12&quot;
    }
  }
}
```

---

## Comparación de Métodos

| Aspecto | cert-data/pkey-data | file-data/file-pass |
|---------|---------------------|---------------------|
| **Seguridad** | Más seguro (sin contraseña) | Incluye contraseña |
| **Preparación** | Requiere conversión | Directo con .p12 |
| **Rendimiento** | Más rápido | Conversión en cada request |
| **Recomendado para** | Producción | Pruebas rápidas |

---

## Verificando en Swagger

### Respuesta Exitosa

Si la autenticación es correcta, verás:
- **Status**: 200 OK
- **Body**: Datos solicitados del SII

### Errores Comunes

- Certificado mal formateado
- Firma vencida
- Estructura incorrecta

---

## Tips Importantes

### 1. Formato de los Saltos de Línea

❌ **Incorrecto**: Copiar/pegar sin saltos
```json
&quot;cert-data&quot;: &quot;-----BEGIN CERTIFICATE-----MIIG...XYZ-----END CERTIFICATE-----&quot;
```

✅ **Correcto**: Con \n en cada línea
```json
&quot;cert-data&quot;: &quot;-----BEGIN CERTIFICATE-----\nMIIG...\n...XYZ\n-----END CERTIFICATE-----&quot;
```

### 2. Validar el Certificado

Antes de usar en producción:
- Verifica que no esté expirado
- Confirma que sea el certificado correcto
- Prueba primero en un endpoint simple

### 3. Seguridad

- **Nunca** guardes las credenciales en el código
- **Usa** variables de entorno en producción


    
---

### Explorando Formatos de Respuesta

Aprende a trabajar con diferentes formatos de respuesta en API Gateway

# Explorando Formatos de Respuesta

API Gateway no solo devuelve JSON. Dependiendo de tus necesidades, puedes obtener los datos en diferentes formatos que faciliten su procesamiento o presentación. Esto es especialmente útil cuando necesitas mostrar información directamente a usuarios o integrar con sistemas que esperan formatos específicos.

---

## Formatos Disponibles

&gt; **El formato disponible depende del endpoint que estés consultando.**

### Formatos Principales

| Formato | Parámetro | Descripción | Mejor para |
|---------|-----------|-------------|------------|
| **JSON** | `formato=json` o sin parámetro | Formato por defecto, estructurado | APIs, procesamiento |
| **HTML** | `formato=html` | Página web del SII directa | Mostrar a usuarios |
| **CSV** | `formato=csv` | Valores separados | Excel, análisis |
| **XML** | `formato=xml` | Formato del SII original | Integraciones legacy |

---

## Modificando el Formato en Swagger

### Paso 1: Localizar el Parámetro

1. **Busca un endpoint** que soporte múltiples formatos
2. **Observa la sección &quot;Parameters&quot;**
3. **Encuentra** el parámetro `formato` (query parameter)

### Paso 2: Cambiar el Formato

En Swagger UI:
1. **Click en &quot;Try it out&quot;**
2. **En la sección de parámetros**, busca `formato`
3. **Selecciona** o escribe el formato deseado
4. **Ejecuta** la petición

### Ejemplo Visual en URL

```
# JSON (default)
/api/v1/sii/ejemplo/11111111-1/datos

# HTML
/api/v1/sii/ejemplo/11111111-1/datos?formato=html

# CSV
/api/v1/sii/ejemplo/11111111-1/datos?formato=csv
```

---

## Trabajando con Cada Formato

### JSON - Procesamiento Programático

**Cuándo usar**:
- Integración con aplicaciones
- Procesamiento automatizado
- APIs REST

**Ejemplo de respuesta**:
```json
{
  &quot;rut&quot;: &quot;11111111-1&quot;,
  &quot;razon_social&quot;: &quot;EMPRESA DEMO&quot;,
  &quot;actividades&quot;: [
    {
      &quot;codigo&quot;: 620100,
      &quot;descripcion&quot;: &quot;ACTIVIDADES DE PROGRAMACION INFORMATICA&quot;
    }
  ]
}
```

### HTML - Presentación Directa

**Cuándo usar**:
- Mostrar información al usuario final
- Evitar diseñar interfaces propias
- Mantener formato oficial del SII

**Características**:
- Incluye estilos del SII
- Listo para mostrar en iframe o ventana
- No requiere procesamiento

### CSV - Análisis de Datos

**Cuándo usar**:
- Exportar a Excel
- Análisis masivo
- Reportes

**Configuración adicional**:
```
?formato=csv&amp;csv_delimiter=;
```

Delimitadores disponibles:
- `,` (coma) - Por defecto
- `;` (punto y coma) - Para Excel en español

**Ejemplo de respuesta**:
```csv
rut;razon_social;actividad_codigo;actividad_descripcion
11111111-1;EMPRESA DEMO;620100;ACTIVIDADES DE PROGRAMACION INFORMATICA
```

### XML - Formato Original SII

**Cuándo usar**:
- Sistemas que requieren XML
- Mantener estructura original del SII
- Validaciones con esquemas XSD

---

## Casos de Uso Prácticos

### Caso 1: Dashboard Ejecutivo

**Necesidad**: Mostrar datos del SII en pantalla
**Solución**: Formato HTML en iframe
```html
&lt;iframe src=&quot;https://api.../datos?formato=html&quot; /&gt;
```

### Caso 2: Reporte Mensual

**Necesidad**: Analizar datos en Excel
**Solución**: Formato CSV con delimitador ;
```
?formato=csv&amp;csv_delimiter=;
```

### Caso 3: Integración con ERP

**Necesidad**: Procesar datos automáticamente
**Solución**: Formato JSON (default)

### Caso 4: Sistema Legacy

**Necesidad**: Sistema antiguo espera XML
**Solución**: Formato XML
```
?formato=xml
```

---

## Consideraciones Importantes

### Disponibilidad de Formatos

No todos los endpoints soportan todos los formatos. En Swagger verás:
- Si el parámetro `formato` está disponible
- Qué valores acepta


    
---

### Manejo de Errores

Aprende a identificar y resolver errores al usar API Gateway

# Manejo de Errores

Los errores son parte normal del desarrollo. Lo importante es saber identificarlos rápidamente y entender qué significan. Swagger UI facilita mucho este proceso al mostrar toda la información de manera visual.

---

## Códigos de Error Principales

### Tabla de Referencia Rápida

| Código | Nombre | Significado | Acción Requerida |
|--------|--------|-------------|------------------|
| **400** | Bad Request | Petición inválida o falla al ser procesada (error genérico). | Revisar JSON/parámetros |
| **401** | Unauthorized | Access Token incorrecto, credenciales SII incorrectas o problema con la sesión del SII. | Verificar token o credenciales |
| **402** | Payment Required | El período de prueba terminó y se debe pasar a un plan de pago. | Actualizar suscripción |
| **403** | Forbidden | No tiene autorización para acceder al recurso solicitado. | Verificar alcance del token |
| **404** | Not Found | Recurso solicitado no pudo ser encontrado. | Revisar URL/parámetros |
| **405** | Method Not Allowed | El método o acción solicitada no está permitida en el recurso. | Revisar método HTTP |
| **406** | Not Acceptable | Solicitó la respuesta en un formato de datos incorrecto. | Revisar formato de respuesta |
| **409** | Conflict | Solicitud no pudo ser procesada debido a conflicto con el origen de los datos en el SII. | Revisar datos |
| **410** | Gone | El recurso solicitado ya no existe en nuestra API. | Revisar URL/parámetros |
| **423** | Locked | La cuenta fue bloqueada por incumplir términos y condiciones. | Contactar soporte |
| **429** | Too Many Requests | Se alcanzó el límite de la cuota, se debe dejar de hacer consultas hasta que se renueven. | Esperar o revisar headers |

&gt; [!NOTE] Nota
&gt;
&gt;Con el paso del tiempo podríamos ir agregando o eliminando tipos de errores. Se recomienda verificar que la aplicación se adapte a estos cambios o al menos maneje un caso por defecto cuando hay un error que no conoce.

---

## Bloqueo de la cuenta

API Gateway tiene [términos y condiciones](https://www.apigateway.cl/legal) que norman el uso. En estos términos hay 2 condiciones que pueden llevar a un bloqueo de la cuenta:

- Compartir IP.
- Tener muchas consultas con código de respuesta HTTP 429.

Ambos puntos se explican en los términos y condiciones de API Gateway.

Este bloqueo no puede ser removidor por el equipo de soporte. Por lo que:

- Deberás esperar a que se desbloqueen las consultas.
- Contratar un plan con más consultas.

---

## Identificando Errores

### Ubicación de la Información

Cuando ocurre un error, encontrarás:

1. **Status Code**: En la parte superior de la respuesta
2. **Response Body**: El mensaje de error en JSON
3. **Response Headers**: Información adicional importante

### Ejemplo Visual de Error 401

```
Response
Code: 401
Details: Error: Unauthorized

Response body:
{
  &quot;code&quot;: 401,
  &quot;message&quot;: &quot;Token de acceso inválido o expirado&quot;
}

Response headers:
content-type: application/json
x-request-id: 123e4567-e89b-12d3-a456-426614174000
```

---

## Interpretando Headers de Respuesta

### Headers de Rate Limiting

Estos headers aparecen en **TODAS** las respuestas:

| Header | Significado | Ejemplo |
|--------|-------------|---------|
| `X-RateLimit-Limit` | Máximo de peticiones permitidas cada 24 horas | 1000 |
| `X-RateLimit-Remaining` | Peticiones restantes | 847 |

&gt; **Nota**: Se recomienda hacer uso de estas cabeceras para monitorear el uso de la API. Con esto evitarás que se bloqueen tus consultas, una vez que llegues al límite.

### Headers cuando llegas al límite

| Header | Significado | Ejemplo |
|--------|-------------|---------|
| `Retry-After` | Segundos hasta poder reintentar | 3600 |
| `X-RateLimit-Reset` | Timestamp cuando se resetea | 1640995200 |

## Errores Comunes y Soluciones

### Error 401: Unauthorized

**Variante 1: Token API inválido**
```json
{
  &quot;message&quot;: &quot;Unauthenticated.&quot;
}
```
**Solución**:
- Verifica que el token esté en Authorization: Bearer
- Regenera el token si es necesario

**Variante 2: Credenciales SII incorrectas**
```json
{
  &quot;code&quot;: 401,
  &quot;message&quot;: &quot;Autenticación con SII falló: clave incorrecta&quot;
}
```
**Solución**:
- Verifica RUT y clave
- Prueba en el sitio del SII directamente

**Variante 3: Sesión SII expirada**
```json
{
  &quot;code&quot;: 401,
  &quot;message&quot;: &quot;Se debe volver a autenticar al usuario en la sesión del SII.&quot;
}
```
**Solución**:
- Agrega `?auth_cache=0` para forzar nueva sesión


### Error 429: Too Many Requests

```json
{
  &quot;message&quot;: &quot;Too Many Attempts.&quot;
}
```

**Información en headers**:
```
Retry-After: 3600
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1640995200
```

**Solución**:
1. **Lee** el header `Retry-After`
2. **Espera** ese tiempo (en segundos)
3. **Opcional**: Revisa tu plan para más cuota

### Error 400: Bad Request

```json
{
  &quot;code&quot;: 400,
  &quot;message&quot;: &quot;El campo &#039;rut&#039; es requerido&quot;
}
```

**Causas comunes**:
- JSON mal formateado
- Campos requeridos faltantes
- Tipos de datos incorrectos

**Cómo debuggear en Swagger**:
1. Revisa el JSON en el editor
2. Verifica que no falten comillas
3. Usa la validación de Swagger (marca errores en rojo)

---

## Estrategias de Prevención

### 1. Monitoreo de Rate Limit

**En cada respuesta exitosa**, revisa:
```
X-RateLimit-Remaining: 150
```

Si es menor a 100, considera:
- Espaciar las consultas
- Implementar caché local
- Optimizar las llamadas

### 2. Manejo de Sesiones SII

**Problema**: El header `X-Stats-NavegadorSessionProblem: 1`

**Prevención**:
- No abuses del `auth_cache=0`
- Deja expirar sesiones naturalmente (2 horas)

### 3. Validación Previa

Antes de enviar:
- Revisa que el JSON esté bien formateado
- Verifica que todos los campos requeridos estén presentes
- Confirma que los tipos de datos sean correctos


    
---

## Consultas usando Postman



---

### API Gateway orientado a Postman

API Gateway orientado a Postman

# API Gateway orientado a Postman

[API Gateway](https://www.apigateway.cl/) provee una forma de interactuar con el SII para extracción de datos, es una pasarela entre un software propio y el SII. API Gateway cuenta con Servicios Web de tipo REST para **interactuar con diferentes características del SII**. Estos Servicios Web tienen como objetivo final, permitir a los usuarios **conectar su propio software con la plataforma web de SII**  para realizar tareas de extracción de datos y facturación.
La documentación completa se encuentra en [API Gateway](https://www.apigateway.cl/docs/api).

## Autenticación mediante OAuth2

La API soporta sólo el método de autenticación mediante OAuth2.
La forma más simple de empezar a probar la API es generar un Access Token a través de la **plataforma web de la API** y hacer las solicitudes enviando el token en la cabecera:

`
Authorization: Bearer ACCESS-TOKEN
`

Primero debes entrar con el usuario y contraseña en la plataforma web de la API.

![Imagen de web](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-1.jpg)

Dirigirse a “Autenticación de API”.

![Autenticación de API](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-2.jpg)

Luego a  “Crear nuevo token”.

![Crear nuevo token](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-3.jpg)

&gt; [!INFO] IMPORTANTE
&gt;
&gt;Una vez añadido el nombre del token se debe copiar y   ya que es la única vez podrás ver el Token.

![copiar](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-4.jpg)

### ¿Por qué recomendamos Postman para realizar pruebas?

Postman nos permite realizar peticiones de una manera simple para testear APIs de tipo REST propias o de terceros, además que es la forma más rápida y efectiva de no tener que programar para poder revisar el código y realizar pruebas.

![Postman](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/postman-logo.jpg)


    
---

### ¿Cómo crear una cuenta en Postman?

¿Cómo crear una cuenta en Postman?

# ¿Cómo crear una cuenta en Postman?

Hay que dirigirse al siguiente [enlace de Postman](https://identity.getpostman.com/login) y enlazar tu cuenta en la plataforma que se estime conveniente.

![Run in](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-5.jpg){.w-25 .d-block .mx-auto .img-fluid .mb-2 .rounded-3 .shadow}

## ¿Cómo crear una colección de API GATEWAY en Postman?

Para poder crear la colección de Postman debes importarla directamente desde el [archivo OpenAPI de API Gateway](https://www.apigateway.cl/docs/api/_attachments/apigateway-api-schema.yaml).

### Paso 1: Importar el schema OpenAPI

Puedes importar el schema de dos formas:

a. **Desde URL**: Copia la URL del schema (`https://www.apigateway.cl/docs/api/_attachments/apigateway-api-schema.yaml`) y en Postman selecciona **&quot;Import&quot; &gt; &quot;Link&quot;** y pega la URL. Postman detectará automáticamente el archivo OpenAPI.

b. **Desde archivo**: Descarga el archivo YAML y luego en Postman selecciona **&quot;Import&quot; &gt; &quot;File&quot;** y elige el archivo descargado.

A continuación se muestra un ejemplo de importación desde URL. Postman detectará automáticamente el schema una vez que pegues la URL:

![import url](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/import-url.png){style=&quot;width: 70%; display: block; margin: 0 auto;&quot;}

### Paso 2: Configurar la importación

Antes de finalizar la importación, haz clic en **&quot;View Import Settings&quot;**.

![folder organization tags](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/folder-organization-tags.png){style=&quot;width: 70%; display: block; margin: 0 auto;&quot;}

Cambia la opción **&quot;Folder organization&quot;** de &quot;Paths&quot; a **&quot;tags&quot;**. Esto organizará mejor los endpoints en la colección agrupándolos por categorías.

Una vez realizado el cambio, la pantalla mostrará la opción seleccionada. Finalmente, haz clic en el botón **&quot;Import&quot;** para completar la importación.

![select tag import](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/select-tag-import.png){style=&quot;width: 70%; display: block; margin: 0 auto;&quot;}


&gt; [!TIP] Importante
&gt;
&gt;Si se utiliza POSTMAN WEB comparte la IP con otros usuarios de Postman web. Por lo que tu cuenta en Plan Inicia o Estándar se bloqueará. Si tienes alguno de esos planes, y quieres probar la API, usa la aplicación de escritorio de Postman. Así usarás tu propia IP en las consultas.
&gt;
&gt;Si no quieres que esto suceda es recomendable usar la versión escritorio de Postman e importar la colección.


&gt; [!NOTE] Nota
&gt;
&gt;La ejecución de Postman te derivará a la última versión dependiendo tu sistema operativo.

## Configuración de Environments

Una vez importada la colección, debes configurar las variables de entorno necesarias para poder consumir los servicios de API Gateway.

### Crear o seleccionar un Environment

En Postman, dirígete a la sección **&quot;Environments&quot;** y crea un nuevo entorno o selecciona uno existente (por ejemplo, &quot;apigateway&quot;).

![Environments - apigateway.cl](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-8.jpg)

### Configurar la variable bearerToken

Cuando importas la colección desde el schema OpenAPI, Postman crea automáticamente una variable llamada **bearerToken** para la autenticación Bearer.

Debes configurar esta variable en tu Environment con el token de autenticación de API Gateway:

![Environments](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-9.png)

**Variable a configurar:**
- **bearerToken**: Tu token de autenticación de API Gateway (sin incluir el prefijo &quot;Bearer &quot;)

&gt; [!NOTE] Nota
&gt;
&gt; Esta variable es generada automáticamente por Postman al importar schemas que usan autenticación Bearer. Solo debes ingresar el valor de tu token en el campo &quot;CURRENT VALUE&quot; de esta variable.

### Seleccionar el Environment activo

Una vez configurado el token en tu Environment, asegúrate de seleccionar el entorno que creaste en el selector de entornos ubicado en la esquina superior derecha de Postman. Esto es necesario para que las variables configuradas se apliquen a tus peticiones.

Con esto, ya estarás listo para comenzar a usar la API de API Gateway desde Postman.


    
---

### Consultas al SII

Consultas al SII:

# Consultas al SII:

## Contribuyentes

Para encontrar la carpeta que tiene el siguiente servicio debes seguir la siguiente ruta: **API GATEWAY →Consultas al SII → Contribuyentes → `GET` Situación tributaria de contribuyentes.**

![my workspace](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-18.jpg)

* Situación tributaria de contribuyentes: Se deben configurar los parámetros que indica el campo, en este caso es el RUT el cual deseas consultar, se selecciona “Send”. Se mostrará en BODY los datos solicitados.

![send](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-19.jpg)

## Registro de compras y ventas

Para encontrar la carpeta que tiene el siguiente servicio debes seguir la siguiente ruta: **API de LibreDTE →Consultas al SII →Registro de compras y ventas → Registro de compras   → `POST` Resumen de compras.**

![API SII](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-20.jpg)

Para consumir el servicio registro de compra y venta es necesario tener configuradas en la colección las variables de **EMPRESA_RUT o  USUARIO_RUT**

&gt; [!NOTE] Nota
&gt;
&gt; Este servicio lo puede consumir toda persona autorizada para pedir el registro, es decir, puede ser tanto con RUT de empresa como también de una persona natural que esté autorizada.

## Registro de compras

* Detalle de compras: Se deben definir los parámetros que se indican:

    * **Receptor:** RUT del receptor de los documentos.
    * **Período:** Período del registro.
    * **DTE:** Tipo de documento.
    * **Estado:** REGISTRO, PENDIENTE, NO_INCLUIR,  RECLAMADO.

Una vez definidos al seleccionar **“Send”**, en **“Body”** mostrará los detalles solicitados.

![send](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-21.jpg)


    
---

### Documentos tributarios electrónicos

Documentos tributarios electrónicos

# Documentos tributarios electrónicos

Para encontrar la carpeta que tiene el siguiente servicio debes seguir la siguiente ruta: **API de LibreDTE →Consultas al SII →Documentos tributarios electrónicos →Contribuyentes   → `GET` Estado Autorización de un Contribuyente**

![collections](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-22.jpg)

Para consumir el servicio es necesario tener configuradas en la colección las variables de **USUARIO_FIRMA_PUBLIC_KEY /  USUARIO_FIRMA_PRIVATE_KEY**

&gt; [!NOTE] Nota
&gt;
&gt;Este paso está explicado en ¿Cuáles son los entornos y cómo configurar cada uno?.

![variables necesarias](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-23.jpg)


    
---

### Contribuyentes

Contribuyentes

# Contribuyentes

* **Estado Autorización de un Contribuyente:** Se deben configurar los parámetros que indica el campo, en este caso es el RUT a consultar:

* Se añade y se debe seleccionar **“Send”**. Ahora se mostrará en el BODY los datos solicitados, permitiendo descargar la base de datos de contribuyentes autorizados por el SII a operar con documentos tributarios electrónicos.

![send](https://www.apigateway.cl/img/content/academy/capacitacion-inicial/apigateway-orientado-a-postman/apigateway-orientado-a-postman-24.jpg)

## ¿Qué debo tener en consideración si contrato el servicio?

### Límite de consultas

La API Gateway tiene un límite de consultas por rango de tiempo, para así evitar sobrecargas que afectan nuestra capacidad de mantener un rendimiento óptimo de nuestra API.

La cantidad de consultas que se pueden realizar por período de tiempo dependen del tipo de cuenta que se esté usando para acceder a la API. Cuando se alcanza el límite de consultas asignadas, la API entregará una respuesta HTTP de código **429**. Al recibir este código, el usuario debe obligatoriamente dejar de hacer consultas a la API.

### Bloqueo Automático

Si la cuenta excede las **10 consultas sobre la cuota** disponible, será bloqueada automáticamente por **3 días completos**. Durante este período se le impedirá al usuario realizar consultas, obteniendo una respuesta HTTP de código **423**. No es posible quitar el bloqueo solicitando ayuda técnica o soporte.

Adicionalmente, está prohibido que 2 o más usuarios realicen consultas desde la misma dirección IP. Por ejemplo, usar **Postman en su versión web** compartirá la IP con otros usuarios de Postman web, lo que bloqueará tu cuenta. Debes usar la aplicación de escritorio de Postman instalada en tu computador.

**Persistencia de datos**

La empresa o persona que adquiera el servicio debe guardar los documentos, ya que nuestra API solo realiza consultas y extrae datos.

&lt;twig:block-cta
    class=&quot;my-4 rounded p-4&quot;
    title=&quot;¿Necesita ayuda adicional?&quot;
    content=&quot;Si necesita ayuda con alguno de los puntos indicados acá u otros del uso de los Servicios contáctanos&quot;
    buttonText=&quot;¡Necesito ayuda!&quot;
    buttonUrl=&quot;/help&quot;
/&gt;


    
---

### Servicios sin autenticación del SII


[![Watch video](https://img.youtube.com/vi/rGPDby2d_yA/hqdefault.jpg)](https://www.youtube.com/watch?v=rGPDby2d_yA)


    
---

### Servicios con RUT y clave tributaria


[![Watch video](https://img.youtube.com/vi/9od9KBaCZSY/hqdefault.jpg)](https://www.youtube.com/watch?v=9od9KBaCZSY)


    
---

### Servicios con firma electrónica


[![Watch video](https://img.youtube.com/vi/7iFbR6VXKRs/hqdefault.jpg)](https://www.youtube.com/watch?v=7iFbR6VXKRs)


    
---

## ¡Ponte a prueba!



---

### Autoevaluación




## Test de Introducción a API Gateway

Autoevaluación para el uso correcto de API Gateway y autenticación con SII.

### 1. ¿Qué versión de Postman puedo usar con todos los planes?

- [ ] Postman web
- [x] Postman instalado en el computador
- [ ] Postman web o instalado en el computador

> La limitación en el uso de Postman tiene que ver con la restricción de compartir IP. Al usar Postman web, todas las consultas se envían desde la misma IP. Solo planes que no tienen esa restricción pueden usar Postman web.

### 2. ¿Cuántos token puedo crear en mi cuenta?

- [ ] Máximo 10 por usuario
- [x] No hay límite
- [ ] Depende del plan contratado

> El número de tokens no está restringido.

### 3. ¿Qué pasa si excedo el límite de consultas en API Gateway?

- [ ] La cuenta será bloqueada inmediatamente por 72 horas
- [ ] Si se excede en más de un 10% de la cuota la cuenta será bloqueada por 72 horas
- [x] Si se excede en más de 10 consultas de la cuota la cuenta será bloqueada por 72 horas
- [ ] Si se excede en más 100 consultas de la cuota la cuenta será bloqueada por 72 horas

> Al exceder las 10 consultas realizadas sobre la cuota la cuenta será automáticamente bloqueada, aunque tenga una cuota disponible en los días que dure el bloqueo.

### 4. ¿Cada cuánto tiempo se reinicia la cuota de consultas en API Gateway?

- [ ] A diario, a las 00:00:00
- [x] Cada 24 horas
- [ ] Una vez a la semana
- [ ] Una vez al mes
- [ ] Depende del plan

> La cuota se renueva cada 24 horas desde el primer uso.

### 5. ¿Cuántas veces se puede ver el token?

- [ ] Las veces que yo quiera en mi perfil
- [x] Sólo una vez, al crearlo
- [ ] Las veces que yo quiera en mi perfil, usando mi contraseña de API Gateway para verlo

> Por seguridad, el token solo se muestra al momento de su creación.

### 6. ¿En qué parte de la consulta HTTP se debe enviar el token de API Gateway?

- [ ] En la URL del servicio web usando la variable &quot;Authorization&quot;
- [x] En las cabeceras (headers) usando la cabecera &quot;Authorization&quot;
- [ ] En el cuerpo (body) usando el índice &quot;Authorization&quot;

> La forma correcta es mediante el header HTTP Authorization.

### 7. ¿Cuál o cuáles son las formas de autenticación en SII que se podrían usar según el recurso consumido?

- [ ] RUT y clave tributaria del SII
- [ ] RUT y clave tributaria del SII o usuario y clave de acceso a API Gateway
- [x] RUT y clave tributaria del SII, certificado digital o sin autenticación

> Se puede usar RUT y clave tributaria del SII, certificado digital o sin autenticación. La alternativa exacta depende del recurso consumido.

### 8. Al utilizar el recurso para conocer la situación tributaria de un contribuyente ¿cuál es la autenticación mínima para utilizarlo?

- [ ] Con el token de acceso a la API más los datos de la firma electrónica
- [x] Sólo con el token de acceso a la API
- [ ] Con el token de acceso a la API más el RUT y clave tributaria del SII

> Este recurso requiere solo identificación con token de API Gateway. La consulta al SII es sin autenticación.


    

---

Last updated on 21/08/2026
#api-gateway-legacy
