---
title: "Respuesta a DTE recibidos"
description: "Generar una respuesta automática"
type: "docs"
category: "doc"
tags: []
authors: []
date: "2024-03-22"
last_update: "2025-06-02"
time_minutes: 3
draft: false
unlisted: false
url: "https://www.libredte.cl/docs/integracion/webhook/respuesta-automatica-de-documentos-recibidos"
---

# Responder automáticamente DTE recibidos

LibreDTE permite automatizar la recepción o reclamo de documentos electrónicos (DTE) que llegan por intercambio, mediante un **servicio web propio**.

Este sistema permite automatizar gran parte del flujo de intercambio, mejorando tiempos de respuesta y reduciendo errores manuales.

## ¿Cómo funciona?

Debes crear un endpoint HTTP que reciba solicitudes `POST`. LibreDTE enviará en el cuerpo un JSON que contiene el archivo `EnvioDTE` codificado en base64.

### Ejemplo de endpoint

```text
https://example.com/api/intercambios/procesar
```

### Ejemplo de payload recibido

```json
{
  "xml": "aWRfcGFnbwo="
}
```

## Tipos de respuesta esperada

Tu servicio debe responder con JSON. Hay múltiples opciones dependiendo del comportamiento deseado:

### 1. Recibir todos los documentos (estado **ERM**)

```json
true
```

### 2. Reclamar todos los documentos (estado **RCD**)

```json
false
```

### 3. No procesar (deja el intercambio sin respuesta automática)

Cualquier valor de tipo **string** en la respuesta se interpreta como que no se logró determinar qué hacer, y se omite la acción (el intercambio queda pendiente de procesamiento manual). El string puede usarse, de hecho, para **reportar el motivo** por el cual no se está procesando la respuesta:

```json
"null"
```

o, por ejemplo:

```json
"Sin stock para validar recepción."
```

> [!WARNING]
>
> La respuesta debe ser un **string** (con comillas), no el literal JSON `null`. Un `null` sin comillas no equivale a "no procesar": se interpreta como un valor booleano falso, es decir, como **reclamar todo el intercambio**.

### 4. Procesar por documento (recibir y reclamar según DTE)

Si el intercambio tiene más de un DTE, se puede indicar qué documentos se deben recibir o reclamar:

```json
{
    "recibir": [
        {
            "TipoDTE": 33,
            "Folio": 1
        }
    ],
    "reclamar": [
        {
            "TipoDTE": 33,
            "Folio": 2
        }
    ]
}
```

Los índices `recibir` y `reclamar` son arreglos de arreglos (objetos) que pueden tener los siguientes índices:

```json
// esto no es una respuesta válida, es sólo un ejemplo de cómo asignar datos de un DTE
{
    "TipoDTE": 31,
    "Folio": 1,
    "FchEmis": "2018-05-21",
    "RUTEmisor": "76192083-9",
    "RUTRecep": "88777666-5",
    "MntTotal": 1000,
    "EstadoRecepDTE": "ERM",
    "RecepDTEGlosa": "Otorga recibo de mercaderías o servicios"
}
```

> [!INFO]
>
> Solo `TipoDTE` y `Folio` son obligatorios. Sin embargo, se recomienda incluir `RUTEmisor`, `EstadoRecepDTE` y `RecepDTEGlosa` si hay más de un DTE. Los índices `EstadoRecepDTE` y `RecepDTEGlosa` permiten definir los estados que se asignarán (por defecto es `ERM` para recibidos y `RCD` para reclamados).

---

## Configuración general opcional

También puedes incluir un bloque `config` con información adicional, por ejemplo la sucursal que recibe el DTE o el período donde se debe asignar:

```json
{
    "accion": true,
    "config": {
        "NmbContacto": "Esteban",
        "MailContacto": "usuario@empresa.cl",
        "sucursal": 0,
        "Recinto": "Casa matriz",
        "responder_a": "dte@proveedor.cl",
        "periodo": "202509"
    }
}
```

En el índice `accion` se puede indicar cualquiera de las respuestas antes vistas (`true`, `false`, o el objeto con `recibir`/`reclamar`).

En el índice `config`, todos los campos son opcionales; si no se indica alguno, será determinado automáticamente por el sistema.

| Campo          | Descripción                                      |
|----------------|--------------------------------------------------|
| `NmbContacto`  | Nombre del contacto para consultas                |
| `MailContacto` | Email del contacto                               |
| `sucursal`     | Código de sucursal (0 = casa matriz)             |
| `Recinto`      | Nombre del lugar de recepción                    |
| `responder_a`  | Email del proveedor (recomendado: no asignar)    |
| `periodo`      | Período tributario en formato `AAAAMM`; debería ser siempre el actual |

---

> [!WARNING] Tus Documentos, Tu Responsabilidad
>
> Aunque puedas responder automáticamente, **es tu responsabilidad validar el contenido del EnvioDTE** y establecer políticas claras de aceptación o reclamo.
>



---
Última actualización el 02/06/2025

