Este documento describe el formato y contenido que debe tener el archivo JSON que cuenta con un único nodo raíz (DTE) dentro del cual contendrá la información del documento a procesar utilizando la codificación ISO-8859-1 (ISO LATIN1).

Formato

Dicho documento es utilizado para la integración en procesos de facturación electrónica.

El formato JSON o XML posee los siguientes caracteres especiales, los que deben ser reemplazados en la sección de siglas:

CARACTER ESPECIAL SIGLAS
< &lt;
> &gt;
& &amp;
" &quot;
' &apos;

Prueba

Cada uno de los campos del documento tiene una ubicación, tipo de dato y máximo de caracteres definido, el cual siempre debe ser respetado para no tener inconvenientes en la aprobación del servicio de impuestos internos.
Los nombres de cada nodo son "case sensitive" ó "sensible a mayúsculas", quiere decir, se distinguen entre mayúsculas y minúsculas, por lo que deben ser creados tal como se define el nombre de cada nodo en el presente documento.
Ejemplo: (Caratula) y no (caratula)

Ejemplo JSON:

{
  "Sistema": {
    "nombre": "demo",
    "rut": "11111111-1",
    "usuario": "integracion",
    "clave": "MW50M2dyNGMxMG4="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "33",
        "Folio": "0",
        "FchEmis": "2022-03-01",
        "FchVenc": "2022-03-01"
      },
      "Emisor": {
        "RUTEmisor": "11111111-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "90610",
        "MntExe": "0",
        "TasaIVA": "19",
        "IVA": "17216",
        "MntTotal": "107826"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "WWW"
        },
        "NmbItem": "Descripción de producto WWW",
        "QtyItem": "2",
        "PrcItem": "45305",
        "MontoItem": "90610"
      }
    ]
  }
}

Ejemplo XML:

<Encabezado>
  <IdDoc>
    <TipoDTE>33</TipoDTE>
    <Folio>1</Folio>
    <FchEmis>2007-10-12</FchEmis>
    <MntBruto>0</MntBruto>
    <FmaPago>2</FmaPago>
    <FchVenc>2007-11-11</FchVenc>
  </IdDoc>
  <Emisor>
    <RUTEmisor>1-9</RUTEmisor>
    <RznSoc>EMISOR DE PRUEBA</RznSoc>
    <GiroEmis>Giro del emisor de prueba</GiroEmis>
    <Acteco>519</Acteco>
    <DirOrigen>calle de prueba # 123456</DirOrigen>
    <CmnaOrigen>PROVIDENCIA</CmnaOrigen>
    <CiudadOrigen>SANTIAGO</CiudadOrigen>
    <UUID>922378a7-7493-42c5-9df0-f2eeba68e3a1</UUID>
  </Emisor>
  <Receptor>
    <RUTRecep>2-8</RUTRecep>
    <RznSocRecep>RECEPTOR DE PRUEBA</RznSocRecep>
    <GiroRecep>Giro del receptor de prueba</GiroRecep>
    <CorreoRecep></CorreoRecep>
    <Contacto></Contacto>
    <DirRecep>Av. nueva # 654321</DirRecep>
    <CmnaRecep>SANTIAGO</CmnaRecep>
    <CiudadRecep>SANTIAGO</CiudadRecep>
  </Receptor>
  <Totales>
    <MntNeto>177736</MntNeto>
    <MntExe>0</MntExe>
    <TasaIVA>19</TasaIVA>
    <IVA>33770</IVA>
    <MntTotal>211506</MntTotal>
  </Totales>
</Encabezado>

MntBruto: Corresponde al indicador de los montos en las líneas de detalle son "Brutos" o "Netos", solo para documentos sin impuestos adicionales.

VALOR DETALLE
0 o 1 Líneas de detalle en montos netos.
2 Líneas de detalle en montos brutos.

IndMntNeto(Boletas): Corresponde al indicador de los montos en las líneas de detalle son "Brutos" o "Netos", solo para documentos sin impuestos adicionales.

VALOR DETALLE
0 Líneas de detalle en montos brutos.
2 Líneas de detalle en montos netos.

FmaPago: Corresponde al indicador de cómo se pagará el Documento Electrónico

VALOR DETALLE
1 Forma de Pago Contado.
2 Forma de Pago Crédito.
3 Sin Costo (Entrega Gratuita). No tiene derecho a uso de crédito fiscal

Observación: Corresponde a la observación general del documento, Alfanumérico 1000 caracteres (Opcional).

TipoDTE: Es el N° del tipo de documento codificado por el Servicio de Impuestos Internos.

NÚMERO DOCUMENTO
33 FACTURA ELECTRÓNICA
34 FACTURA EXENTA ELECTRÓNICA
39 BOLETA ELECTRÓNICA AFECTA
41 BOLETA ELECTRÓNICA EXENTA
43 LIQUIDACIÓN FACTURA ELECTRÓNICA
46 FACTURA DE COMPRA ELECTRÓNICA
52 GUÍA DE DESPACHO ELECTRÓNICA
56 NOTA DE DÉBITO ELECTRÓNICA
61 NOTA DE CRÉDITO ELECTRÓNICA

Folio: Es el folio del documento, si el documento es de tipo manual (no electrónico) se debe especificar el N° del folio de este mismo tipo de documento, en caso contrario (electrónico), se asigna el N° del folio correspondiente al tipo de documento electrónico, este número debe coincidir con el folio siguiente almacenado, ya que se asignará automáticamente de acuerdo a la autorización de folios disponible para el tipo de documento antes mencionado.

FchEmis: Es la fecha de emisión del documento electrónico, el formato de la fecha es "AAAA-MM-DD" (año, mes, día), por ejemplo: Si la fecha del documento es 30 de marzo de 2017, entonces la fecha será 2017-03-30.

FchVenc: Es la fecha de vencimiento del documento, el formato de la fecha es similar a la fecha de emisión, en este caso, "AAAA-MM-DD" (año, mes, día).

Etiqueta (IdDoc)

Este nodo contiene la información que identifica el documento.

TipoDespacho: (Sólo para Guías de despacho) Indica si el documento acompaña bienes y el despacho es por cuenta del vendedor o del comprador. No se incluye si el documento no acompaña bienes o se trata de una Factura o Nota correspondiente a la prestación de servicios. Sus valores pueden ser:

VALOR DETALLE
1 Despacho por cuenta del receptor del documento (cliente o vendedor en caso de Facturas de compra).
2 Despacho por cuenta del emisor a instalaciones del cliente.
3 Despacho por cuenta del emisor a otras instalaciones (Ejemplo: entrega en Obra).

IndTraslado: (Sólo para Guías de despacho) Indica si el traslado de mercadería es por Venta (valor 1) o por otros motivos que no corresponden a venta (valores mayores a 1).

VALOR DETALLE
0 Sin traslado.
1 Operación constituye venta.
2 Ventas por efectuar.
3 Consignaciones.
4 Entrega gratuita.
5 Traslados internos.
6 Otros traslados.
7 Guía de devolución.

SucursalId: Campo opcional solo para identificar a que sucursal corresponde el documento.

Vendedor: Campo opcional solo para identificar a que vendedor corresponde el documento.

Etiqueta (Emisor)

Nodo que contiene la información de la empresa que emite el documento.

RUTEmisor: Corresponde al RUT del Emisor del documento (con guión, dígito verificador y sin separador de miles). Ejemplo: 86789999-1.

RznSoc: Corresponde a la Razón Social o Nombre correspondiente al emisor del documento, con un límite de 100 caracteres.

GiroEmis: Corresponde al giro del negocio del Emisor del documento, con un límite de 80 caracteres.

Acteco: Código de una de las actividades económicas del emisor del documento, registrada en el SII, de tipo numérico y con un largo máximo de 4 caracteres.

DirOrigen: Datos correspondientes a dirección desde donde se despachan bienes o de la sucursal que emite el documento (si no hay despacho de bienes), con un límite de 60 caracteres.

CmnaOrigen: Corresponde a la comuna asociada a la DirOrigen, con un límite de 20 caracteres.

CiudadOrigen: Corresponde a la ciudad asociada a la DirOrigen y CmnaOrigen, con un límite de 20 caracteres.

UUID: Corresponde al identificador único del documento. Este identificador debe ser almacenado por el Integrador (cliente) y en DTEmite. Alfanumérico 36 caracteres (Obligatorio)

Etiqueta (Receptor)

Nodo que contiene la información del cliente, quien recibe el documento.

RUTRecep: Corresponde al RUT del Cliente, con valor desde 100.000 hasta 99 millones, guión y dígito verificador (sin separador de miles), por ejemplo: 11555888-K

RznSocRecep: Corresponde a la Razón Social o Nombre correspondiente al Cliente, con un límite de 100 caracteres, por ejemplo: Empresa de Internet S.A.

GiroRecep: Corresponde al giro del negocio del Cliente, con un límite de 40 caracteres, por ejemplo: Empresa de Internet S.A.

Contacto: Campo opcional para información de contacto del receptor.

DirRecep: Corresponde a la dirección legal del Cliente (registrada en el SII), con un límite de 60 caracteres, no se especifica la comuna ni la ciudad, por ejemplo: Gran Avenida Nº9988 Italia #7788 Las torres 765

CorreoRecep: Corresponde al nodo para indicar el correo donde enviar el documento emitido.

CmnaRecep: Corresponde a la comuna legal del Cliente (registrada en el SII), con un límite de 20 caracteres, por ejemplo: Providencia Santiago

CiudadRecep: Corresponde a la ciudad legal del Cliente (registrada en el SII), con un límite de 20 caracteres, por ejemplo: Arica Santiago

Etiqueta (Totales)

Corresponde a los montos totales del documento.

MntNeto: Es el valor neto del documento, su valor debe estar entre 0 y 999.999.999.999.999, y se calcula de la siguiente forma:

ITEM
MntNeto = SUM (Valor) – ValorDesctoTot + ValorRecgoTot
SUM: sumatoria de los campos.
Valor: corresponde al valor de los Ítems (MontoItem) afectos.
ValorDesctoTot: sumatoria de descuentos globales (DscRcgGlobal).
ValorRecgoTot: sumatoria de recargos globales (DscRcgGlobal).

MntExe: Es el valor exento del documento, su valor debe estar entre 0 y 999.999.999.999.999, y se calcula de la siguiente forma:

ITEM
MntExe = SUM (ValorExento)
SUM: sumatoria de los campos.
ValorExento: corresponde al valor de los Ítems (MontoItem) no afectos (Líneas de detalle IndEx > 0).

TasaIVA: Corresponde a la tasa de impuesto al valor agregado (IVA), este valor debe ser expresado en porcentaje, por ejemplo:

ITEM
19.50
18
19

IVA: Es el valor IVA del documento, su valor debe estar entre 0 y 999.999.999.999.999, y se calcula de la siguiente forma:

IVA = MntNeto * (TasaIVA / 100)

MntTotal: Es el valor Total o Bruto del documento, su valor debe estar entre 0 y 999.999.999.999.999, y se calcula de la siguiente forma:

Total = MntNeto + MntExe + IVA

ImptoReten: Se pueden incluir 20 repeticiones de pares código – valor. Incluye los dos campos siguientes:

TipoImp: Código del impuesto o retención de acuerdo a la codificación detallada en tabla de códigos.

TasaImp: Se debe indicar la tasa de Impuesto adicional o retención. En el caso de impuesto específicos se puede omitir.

MontoImp: Valor del impuesto o retención asociado al código indicado anteriormente.

Comisiones:

ValComNeto: Suma de detalle de Valores de Comisiones y Otros Cargos.

ValComExe: Suma de detalles de valores de comisiones y otros cargos no afectos o exentos.

ValComIVA: Suma de detalle de IVA de Valor de Comisiones y Otros Cargos.

Corresponde a las líneas de detalle que posee un documento tributario, con un máximo de 60 líneas de detalle.

Ejemplo JSON:

"Detalle": [
  {
    "NroLinDet": "1",
    "CdgItem": {
      "TpoCodigo": "INT1",
      "VlrCodigo": "WWW"
    },
    "NmbItem": "Descripción de producto WWW",
    "DscItem": "Serie ABC",
    "QtyItem": "1",
    "UnmdItem": "M3",
    "PrcItem": "6000",
    "MontoItem": "6000"
  },
  {
    "NroLinDet": "2",
    "CdgItem": {
      "TpoCodigo": "INT1",
      "VlrCodigo": "XXX"
    },
    "NmbItem": "Descripción de producto XXX",
    "QtyItem": "1",
    "UnmdItem": "M3",
    "PrcItem": "4000",
    "MontoItem": "4000"
  }
]

Ejemplo XML:

<Detalle>
  <NroLinDet>1</NroLinDet>
  <CdgItem>
    <TpoCodigo>INT1</TpoCodigo>
    <VlrCodigo>AAA</VlrCodigo>
  </CdgItem>
  <NmbItem>Producto AAA</NmbItem>
  <QtyItem>1</QtyItem>
  <PrcItem>28080</PrcItem>
  <DescuentoPct>15</DescuentoPct>
  <DescuentoMonto>4212</DescuentoMonto>
  <MontoItem>23868</MontoItem>
</Detalle>
<Detalle>
  <NroLinDet>2</NroLinDet>
  <CdgItem>
    <TpoCodigo>INT1</TpoCodigo>
    <VlrCodigo>BBB</VlrCodigo>
  </CdgItem>
  <NmbItem>Producto BBB</NmbItem>
  <QtyItem>1</QtyItem>
  <PrcItem>28080</PrcItem>
  <CodImpAdic>19</CodImpAdic>
  <DescuentoPct>15</DescuentoPct>
  <DescuentoMonto>4212</DescuentoMonto>
  <MontoItem>23868</MontoItem>
</Detalle>

NroLinDet: Es el número de ítem de detalle del documento, de 1 a 60.

UnmItem: Es la unidad de medida del producto, máximo 50 caracteres.

CdgItem: Subnodo que contiene los ítems TpoCodigo y VlrCodigo que permiten identificar el código del producto.

TpoCodigo: Indica el tipo de codificación utilizada, los valores a utilizar son: EAN13, PLU, DUN14, INT1, INT2, EAN128, etc. (Sin Validación).

CodBodega: Código de la bodega perteneciente al producto para controlar stock, solamente si cuenta con módulo Inventario.

VlrCodigo: Código del producto de acuerdo al tipo de codificación en el campo anterior, con un máximo de 35 caracteres, por ejemplo: 7801620016111 PARL300WTTS

NmbItem: Es la descripción del producto antes indicado, con un máximo de 80 caracteres, por ejemplo: Mueble de computador café oscuro. Mouse óptico Microsoft USB/PS2

QtyItem: Es la cantidad del ítem, su valor debe ser hasta 12 dígitos y 6 decimales, por ejemplo: 250, 41.5

PrcItem: Es el precio unitario del ítem (expresado en pesos), su valor debe ser hasta 12 dígitos y 6 decimales, por ejemplo: 1000.43, 1536

DescuentoPct: Es el porcentaje de descuento del ítem (cuando corresponda), si el ítem no posee descuento se debe asignar 0 (cero).

CodImpAdic: Indica el código del impuesto.

DescuentoMonto: Es el valor de descuento del ítem (cuando corresponda), si el ítem no posee descuento se debe asignar 0 (cero).

RecargoPct: Es el porcentaje de recargo del ítem (cuando corresponda), si el ítem no posee recargo se debe asignar 0 (cero).

RecargoMonto: Es el valor de recargo del ítem (cuando corresponda), si el ítem no posee recargo se debe asignar 0 (cero).

IndExe: Ítem opcional, solo es necesario si se desea indicar que la línea es exenta de IVA. Es de tipo numérico con un largo máximo de 1 carácter y su valor debe corresponder con la tabla siguiente:

ITEM DETALLE
1 No afecto o exento de IVA.
2 Producto o servicio no es facturable.
3 Garantía de depósito por envases (Cervezas, Jugos, Aguas Minerales, Bebidas Analcohólicas u otros autorizados por Resolución especial).
4 Ítem No Venta. (Para facturas y guías de despacho (ésta última con Indicador Tipo de Traslado de Bienes igual a 1) y este ítem no será facturado.
5 Ítem a rebajar. Para guías de despacho NO VENTA que rebajan guía anterior. En el área de referencias se debe indicar la guía anterior.
6 Producto o servicio no facturable negativo.

MontoItem: Es el valor del ítem, debe ser cero cuando el documento sea una Nota de Crédito tipo "fe de erratas" (ver campo código de referencia), puede ser cero cuando el documento sea una Guía de Despacho NO VENTA (según campo indicador de tipo de traslado de bienes del Encabezado), su valor se calcula de la siguiente forma:

Valor = (PrcItem * QtyItem) – DescuentoMonto + RecargoMonto

Comisiones

Este nodo contiene la información de las comisiones de los productos.

NroLinCom: Número de comisión u otro cargo. De 1 a 20.

TipoMovim: C (comisión) u O (otros cargos).

Glosa: Especificación de la comisión u otro cargo.

TasaComision: Valor porcentual de la comisión u otro cargo, en 2 enteros y 2 decimales.

ValComNeto: Valor neto de la comisión u otro cargo.

ValComExe: Valor exento de la comisión u otro cargo.

ValComIVA: Valor IVA de la comisión u otro cargo.

Corresponde a los descuentos o recargos globales que se aplican al documento, con un máximo de 20 líneas.

Ejemplo JSON:

"DscRcgGlobal": [
  {
    "NroLinDR": "1",
    "TpoMov": "D",
    "TpoValor": "%",
    "ValorDR": "10"
  }
]

Ejemplo XML:

<DscRcgGlobal>
  <NroLinDR>1</NroLinDR>
  <TpoMov>D</TpoMov>
  <TpoValor>%</TpoValor>
  <ValorDR>10</ValorDR>
</DscRcgGlobal>

NroLinDR: Número de descuento o recargo, secuencial de 1 a 20.

TpoMov: Indica el tipo de movimiento, texto 1 carácter, Ejemplo: D: Descuento R: Recargo

GlosaDR: Especificación del descuento o recargo, de tipo alfanumérico con un largo máximo de 45 caracteres.

TpoValor: Indica si el valor asociado al descuento es de tipo porcentaje (%) o es un monto ($), valor alfanumérico de 1 carácter y sus valores admitidos son: %: Porcentaje $: Monto

Valor: Valor del descuento o recargo en 16 enteros y 2 decimales.

IndExeDR: Campo opcional para indicar si el descuento/recargo es exento.

Corresponde a las líneas de referencia que posee un documento tributario, con un máximo de 20 líneas.
Cuando se realiza una NOTA DE CRÉDITO o NOTA DE DÉBITO debe contener una referencia a un documento que está modificando. Por ejemplo: si una NOTA DE CRÉDITO anula una FACTURA se debe crear una línea de referencia indicando el tipo de documento, el folio, la fecha del documento referenciado, código y la razón de la referencia.

Ejemplo JSON:

"Referencia": [
  {
    "NroLinRef": "1",
    "TpoDocRef": "33",
    "FolioRef": "123",
    "FchRef": "2007-08-03",
    "CodRef": "1",
    "RazonRef": "152445596-6655215"
  }
]

Ejemplo XML:

<Referencia>
  <NroLinRef>1</NroLinRef>
  <TpoDocRef>33</TpoDocRef>
  <FolioRef>123</FolioRef>
  <FchRef>2007-08-03</FchRef>
  <CodRef>1</CodRef>
  <RazonRef>Anula documento</RazonRef>
</Referencia>

NroLineaRef: Es el número de referencia del documento, de 1 a 20.

TpoDocRef: Es el N° del tipo de documento al que se hace referencia, este número está codificado por el Servicio de Impuestos Internos.

NÚMERO DOCUMENTO
33 FACTURA ELECTRÓNICA
34 FACTURA EXENTA ELECTRÓNICA
39 BOLETA ELECTRÓNICA AFECTA
41 BOLETA ELECTRÓNICA EXENTA
43 LIQUIDACIÓN FACTURA ELECTRÓNICA
46 FACTURA DE COMPRA ELECTRÓNICA
52 GUÍA DE DESPACHO ELECTRÓNICA
56 NOTA DE DÉBITO ELECTRÓNICA
61 NOTA DE CRÉDITO ELECTRÓNICA

FolioRef: Es el folio del documento referenciado, indica el número del documento que se alterará.

FechaRef: Es la fecha de emisión del documento al que se hace referencia, el formato de la fecha es "AAAA-MM-DD" (año, mes, día), por ejemplo: Si la fecha del documento referenciado es 14 de enero de 2005, entonces la fecha será 2005-01-14.

CodRef: Indica los distintos casos de referencia, los cuales pueden ser:

NÚMERO DETALLE
1 Anula Documento de Referencia.
2 Corrige Texto Documento de referencia.
3 Corrige Montos.
4 Anulación Masiva de documentos.

RazonRef: Explicitar razón. Ejemplo una Nota de Crédito que hace referencia a una factura, indica "descuento por pronto pago", "error en precio" o "anula factura", etc. El campo tiene un largo máximo de 90 caracteres.

Ejemplo JSON:

"Referencia": [
  {
    "NroLinRef": "1",
    "TpoDocRef": "801",
    "FolioRef": "4505421654",
    "FchRef": "2011-08-01",
    "CodRef": "0",
    "RazonRef": "ORDEN DE COMPRA"
  }
]

Ejemplo XML:

<Referencia>
  <NroLinRef>1</NroLinRef>
  <TpoDocRef>801</TpoDocRef>
  <FolioRef>4505421654</FolioRef>
  <FchRef>2011-08-01</FchRef>
  <CodRef>0</CodRef>
  <RazonRef>ORDEN DE COMPRA</RazonRef>
</Referencia>

La aplicación que leerá estos archivos cuenta con la posibilidad de poder leer 10 campos "adicionales". Estos campos adicionales pueden usarse para agregar información al ejemplar impreso del documento, por ejemplo, nombre del vendedor, teléfono, condición de pago, etc. Solo el campo adicional 10 (A10) tiene un valor definido y corresponde al cuadro de observaciones que se imprime en el ejemplar impreso. La inclusión de estos en el documento JSON es opcional.

Ejemplo JSON:

"Adicional": {
  "NodosA": [
    {
      "valor": "5331706"
    },
    {
      "valor": "5331706"
    }
  ]
}

Ejemplo XML:

<Adicional>
  <NodosA>
    <valor>5331706</valor>
    <valor>5331706</valor>
  </NodosA>
</Adicional>

Protocolos y estándares REST

Se describe la funcionalidad, parámetros y métodos que componen nuestro servicio disponible para la integración a la solución de gestión de documentos tributarios electrónicos DTEmite. Este servicio está orientado a nuestros clientes que utilizan un aplicativo externo que NO tienen la opción de emisión de documentos electrónicos. Nuestro web service utiliza los protocolos y estándares REST.
Endpoint: https://sistema.dtemite.cl/sistema/Backend/WsMaster/ApiIntegracionController.php/Api/Documento

Métodos REST:

Nombre método Parámetro de entrada Parámetro de salida
{endpoint}
Encargado de integrar los documentos
-Sistema (string)*
-rut (string)
-usuario (string)*
-clave (string codificado en base64)*
-json
String (JSON respuesta) donde indica:
- Folio DTE
- Tipo DTE
- PDF (corresponde a un arreglo de bytes codificado en base64).
{endpoint}/Pdf
Retorna PDF de documento específico
-Sistema (string)*
-rut (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (JSON respuesta) donde indica:
- Folio DTE
- Tipo DTE
- PDF (corresponde a un arreglo de bytes codificado en base64).
{endpoint}/Xml
Retorna XML de documento específico
-Sistema (string)*
-rut (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (XML respuesta) donde indica:
- Folio DTE
- Tipo DTE
- XML (corresponde a un arreglo de bytes codificado en base64).

Los campos marcados con (*) son entregados por DTEmite.

Ejemplo REST:

Ejemplo de información de Consumo:

HEADERS: Content-Type: application/json

METHOD: POST

{
  "Sistema": {
    "nombre": "demo",
    "rut": "11111111-1",
    "usuario": "integracion",
    "clave": "MW50M2dyNGMxMG4="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "33",
        "Folio": "1",
        "FchEmis": "2008-09-01",
        "FchVenc": "2008-09-20"
      },
      "Emisor": {
        "RUTEmisor": "6-K",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "90610",
        "MntExe": "0",
        "TasaIVA": "19",
        "IVA": "17216",
        "MntTotal": "107826"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "WWW"
        },
        "NmbItem": "Descripción de producto WWW",
        "QtyItem": "2",
        "PrcItem": "45305",
        "MontoItem": "90610"
      }
    ]
  }
}

Ejemplo {endpoint}/Pdf - Obtener PDF de documento específico:

HEADERS: Content-Type: application/json

METHOD: POST

URL: https://sistema.dtemite.cl/sistema/Backend/WsMaster/ApiIntegracionController.php/Api/Documento/Pdf

{
  "Sistema": {
    "nombre": "demo",
    "rut": "11111111-1",
    "usuario": "integracion",
    "clave": "MW50M2dyNGMxMG4="
  },
  "tipodte": "33",
  "foliodte": "1"
}

Ejemplo {endpoint}/Xml - Obtener XML de documento específico:

HEADERS: Content-Type: application/json

METHOD: POST

URL: https://sistema.dtemite.cl/sistema/Backend/WsMaster/ApiIntegracionController.php/Api/Documento/Xml

{
  "Sistema": {
    "nombre": "demo",
    "rut": "11111111-1",
    "usuario": "integracion",
    "clave": "MW50M2dyNGMxMG4="
  },
  "tipodte": "33",
  "foliodte": "1"
}

Protocolos y estándares SOAP

Se describe la funcionalidad, parámetros y métodos que componen nuestro servicio disponible para la integración a la solución de gestión de documentos tributarios electrónicos DTEmite. Este servicio está orientado a nuestros clientes que utilizan un aplicativo externo que NO tienen la opción de emisión de documentos electrónicos. Nuestro web service utiliza los protocolos y estándares SOAP.
Dirección WSDL: http://api.dtemite.cl:8089/WSDTEIntegrado/WSDTEInt?wsdl

Métodos SOAP:

Nombre método Parámetro de entrada Parámetro de salida
Emision
Encargado de integrar los documentos
-Sistema (string)*
-rut usuario (string)
-usuario (string)*
-clave (string codificado en base64)*
-xml
String (XML respuesta) donde indica:
- Folio DTE
- Tipo DTE
- PDF (corresponde a un arreglo de bytes codificado en base64).
ObtenerPDF
Retorna PDF de documento específico
-Sistema (string)*
-rut usuario (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (XML respuesta) donde indica:
- Folio DTE
- Tipo DTE
- PDF (corresponde a un arreglo de bytes codificado en base64).
ObtenerXml
Retorna XML de documento específico
-Sistema (string)*
-rut usuario (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (XML respuesta) donde indica:
- Folio DTE
- Tipo DTE
- XML (corresponde a un arreglo de bytes codificado en base64).
ObtenerTrazabilidad
Retorna trazabilidad del documento
-Sistema (string)*
-rut usuario (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (JSON respuesta) donde indica:
- Folio DTE
- Tipo DTE
- Estados con la trazabilidad del documento
ObtenerPDFCredible
Retorna PDF creíble del documento
-Sistema (string)*
-rut usuario (string)
-usuario (string)*
-clave (string codificado en base64)*
-tipodte (string)
-foliodte (string)
String (XML respuesta) donde indica:
- Folio DTE
- Tipo DTE
- PDF (corresponde a un arreglo de bytes codificado en base64).
get_DTEcompra
Retorna documentos de compra
-Sistema (string)*
-rut (string)
-usuario (string)*
-clave (string codificado en base64)*
-fechaDesde (string aaaa-mm-dd)
-fechaHasta (string aaaa-mm-dd)
String (XML respuesta) donde indica:
- Tipo DTE
- Folio DTE
- Fecha Emisión DTE
- Fecha Vcto DTE
- Rut Proveedor
- Num OC DTE
- Monto Total DTE
- Referencia DTE
- XML DTE (Base64)
- Flag Con o Sin XML

Los campos marcados con (*) son entregados por DTEmite.

Ejemplos de uso SOAP:

Ejemplo 1 - Emisión (Método Emision):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Emision>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <xml><![CDATA[
            <Encabezado>
               <IdDoc>
                  <TipoDTE>33</TipoDTE>
                  <Folio>0</Folio>
                  <FchEmis>2024-01-20</FchEmis>
                  <FchVenc>2024-01-26</FchVenc>
               </IdDoc>
               <Emisor>
                  <RUTEmisor>29282726-1</RUTEmisor>
                  <RznSoc>EMPRESA DE PRUEBA</RznSoc>
                  <GiroEmis>DESARROLLO DE SISTEMAS</GiroEmis>
                  <DirOrigen>Avenida del Software #11001101</DirOrigen>
                  <CmnaOrigen>PROVIDENCIA</CmnaOrigen>
                  <CiudadOrigen>SANTIAGO</CiudadOrigen>
               </Emisor>
               <Receptor>
                  <RUTRecep>76399744-8</RUTRecep>
                  <RznSocRecep>CLIENTE DE PRUEBA</RznSocRecep>
                  <CorreoRecep>prueba@dtemite.cl</CorreoRecep>
                  <DirRecep>CALLE A 50</DirRecep>
                  <CmnaRecep>SANTIAGO</CmnaRecep>
                  <CiudadRecep>SANTIAGO</CiudadRecep>
               </Receptor>
               <Totales>
                  <MntNeto>10000</MntNeto>
                  <MntExe>0</MntExe>
                  <TasaIVA>19</TasaIVA>
                  <IVA>1900</IVA>
                  <MntTotal>11900</MntTotal>
               </Totales>
            </Encabezado>
            <Detalle>
               <NroLinDet>1</NroLinDet>
               <CdgItem>
                  <TpoCodigo>INT1</TpoCodigo>
                  <VlrCodigo>WWW</VlrCodigo>
               </CdgItem>
               <NmbItem>Descripción de producto WWW</NmbItem>
               <QtyItem>1</QtyItem>
               <PrcItem>11900</PrcItem>
               <MontoItem>11900</MontoItem>
            </Detalle>
         ]]></xml>
      </ws:Emision>
   </soapenv:Body>
</soapenv:Envelope>

Ejemplo 2 - Obtener PDF (Método ObtenerPDF):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ObtenerPDF>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <tipodte>33</tipodte>
         <foliodte>136</foliodte>
      </ws:ObtenerPDF>
   </soapenv:Body>
</soapenv:Envelope>

Ejemplo 3 - Obtener XML (Método ObtenerXml):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ObtenerXml>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <tipodte>33</tipodte>
         <foliodte>136</foliodte>
      </ws:ObtenerXml>
   </soapenv:Body>
</soapenv:Envelope>

Ambiente de Prueba

Credenciales de integración: Cada cliente tendrá distintas credenciales de integración. Estas credenciales van incorporadas en el JSON.

Credenciales de Prueba:

  • Rut: 29282726-1
  • Sistema: webbasico
  • Usuario: integrado_webbasico
  • Clave B64: d2ViYmFzaWNvMjAyMQ==

Portal Web

Aquí puede revisar los documentos generados:

API REST

EndPoint: https://sistema.dtemite.cl/sistema/Backend/WsMaster/ApiIntegracionController.php/Api/Documento

Ejemplo en Postman

Para probar la API REST, puede utilizar Postman con la siguiente configuración:

  • Método: POST
  • URL: https://sistema.dtemite.cl/sistema/Backend/WsMaster/ApiIntegracionController.php/Api/Documento
  • Headers: Content-Type: application/json
  • Body: Utilice cualquiera de los ejemplos JSON proporcionados a continuación

Ejemplos de Archivos JSON

1. Factura Electrónica

{
  "Sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "integrado_webbasico",
    "clave": "d2ViYmFzaWNvMjAyMQ=="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "33",
        "Folio": "0",
        "MntBruto": "2",
        "FchEmis": "2024-01-20",
        "FchVenc": "2024-01-26"
      },
      "Emisor": {
        "RUTEmisor": "29282726-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "Contacto": "correo@prueba.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "10000",
        "MntExe": "0",
        "IVA": "1900",
        "MntTotal": "11900"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "WWW"
        },
        "NmbItem": "Descripción de producto WWW",
        "QtyItem": "1",
        "PrcItem": "11900",
        "MontoItem": "11900"
      }
    ]
  }
}

2. Nota de Crédito

{
  "Sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "integrado_webbasico",
    "clave": "d2ViYmFzaWNvMjAyMQ=="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "61",
        "Folio": "0",
        "FchEmis": "2024-01-20",
        "FchVenc": "2024-01-20"
      },
      "Emisor": {
        "RUTEmisor": "29282726-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecpt": "prueba@dtemite.cl",
        "Contacto": "correo@prueba.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "10034",
        "MntExe": "0",
        "IVA": "1906",
        "MntTotal": "11940"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "WWW"
        },
        "NmbItem": "Descripción de producto WWW",
        "QtyItem": "1",
        "PrcItem": "10034",
        "MontoItem": "10034"
      }
    ],
    "Referencia": [
      {
        "NroLinRef": "1",
        "TpoDocRef": "30",
        "FolioRef": "41139",
        "FchRef": "2007-06-29",
        "CodRef": "1",
        "RazonRef": "Anula Documento Ref"
      }
    ]
  }
}

3. Boleta Electrónica

{
  "Sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "integrado_webbasico",
    "clave": "d2ViYmFzaWNvMjAyMQ=="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "39",
        "Folio": "0",
        "FchEmis": "2024-01-20",
        "FchVenc": "2024-01-26"
      },
      "Emisor": {
        "RUTEmisor": "29282726-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "Contacto": "correo@prueba.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "10000",
        "MntExe": "0",
        "IVA": "1900",
        "MntTotal": "11900"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "WWW"
        },
        "NmbItem": "Descripción de producto WWW",
        "QtyItem": "1",
        "PrcItem": "11900",
        "MontoItem": "11900"
      }
    ]
  }
}

4. Nota de Débito Electrónica

{
  "Sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "integrado_webbasico",
    "clave": "d2ViYmFzaWNvMjAyMQ=="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "56",
        "Folio": "0",
        "FchEmis": "2024-01-20",
        "FchVenc": "2024-01-26"
      },
      "Emisor": {
        "RUTEmisor": "29282726-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "Contacto": "correo@prueba.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "5000",
        "MntExe": "0",
        "IVA": "950",
        "MntTotal": "5950"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "DDD"
        },
        "NmbItem": "Cargo adicional por servicios",
        "QtyItem": "1",
        "PrcItem": "5950",
        "MontoItem": "5950"
      }
    ],
    "Referencia": [
      {
        "NroLinRef": "1",
        "TpoDocRef": "33",
        "FolioRef": "123",
        "FchRef": "2024-01-15",
        "CodRef": "3",
        "RazonRef": "Corrige montos"
      }
    ]
  }
}

5. Guía de Despacho Electrónica

{
  "Sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "integrado_webbasico",
    "clave": "d2ViYmFzaWNvMjAyMQ=="
  },
  "Documento": {
    "Encabezado": {
      "IdDoc": {
        "TipoDTE": "52",
        "Folio": "0",
        "FchEmis": "2024-01-20",
        "TipoDespacho": "1",
        "IndTraslado": "1"
      },
      "Emisor": {
        "RUTEmisor": "29282726-1",
        "RznSocEmisor": "EMPRESA DE PRUEBA",
        "GiroEmisor": "DESARROLLO DE SISTEMAS",
        "DirOrigen": "Avenida del Software #11001101",
        "CmnaOrigen": "PROVIDENCIA",
        "CiudadOrigen": "SANTIAGO"
      },
      "Receptor": {
        "RUTRecep": "76399744-8",
        "CdgIntRecep": "1000215-220",
        "RznSocRecep": "CLIENTE DE PRUEBA",
        "CorreoRecep": "prueba@dtemite.cl",
        "Contacto": "correo@prueba.cl",
        "DirRecep": "CALLE A 50",
        "CmnaRecep": "SANTIAGO",
        "CiudadRecep": "SANTIAGO"
      },
      "Totales": {
        "MntNeto": "15000",
        "MntExe": "0",
        "IVA": "2850",
        "MntTotal": "17850"
      }
    },
    "Detalle": [
      {
        "NroLinDet": "1",
        "CdgItem": {
          "TpoCodigo": "INT1",
          "VlrCodigo": "GGG"
        },
        "NmbItem": "Producto para despacho",
        "QtyItem": "2",
        "UnmdItem": "UN",
        "PrcItem": "8925",
        "MontoItem": "17850"
      }
    ]
  }
}

API SOAP

Dirección WSDL: http://api.dtemite.cl:8089/WSDTEIntegrado/WSDTEInt?wsdl

1. Factura Electrónica - Método Emision

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Emision>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <xml><![CDATA[
            <Encabezado>
               <IdDoc>
                  <TipoDTE>33</TipoDTE>
                  <Folio>0</Folio>
                  <MntBruto>2</MntBruto>
                  <FchEmis>2024-01-20</FchEmis>
                  <FchVenc>2024-01-26</FchVenc>
               </IdDoc>
               <Emisor>
                  <RUTEmisor>29282726-1</RUTEmisor>
                  <RznSoc>EMPRESA DE PRUEBA</RznSoc>
                  <GiroEmis>DESARROLLO DE SISTEMAS</GiroEmis>
                  <DirOrigen>Avenida del Software #11001101</DirOrigen>
                  <CmnaOrigen>PROVIDENCIA</CmnaOrigen>
                  <CiudadOrigen>SANTIAGO</CiudadOrigen>
               </Emisor>
               <Receptor>
                  <RUTRecep>76399744-8</RUTRecep>
                  <RznSocRecep>CLIENTE DE PRUEBA</RznSocRecep>
                  <CorreoRecep>prueba@dtemite.cl</CorreoRecep>
                  <Contacto>correo@prueba.cl</Contacto>
                  <DirRecep>CALLE A 50</DirRecep>
                  <CmnaRecep>SANTIAGO</CmnaRecep>
                  <CiudadRecep>SANTIAGO</CiudadRecep>
               </Receptor>
               <Totales>
                  <MntNeto>10000</MntNeto>
                  <MntExe>0</MntExe>
                  <IVA>1900</IVA>
                  <MntTotal>11900</MntTotal>
               </Totales>
            </Encabezado>
            <Detalle>
               <NroLinDet>1</NroLinDet>
               <CdgItem>
                  <TpoCodigo>INT1</TpoCodigo>
                  <VlrCodigo>WWW</VlrCodigo>
               </CdgItem>
               <NmbItem>Descripción de producto WWW</NmbItem>
               <QtyItem>1</QtyItem>
               <PrcItem>11900</PrcItem>
               <MontoItem>11900</MontoItem>
            </Detalle>
         ]]></xml>
      </ws:Emision>
   </soapenv:Body>
</soapenv:Envelope>

2. Nota de Crédito - Método Emision

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Emision>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <xml><![CDATA[
            <Encabezado>
               <IdDoc>
                  <TipoDTE>61</TipoDTE>
                  <Folio>0</Folio>
                  <FchEmis>2024-01-20</FchEmis>
                  <FchVenc>2024-01-20</FchVenc>
               </IdDoc>
               <Emisor>
                  <RUTEmisor>29282726-1</RUTEmisor>
                  <RznSoc>EMPRESA DE PRUEBA</RznSoc>
                  <GiroEmis>DESARROLLO DE SISTEMAS</GiroEmis>
                  <DirOrigen>Avenida del Software #11001101</DirOrigen>
                  <CmnaOrigen>PROVIDENCIA</CmnaOrigen>
                  <CiudadOrigen>SANTIAGO</CiudadOrigen>
               </Emisor>
               <Receptor>
                  <RUTRecep>76399744-8</RUTRecep>
                  <RznSocRecep>CLIENTE DE PRUEBA</RznSocRecep>
                  <CorreoRecep>prueba@dtemite.cl</CorreoRecep>
                  <Contacto>correo@prueba.cl</Contacto>
                  <DirRecep>CALLE A 50</DirRecep>
                  <CmnaRecep>SANTIAGO</CmnaRecep>
                  <CiudadRecep>SANTIAGO</CiudadRecep>
               </Receptor>
               <Totales>
                  <MntNeto>10034</MntNeto>
                  <MntExe>0</MntExe>
                  <IVA>1906</IVA>
                  <MntTotal>11940</MntTotal>
               </Totales>
            </Encabezado>
            <Detalle>
               <NroLinDet>1</NroLinDet>
               <CdgItem>
                  <TpoCodigo>INT1</TpoCodigo>
                  <VlrCodigo>WWW</VlrCodigo>
               </CdgItem>
               <NmbItem>Descripción de producto WWW</NmbItem>
               <QtyItem>1</QtyItem>
               <PrcItem>10034</PrcItem>
               <MontoItem>10034</MontoItem>
            </Detalle>
            <Referencia>
               <NroLinRef>1</NroLinRef>
               <TpoDocRef>30</TpoDocRef>
               <FolioRef>41139</FolioRef>
               <FchRef>2007-06-29</FchRef>
               <CodRef>1</CodRef>
               <RazonRef>Anula Documento Ref</RazonRef>
            </Referencia>
         ]]></xml>
      </ws:Emision>
   </soapenv:Body>
</soapenv:Envelope>

3. Boleta Electrónica - Método Emision

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dtemite.cl/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Emision>
         <Sistema>webbasico</Sistema>
         <rut>29282726-1</rut>
         <usuario>integrado_webbasico</usuario>
         <clave>d2ViYmFzaWNvMjAyMQ==</clave>
         <xml><![CDATA[
            <Encabezado>
               <IdDoc>
                  <TipoDTE>39</TipoDTE>
                  <Folio>0</Folio>
                  <FchEmis>2024-01-20</FchEmis>
                  <FchVenc>2024-01-26</FchVenc>
               </IdDoc>
               <Emisor>
                  <RUTEmisor>29282726-1</RUTEmisor>
                  <RznSoc>EMPRESA DE PRUEBA</RznSoc>
                  <GiroEmis>DESARROLLO DE SISTEMAS</GiroEmis>
                  <DirOrigen>Avenida del Software #11001101</DirOrigen>
                  <CmnaOrigen>PROVIDENCIA</CmnaOrigen>
                  <CiudadOrigen>SANTIAGO</CiudadOrigen>
               </Emisor>
               <Receptor>
                  <RUTRecep>76399744-8</RUTRecep>
                  <RznSocRecep>CLIENTE DE PRUEBA</RznSocRecep>
                  <CorreoRecep>prueba@dtemite.cl</CorreoRecep>
                  <Contacto>correo@prueba.cl</Contacto>
                  <DirRecep>CALLE A 50</DirRecep>
                  <CmnaRecep>SANTIAGO</CmnaRecep>
                  <CiudadRecep>SANTIAGO</CiudadRecep>
               </Receptor>
               <Totales>
                  <MntNeto>10000</MntNeto>
                  <MntExe>0</MntExe>
                  <IVA>1900</IVA>
                  <MntTotal>11900</MntTotal>
               </Totales>
            </Encabezado>
            <Detalle>
               <NroLinDet>1</NroLinDet>
               <CdgItem>
                  <TpoCodigo>INT1</TpoCodigo>
                  <VlrCodigo>WWW</VlrCodigo>
               </CdgItem>
               <NmbItem>Descripción de producto WWW</NmbItem>
               <QtyItem>1</QtyItem>
               <PrcItem>11900</PrcItem>
               <MontoItem>11900</MontoItem>
            </Detalle>
         ]]></xml>
      </ws:Emision>
   </soapenv:Body>
</soapenv:Envelope>

Esta API permite emitir, anular y consultar Boletas de Honorarios Electrónicas (BHE). Para utilizar esta API, primero se debe obtener un token de seguridad mediante el endpoint de login.

Documentación: https://sistema.dtemite.cl/Documentation/Bhe

Ambiente de Prueba

Credenciales de Integración:

Cada cliente tendrá distintas credenciales de integración. Estas credenciales van incorporadas en el JSON.

  • Rut: 29282726-1
  • Sistema: webbasico
  • Usuario: integrado_webbasico
  • Clave B64: d2ViYmFzaWNvMjAyMQ==

Portal Web (para revisar los documentos generados):

Endpoint Login - Obtener Token

Para utilizar esta API tenemos que previamente obtener un token de seguridad.

URL:

POST https://pro.dtemite.cl/api/login

Aquí deberán enviar las credenciales de cada cliente. (En este caso son las de un ambiente de prueba)

Ejemplo de Request:

{
  "rut": "29282726-1",
  "usuario": "demo",
  "password": "demo123"
}

Ejemplo de Response:

{
  "sistema": "webbasico",
  "usuario": "demo",
  "token": "webbasico_LB621d9j889b6a23afic7f9c8f9u97w40buahd7f9a9f93f211dbnpvcea413685e35g1243e90ap2ccc4zc31c7f29057",
  "id": "1",
  "rut": "29282726-1",
  "giro": "DEMOSTRACIÓN EMPRESAS DE SERVICIOS INTEGRALES DE INFORMATICA",
  "telefono": "955555555",
  "razon": "DEMOSTRACIÓN SISTEMAS Y SERVICIOS INFORMATICOS DTEMITE LIMITADA",
  "direccion": "MONEDA 812, OF.706. SANTIAGO",
  "email": "ventas@dtemite.cl",
  "region": "METROPOLITANA DE SANTIAGO",
  "provincia": "ARICA",
  "comuna": "SANTIAGO",
  "color_personalizado": "A93ABD"
}

Importante: Al obtener la respuesta, se deberá utilizar el campo "token" para consumir el endpoint de emisión de BHE. El token se debe enviar en el header Authorization como Bearer {token}.

API REST para la Emisión BHE

Endpoint:

POST https://pro.dtemite.cl/api/librohonorarios/emision

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Estructura JSON del Request:

{
  "sistema": {
    "nombre": "webbasico",
    "rut": "29282726-1",
    "usuario": "demo",
    "clave": "demo123"
  },
  "info": {
    "emision": "03-07-2025",
    "honorario": "SAN BERNARDO",
    "agente_retenedor": "1",
    "id_direccion_sii": "073589063",
    "direccion_sii": "AVDA LAS TORRES 760 Block Depto. Villa/Pob. VILLA 10 ERRAZURIZ"
  },
  "cliente": {
    "rut": "20297815-0",
    "razon": "José Robles",
    "giro": "Servicios Informáticos",
    "telefono": "123123123",
    "email": "jose.robles@prueba.cl",
    "direccion": "Av. Prueba 123",
    "comuna": "SAN BERNARDO"
  },
  "totales": {
    "honorarios": "100000",
    "impuesto": "14500",
    "total": "85500"
  },
  "detalle": [
    {
      "codigo": "0",
      "descripcion": "Servicios Informáticos",
      "cantidad": "1",
      "precio": "100000",
      "total": "85500"
    }
  ]
}

Ejemplo de Response Exitoso:

{
  "id": "11",
  "Mensaje": "11",
  "Status": 200,
  "ruta_pdf": "https://sistema.dtemite.cl/bhe/7b4154a66079d0d58771a9a64a3b/5eb/4512b043d9fcaae02c990b6a82652dca"
}

API REST para Anulación BHE

Esta API permite anular una Boleta de Honorarios Electrónica. Se debe consumir primero la API de Login para obtener el token de autorización.

Endpoint:

POST https://pro.dtemite.cl/api/librohonorarios/anulacion

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Ejemplo de Request:

{
  "folio": "149",
  "causa": "2"
}

Causas de Anulación:

CÓDIGO DESCRIPCIÓN
1 No se efectuó el pago de los servicios por parte del receptor
2 No se efectuó la presentación de servicios
3 Error en la digitación

Ejemplo de Response Exitoso:

"Anulación realizada con éxito"

API REST para Consultar BHE

Esta API permite consultar y obtener el PDF de una Boleta de Honorarios Electrónica. Se debe consumir primero la API de Login para obtener el token de autorización.

Endpoint:

GET https://pro.dtemite.cl/api/librohonorarios/obtenerPDF/{FolioDocumento}

"FolioDocumento": Corresponde al Folio de la BHE que desea consultar.

Método: GET

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Ejemplo de Request:

GET https://pro.dtemite.cl/api/librohonorarios/obtenerPDF/8134

Ejemplo de Response Exitoso:

{
  "resultado": true,
  "Status": 200,
  "ruta_pdf": "https://sistema.dtemite.cl/bh/06f2c2dd88262dff3d576f07ee9e8cd9526fca6fe9ba5"
}

Ejemplos Completos en Postman

Emisión BHE:

  • Método: POST
  • URL: https://pro.dtemite.cl/api/librohonorarios/emision
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: JSON con estructura completa del BHE

Anulación BHE:

  • Método: POST
  • URL: https://pro.dtemite.cl/api/librohonorarios/anulacion
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: JSON con folio y causa de anulación

Consultar BHE:

  • Método: GET
  • URL: https://pro.dtemite.cl/api/librohonorarios/obtenerPDF/{FolioDocumento}
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: No se requiere body para este endpoint

Diccionario de Términos

Campos del Sistema:

CAMPO DESCRIPCIÓN
sistema Objeto que contiene las credenciales de integración del sistema.
nombre Nombre del sistema configurado (ejemplo: "webbasico").
rut RUT de la empresa emisora.
usuario Usuario de integración.
clave Clave de integración (puede estar en Base64).

Campos de Información (info):

CAMPO DESCRIPCIÓN
emision Fecha de emisión de la BHE (formato: DD-MM-YYYY).
honorario Nombre o descripción del honorario.
agente_retenedor Indicador si es agente retenedor (1 = Sí, 0 = No).
id_direccion_sii ID de la dirección registrada en el SII.
direccion_sii Dirección completa registrada en el SII.

Campos del Cliente:

CAMPO DESCRIPCIÓN
rut RUT del cliente receptor de la BHE.
razon Razón social o nombre del cliente.
giro Giro del negocio del cliente.
telefono Teléfono de contacto del cliente.
email Correo electrónico del cliente.
direccion Dirección del cliente.
comuna Comuna del cliente.

Campos de Totales:

CAMPO DESCRIPCIÓN
honorarios Monto bruto de los honorarios (antes de impuestos).
impuesto Monto del impuesto retenido.
total Monto total a pagar (honorarios - impuesto).

Campos del Detalle:

CAMPO DESCRIPCIÓN
codigo Código del servicio o producto.
descripcion Descripción del servicio o producto.
cantidad Cantidad del servicio o producto.
precio Precio unitario.
total Total de la línea de detalle.

Notas Importantes

  • Es obligatorio obtener el token mediante el endpoint de login antes de consumir cualquier endpoint de BHE.
  • El token debe incluirse en el header Authorization con el formato Bearer {token}.
  • La fecha de emisión debe estar en formato DD-MM-YYYY (día-mes-año).
  • Los montos deben enviarse como strings numéricos sin puntos ni comas.
  • Para anular una BHE, se requiere el folio del documento y una causa válida (1, 2 o 3).
  • Para consultar una BHE, el folio se incluye en la URL del endpoint.
  • La respuesta de emisión incluye una ruta al PDF del documento generado.

Esta API permite aceptar o rechazar documentos de compra electrónicos. Para utilizar esta API, primero se debe obtener un token de seguridad mediante el endpoint de login.

Endpoint Login - Obtener Token

Antes de consumir la API de aceptación/rechazo, es necesario autenticarse y obtener un token de seguridad.

URL:

POST https://pro.dtemite.cl/api/login

Ejemplo de Request:

{
  "rut": "29282726-1",
  "usuario": "demo",
  "password": "demo123"
}

Ejemplo de Response:

{
  "sistema": "webbasico",
  "usuario": "SUPERUSER",
  "token": "webbasico_eN9w95BZd2R5deAF281V63e8c019U5b32M6Wf4bv6004BLSJ240ze62aucjcd5He65f8309bT3fbbzCy",
  "empresa": {
    "id": 1,
    "rut": "29282726-1",
    "giro": "DEMOSTRACIÓN EMPRESAS DE SERVICIOS INTEGRALES DE INFORMATICA",
    "telefono": "955555555",
    "razon": "DEMOSTRACIÓN SISTEMAS Y SERVICIOS INFORMATICOS DTEMITE LIMITADA",
    "direccion": "MONEDA 812, OF.706. SANTIAGO",
    "email": "ventas@dtemite.cl",
    "region": "METROPOLITANA DE SANTIAGO",
    "provincia": "ARICA",
    "comuna": "SANTIAGO",
    "color_personalizado": "A93ABD"
  }
}

Importante: Al obtener la respuesta, se deberá utilizar el campo "token" para consumir el endpoint de aceptación/rechazo. Este token debe incluirse en el header Authorization como Bearer {token}.

Endpoint Aceptación y Rechazo

URL:

POST https://pro.dtemite.cl/api/librodecompras/aceptacion

Se debe agregar el header Authorization con el token obtenido en el formato:

Headers:

Authorization: Bearer {token}
Content-Type: application/json

Ejemplo Completo en Postman

Para probar la API en Postman, utilice la siguiente configuración:

  • Método: POST
  • URL: https://pro.dtemite.cl/api/librodecompras/aceptacion
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: Utilice cualquiera de los ejemplos JSON proporcionados a continuación

Casos de Aceptación y Rechazo

Se tienen 3 casos principales para aceptación o rechazo de documentos:

1. Aceptación de Documento

Request:

{
  "rut": "77143385-5",
  "folio": "9560",
  "tipodoc": "33",
  "acepta_rechaza": "ACD"
}

2. Rechazo por Falta Parcial de Mercadería

Request:

{
  "rut": "77143385-5",
  "folio": "9560",
  "tipodoc": "33",
  "acepta_rechaza": "RCD",
  "rechazo": "RFP"
}

3. Rechazo por Falta Total de Mercadería

Request:

{
  "rut": "77143385-5",
  "folio": "9560",
  "tipodoc": "33",
  "acepta_rechaza": "RCD",
  "rechazo": "RFT"
}

Diccionario de Términos

CAMPO DESCRIPCIÓN
rut RUT del proveedor que emitió el documento.
folio Número de documento.
tipodoc Tipo de documento electrónico según normativa del SII.
acepta_rechaza Tipo de aceptación o rechazo del documento.

Valores para acepta_rechaza:

VALOR DESCRIPCIÓN
ACD Aceptación de Documento
RCD Rechazo de Documento

Valores para rechazo (solo cuando acepta_rechaza = "RCD"):

VALOR DESCRIPCIÓN
RFP Rechazo de mercadería Parcial
RFT Rechazo de mercadería Total

Esta API permite anular guías de despacho electrónicas. Para utilizar esta API, primero se debe obtener un token de seguridad mediante el endpoint de login.

Ambiente de Prueba

Portal Web: https://pro.dtemite.cl/Login/webbasico

Credenciales de Prueba:

  • Usuario: demo
  • Clave: demo123

Nota: Para utilizar esta API tenemos que previamente obtener un token de seguridad.

Endpoint Login - Obtener Token

Antes de consumir la API de anulación, es necesario autenticarse y obtener un token de seguridad.

URL:

POST https://pro.dtemite.cl/api/login

Aquí deberán enviar las credenciales de cada cliente. (En este caso son las de un ambiente de prueba)

Ejemplo de Request:

{
  "rut": "29282726-1",
  "usuario": "demo",
  "password": "demo123"
}

Ejemplo de Response:

{
  "sistema": "webbasico",
  "usuario": "SUPERUSER",
  "token": "webbasico_eN9w95BZd2R5deAF281V63e8c019U5b32M6Wf4bv6004BLSJ240ze62aucjcd5He65f8309bT3fbbzCy",
  "empresa": {
    "id": 1,
    "rut": "29282726-1",
    "giro": "DEMOSTRACIÓN EMPRESAS DE SERVICIOS INTEGRALES DE INFORMATICA",
    "telefono": "955555555",
    "razon": "DEMOSTRACIÓN SISTEMAS Y SERVICIOS INFORMATICOS DTEMITE LIMITADA",
    "direccion": "MONEDA 812, OF.706. SANTIAGO",
    "email": "ventas@dtemite.cl",
    "region": "METROPOLITANA DE SANTIAGO",
    "provincia": "ARICA",
    "comuna": "SANTIAGO",
    "color_personalizado": "A93ABD"
  }
}

Importante: Al obtener la respuesta, se deberá utilizar el campo "token" para consumir el endpoint de anulación. El token se debe enviar en el header Authorization como Bearer {token}.

API REST para Anular Guías de Despacho

Endpoint:

DELETE https://pro.dtemite.cl/api/librodespachos/{Folio Documento}

Método: DELETE

"Folio Documento": Corresponde al Folio de la guía de despacho que desea anular.

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Ejemplo Completo en Postman

Para probar la API en Postman, utilice la siguiente configuración:

  • Método: DELETE
  • URL: https://pro.dtemite.cl/api/librodespachos/{FolioDocumento}
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: No se requiere body para este endpoint (método DELETE con parámetro en URL)

Ejemplo de Request:

DELETE https://pro.dtemite.cl/api/librodespachos/14

Headers:

Authorization: Bearer webbasico_eN9w95BZd2R5deAF281V63e8c019U5b32M6Wf4bv6004BLSJ240ze62aucjcd5He65f8309bT3fbbzCy
Content-Type: application/json

Ejemplo de Response Exitoso:

{
  "code": 200,
  "mensaje": "Registro anulado con éxito"
}

Diccionario de Términos

TÉRMINO DESCRIPCIÓN
Folio Documento Número del folio de la guía de despacho electrónica que se desea anular. Se incluye en la URL del endpoint.
token Token de seguridad obtenido mediante el endpoint de login. Debe incluirse en el header Authorization como Bearer token.
code Código de respuesta HTTP. 200 indica éxito en la operación.
mensaje Mensaje descriptivo del resultado de la operación.

Notas Importantes

  • El método HTTP utilizado es DELETE, no POST ni PUT.
  • El folio del documento se incluye directamente en la URL, no en el body de la petición.
  • Es obligatorio incluir el token en el header Authorization con el formato Bearer {token}.
  • La anulación es permanente, asegúrese de anular solo las guías de despacho correctas.
  • Solo se pueden anular guías de despacho que estén en estado válido para anulación.

Esta API permite realizar la conciliación bancaria de cuentas corrientes, consultando información de cuentas creadas y sus movimientos bancarios.

Ambiente de Prueba

Credenciales de Integración:

  • Rut: 29282726-1
  • Sistema: webbasico
  • Usuario: integrado_webbasico
  • Clave B64: d2ViYmFzaWNvMjAyMQ==

Portal Web (para revisar documentos generados):

Paso 1: Crear Cuentas Corrientes

Para comenzar con la conciliación bancaria, primero debe crear las cuentas corrientes mediante el portal web:

  1. Ingrese al portal web con las credenciales proporcionadas.
  2. Navegue a "Cobranza""Conciliación bancaria".
  3. Haga clic en "Conectar" y siga los pasos para vincular una cuenta.
  4. Repita el proceso para cada cuenta corriente que desee conciliar.

Endpoint Login - Obtener Token

Antes de consumir las APIs de conciliación, es necesario autenticarse y obtener un token de seguridad.

URL:

POST https://pro.dtemite.cl/api/login

Ejemplo de Request:

{
  "rut": "29282726-1",
  "usuario": "demo",
  "password": "demo123"
}

Ejemplo de Response:

{
  "sistema": "webbasico",
  "usuario": "SUPERUSER",
  "token": "webbasico_eN9w95BZd2R5deAF281V63e8c019U5b32M6Wf4bv6004BLSJ240ze62aucjcd5He65f8309bT3fbbzCy",
  "empresa": {
    "id": 1,
    "rut": "29282726-1",
    "giro": "DEMOSTRACIÓN EMPRESAS DE SERVICIOS INTEGRALES DE INFORMATICA",
    "telefono": "955555555",
    "razon": "DEMOSTRACIÓN SISTEMAS Y SERVICIOS INFORMATICOS DTEMITE LIMITADA",
    "direccion": "MONEDA 812, OF.706. SANTIAGO",
    "email": "ventas@dtemite.cl",
    "region": "METROPOLITANA DE SANTIAGO",
    "provincia": "ARICA",
    "comuna": "SANTIAGO",
    "color_personalizado": "A93ABD"
  }
}

Importante: Al obtener la respuesta, se deberá utilizar el campo "token" para consumir los endpoints de conciliación. Este token debe incluirse en el header Authorization como Bearer {token}.

Paso 2: Consultar Cuentas Bancarias

Esta API lista la información de las cuentas corrientes creadas. El token devuelto para cada cuenta bancaria se utiliza para consultar los movimientos.

Endpoint:

GET http://pro.dtemite.cl/api/conciliaciondtemite/cuentas/{nombre del sistema}

Ejemplo: http://pro.dtemite.cl/api/conciliaciondtemite/cuentas/webbasico

Método: GET

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Esta API listará la información de las cuentas corrientes creadas. El campo "token" o "links_token" devuelto para cada cuenta bancaria se utilizará para consultar los movimientos en el siguiente paso.

Paso 3: Consultar Movimientos de Cuenta

Esta API permite consultar los movimientos bancarios de una o varias cuentas corrientes para un período específico.

Endpoint:

POST https://conciliacion.dtemite.cl/

Método: POST

Headers Requeridos:

Authorization: Bearer {token_obtenido_del_login}
Content-Type: application/json

Ejemplo de Request:

{
  "fecha_desde": "2024-12-01",
  "fecha_hasta": "2024-12-18",
  "links_token": [
    "link_OgPkoQirdenpXwW9_token_RqC1EULmLnJXqfG7XsJLVVSy"
  ]
}

Descripción de Campos:

  • fecha_desde: Fecha de inicio del período a consultar (formato: YYYY-MM-DD)
  • fecha_hasta: Fecha de fin del período a consultar (formato: YYYY-MM-DD)
  • links_token: Array que contiene los tokens de las cuentas corrientes obtenidos en el Paso 2. Puede incluir uno o varios tokens.

Resultado: Retorna los movimientos separados por cuenta para el período especificado.

Ejemplo Completo en Postman

Paso 2 - Consultar Cuentas:

  • Método: GET
  • URL: http://pro.dtemite.cl/api/conciliaciondtemite/cuentas/webbasico
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json

Paso 3 - Consultar Movimientos:

  • Método: POST
  • URL: https://conciliacion.dtemite.cl/
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: JSON con fecha_desde, fecha_hasta y links_token array

Flujo Completo de Integración

  1. Crear cuentas corrientes mediante el portal web (Cobranza → Conciliación bancaria).
  2. Obtener token de login mediante el endpoint POST /api/login.
  3. Consultar cuentas bancarias mediante GET /api/conciliaciondtemite/cuentas/{sistema} para obtener los tokens de cada cuenta.
  4. Consultar movimientos mediante POST https://conciliacion.dtemite.cl/ enviando los tokens de las cuentas y el rango de fechas.

Diccionario de Términos

TÉRMINO DESCRIPCIÓN
nombre del sistema Nombre del sistema configurado (ejemplo: "webbasico"). Se utiliza en la URL del endpoint de consulta de cuentas.
token Token de seguridad obtenido mediante el endpoint de login. Debe incluirse en el header Authorization como Bearer token.
links_token Token específico de cada cuenta corriente obtenido en el Paso 2. Se utiliza en el array de links_token para consultar movimientos.
fecha_desde Fecha de inicio del período de consulta de movimientos (formato: YYYY-MM-DD).
fecha_hasta Fecha de fin del período de consulta de movimientos (formato: YYYY-MM-DD).

Notas Importantes

  • Es necesario crear las cuentas corrientes primero mediante el portal web antes de poder consultarlas por API.
  • El token de login es diferente al token de cada cuenta corriente (links_token).
  • El token de login se usa para consultar las cuentas (Paso 2).
  • Los links_token de cada cuenta se usan para consultar los movimientos (Paso 3).
  • Puede consultar movimientos de múltiples cuentas enviando varios tokens en el array links_token.
  • Las fechas deben estar en formato YYYY-MM-DD (año-mes-día).
  • Para más detalles, revisar el diccionario de Conciliación 'Diccionario API ctas ctes'.

Esta API permite consultar el Registro de Compras y Ventas (RCV) desde el Servicio de Impuestos Internos (SII). Para utilizar esta API, primero se debe obtener un token de seguridad mediante el endpoint de login.

Ambiente de Prueba

Portal Web: https://pro.dtemite.cl/Login/webbasico

Credenciales de Prueba:

  • Usuario: demo
  • Clave: demo123

Nota: Para utilizar esta API tenemos que previamente obtener un token de seguridad.

Ejemplo Completo en Postman

Para probar la API en Postman, utilice la siguiente configuración:

  • Método: POST
  • URL: https://sii.dtemite.cl/rcv
  • Headers:
    • Authorization: Bearer {token_obtenido_del_login}
    • Content-Type: application/json
  • Body: JSON con sistema, rut, clave y periodo

Endpoint Login - Obtener Token

Antes de consumir la API de consulta RCV, es necesario autenticarse y obtener un token de seguridad.

URL:

POST https://pro.dtemite.cl/api/login

Aquí deberán enviar las credenciales de cada cliente. (En este caso son las de un ambiente de prueba)

Ejemplo de Request:

{
  "rut": "29282726-1",
  "usuario": "demo",
  "password": "demo123"
}

Ejemplo de Response:

{
  "sistema": "webbasico",
  "usuario": "DEMO",
  "token": "webbasico_LB621d9j80b6a23afic7c9c89a9704Duahd970wai939211bdNPiceafa2515413685e35g12A3d90mp2ccc82c31c7f29057",
  "id": "1",
  "rut": "29282726-1",
  "giro": "DEMOSTRACIÓN EMPRESAS DE SERVICIOS INTEGRALES DE INFORMATICA",
  "telefono": "955555555",
  "razon": "DEMOSTRACIÓN SISTEMAS Y SERVICIOS INFORMATICOS DTEMITE LIMITADA",
  "direccion": "MONEDA 812, OF.706. SANTIAGO",
  "email": "ventas@dtemite.cl",
  "region": "METROPOLITANA DE SANTIAGO",
  "provincia": "ARICA",
  "comuna": "SANTIAGO",
  "color_personalizado": "A93ABD"
}

Importante: Al obtener la respuesta, se deberá utilizar el campo "token" para consumir el endpoint de consulta RCV. El token se debe enviar en el header Authorization como Bearer {token}.

API REST para Consultar RCV

Endpoint:

POST https://sii.dtemite.cl/rcv

Método: POST

Headers Requeridos:

Authorization: Bearer {token}
Content-Type: application/json

Ejemplo de Request:

{
  "sistema": "webbasico",
  "rut": "29282726-1",
  "clave": "clave-SII",
  "periodo": "202501"
}

Definiciones

CAMPO DESCRIPCIÓN
sistema Nombre del sistema configurado (ejemplo: "webbasico").
rut RUT de la empresa que se desea consultar.
clave Es la clave del SII de la empresa.
periodo Es el periodo que necesita consultar en formato "AAAA-MM" (año-mes). Ejemplo: "202501" para enero de 2025.
token Token de seguridad obtenido mediante el endpoint de login. Debe incluirse en el header Authorization como Bearer token.

Notas Importantes

  • Es obligatorio obtener el token mediante el endpoint de login antes de consumir el endpoint de consulta RCV.
  • El token debe incluirse en el header Authorization con el formato Bearer {token}.
  • El periodo debe estar en formato "AAAA-MM" (año-mes), sin guiones. Ejemplo: "202501" para enero de 2025.
  • La clave del SII es diferente a la clave de integración del sistema.
  • La respuesta retornará los datos del Registro de Compras y Ventas del período especificado.

Este diccionario detalla todos los campos de respuesta de la API RCV (Registro de Compras y Ventas), incluyendo su tipo de dato y una descripción detallada de cada campo.

CAMPO TIPO DE DATO DESCRIPCIÓN
dhdrCodigo BigInt Código de Dirección - Interno SII
dcvCodigo BigInt Código de Comuna - Interno SII
dcvEstadoContab BigInt Interno SII
detCodigo BigInt Interno SII
detTipoDoc BigInt Tipo de Documento
detRutDoc BigInt Rut del cliente sin dígito verificador
detDvDoc Varchar Dígito verificador
detRznSoc Varchar Razón social del cliente
detNroDoc BigInt Número de documento
detFchDoc Varchar Fecha del documento
detFecAcuse Varchar Fecha de acuse por parte del cliente
detFecReclamado Varchar Fecha de reclamo o rechazo del documento
detFecRecepcion Varchar Fecha de recepción SII
detMntExe BigInt Monto exento del documento
detMntNeto BigInt Monto neto del documento
detMntActFijo BigInt Monto activo Fijo
detMntIVAActFijo BigInt Monto Iva activo Fijo
detMntIVANoRec BigInt Monto Iva activo Fijo No recuperable
detMntCodNoRec BigInt Código del monto No recuperable
detMntSinCredito BigInt Monto del Activo sin crédito
detMntIVA BigInt Monto Iva del documento
detMntTotal BigInt Monto Total del documento
detTasalmp Varchar Tasa de impuesto del documento
detAnulado Varchar Indicador de Documento Anulado
detIVARetTotal BigInt Monto de iva retenido Total
detIVARetParcial BigInt Monto de iva retenido Parcial
detIVANoRetenido BigInt Monto iva No retenido
detIVAPropio BigInt Monto iva propio
detIVATerceros BigInt Monto iva terceros
detIVAUsoComun BigInt Monto iva Uso Común
detLiqRutEmisor BigInt Rut emisor liquidación de factura - Liquidación de Factura
detLiqDvEmisor Varchar Dígito Verificador - Liquidación de Factura
detLiqValComNeto BigInt Valor comisión Neto - Liquidación de Factura
detLiqValComExe BigInt Valor comisión Exento - Liquidación de Factura
detLiqValComIVA BigInt Valor comisión IVA - Liquidación de Factura
detIVAFueraPlazo BigInt Valor iva fuera de plazo - Liquidación de Factura
detTipoDocRef BigInt Tipo documento referencia
detFolioDocRef BigInt Folio documento referencia
detExpNumId BigInt Factura Exportación
detExpNacionalidad BigInt Factura Exportación
detCredEc BigInt Factura Exportación
detLey18211 BigInt Factura Exportación
detDepEnvase BigInt Factura Exportación
detindSinCosto BigInt Factura Exportación
detindServicio BigInt Factura Exportación
detMntNoFact BigInt Monto no Facturable - Factura Exportación
detMntPeriodo BigInt Monto periodo - No Aplica
detPsjNac BigInt Factura Exportación
detPsjInt BigInt Factura Exportación
detNumInt BigInt Factura Exportación
detCdgSIISucur BigInt Código Sucursal SII - Factura Exportación
detEmisorNota BigInt Factura Exportación
detTabPuros BigInt Códigos Puros - Factura Exportación
detTabCigarrillos BigInt Códigos Cigarrillos - Factura Exportación
detTabElaborado BigInt Códigos Producto Elaborado - Factura Exportación
detImpVehiculo BigInt Detalle de Impuesto de Vehículos - Factura Exportación
detTpoImp BigInt Detalle Tipo de Impuesto - Factura Exportación
detTipoTransaccion Varchar Detalle Tipo de transacción - Factura Exportación
detEventoReceptor Varchar Forma en que se dio el acuse al documento de compra
detEventoReceptorLeyenda Varchar Detalle Forma en que se dio el acuse al documento de compra
cambiarTipoTran Boolean Indicador de cambio de tipo de transacción documento de compra
detPcarga BigInt Periodo de carga
descTipoTransaccion Varchar Descripción del tipo de transacción de la compra (Del Giro, Supermercado, bienes raíces...)
totalDtoiMontoImp BigInt Monto del documento fuera del Giro
totalDinrMontoIVANOR BigInt Monto de Iva No recuperable por fuera del giro
emisorAgresivo Boolean Control interno del SII por evasión de impuestos
fechaActivacionAnotacion Varchar Fecha ingreso Control interno del SII por evasión de impuestos

Notas Importantes

  • BigInt: Tipo de dato numérico de gran tamaño (enteros).
  • Varchar: Tipo de dato alfanumérico (texto variable).
  • Boolean: Tipo de dato lógico (true/false).
  • Los campos marcados como "Interno SII" son identificadores internos del sistema del Servicio de Impuestos Internos.
  • Los campos relacionados con "Factura Exportación" aplican únicamente para documentos de exportación.
  • Los campos de "Liquidación de Factura" aplican para documentos tipo Liquidación de Factura.
  • Los montos están expresados en valores numéricos enteros (sin decimales).
  • Las fechas están en formato de texto (Varchar) según la configuración del SII.

Este diccionario detalla todos los campos y objetos relacionados con la API de Cuentas Corrientes (Ctas Ctes), incluyendo el Objeto de Pago, Opciones de Intención de Pago, Objeto Destinatario y Objeto Remitente.

Objeto de Pago

El objeto de pago representa una sesión de checkout y contiene toda la información relacionada con el pago.

Ejemplo JSON del Objeto de Pago:

{
  "id": "cs_li5531onlFDi235",
  "created_at": "2021-10-15T15:22:11.4747",
  "object": "checkout_session",
  "currency": "clp",
  "amount": 1200,
  "customer_email": "customer@example.com",
  "expires_at": "2024-11-12T14:41:252",
  "mode": "live",
  "status": "finished",
  "session_token": "cs_li5531onlFDi235_sec_a4xK32BanKWYn",
  "country": "cl",
  "metadata": {
    "order_id": "#12513"
  },
  "payment_resource": {
    "payment_intent": {
      "id": "pi_B4kdYzSVREEMAPv0",
      "mode": "live",
      "amount": 1200,
      "object": "payment_intent",
      "status": "succeeded",
      "currency": "CLP",
      "metadata": {
        "order_id": "#12513"
      },
      "created_at": "2024-11-12T14:41:29Z",
      "error_reason": null,
      "reference_id": "426686855",
      "widget_token": null,
      "customer_email": null,
      "sender_account": {
        "type": "checking_account",
        "number": "227110011",
        "holder_id": "123456789",
        "institution_id": "cl_banco_estado"
      },
      "transaction_date": "2024-12-24T12:22:33Z",
      "recipient_account": {
        "type": "checking_account",
        "number": "922358017",
        "holder_id": "771433855",
        "institution_id": "cl_banco_security"
      }
    }
  }
}

Diccionario de Atributos del Objeto de Pago

ATRIBUTO TIPO DESCRIPCIÓN
id string Identificador único para la sesión de pago
created_at string Checkout Session Fecha de creación de, según ISO 8601
object string Identificador del tipo de objeto. Su valor siempre corresponderá a Checkout Session checkout_session
currency string Código ISO de moneda. Por ahora, solo admitimos CLP y MXN.
amount integer Importe a pagar, representado como un número entero. Este valor debe ser siempre mayor que 0
customer_email string Un correo electrónico de cliente vinculado a una Checkout Session. Se utiliza para notificar a un usuario en caso de un reembolso. Si planea utilizar el producto de reembolsos, debe incluir este campo en su solicitud. Si crea una sesión sin proporcionar un customer_email, este campo estará null en la respuesta y no se enviarán correos electrónicos para esa sesión de pago.
expires_at string Marca de tiempo UTC que indica cuándo expirará la sesión. El valor predeterminado es 24 horas después de la creación de la sesión de pago
mode string Indica si la Checkout Session está en modo live o en modo test
status string Estado de la sesión. Puede ser "created", "in_progress", "finished", o "expired"
session_token string Token temporal para configurar el widget.
country string Código del país (ejemplo: "cl" para Chile, "mx" para México)
metadata hash Un conjunto de pares clave-valor que puede usar para almacenar información estructurada adicional sobre un objeto. Si crea un pago sin proporcionar metadata, aparecerá como null en las notificaciones de estado final.
payment_resource object El recurso de pago asociado con la sesión una vez que se finaliza el pago. Será null si la sesión no se ha finalizado o ha expirado.
payment_method_options hash Una matriz opcional de configuraciones para cada método de pago disponible.
business_profile hash Un objeto opcional para identificar comerciantes registrados para precios basados en categorías.

Opciones de Intención de Pago

Utilice estas opciones para configurar el método de pago al crear una sesión de pago Payment Intent.

ATRIBUTO TIPO DESCRIPCIÓN
recipient_account string Un objeto que apunta a la cuenta del destinatario. Consulte la tabla del objeto "Cuenta del destinatario" para más información. Se recomienda omitir este objeto para una mayor estabilidad cuando se usa Fintoc Collects para pagos.
sender_account string Un objeto que apunta a la cuenta del remitente. Consulte la tabla del objeto "Cuenta del remitente" para más información.

Nota: Cuando reciba notificaciones de estado de pago final, sender_account puede ser nulo si el usuario abandonó el pago antes de especificar una cuenta de remitente.

Objeto Destinatario

El objeto destinatario representa la cuenta del receptor del pago.

ATRIBUTO TIPO DESCRIPCIÓN
holder_id string Identificador del titular de la cuenta. En Chile corresponde a un RUT, y en México a un RFC o CURP. El campo indica si el usuario puede cambiar el nombre de usuario preestablecido o no (valor editable).
number string El número de cuenta, que no incluye guiones ni ceros prefijados.
type string El tipo de cuenta, que puede ser "checking_account" (cuenta corriente) o "sight_account" (cuenta vista).
institution_id string La institución de la cuenta. Puede encontrar más información sobre las instituciones y sus identificadores aquí.

Objeto Remitente

El objeto remitente representa la cuenta del emisor del pago.

ATRIBUTO TIPO DESCRIPCIÓN
holder_id object Identificador del titular de la cuenta. En Chile corresponde a un RUT, y en México al número de teléfono del usuario.
number string El número de cuenta, que no incluye guiones ni ceros prefijados.
type string El tipo de cuenta, que puede ser "checking_account" (cuenta corriente) o "sight_account" (cuenta vista).
institution_id string Solo para instituciones de la cuenta CL. Puede encontrar más información sobre las instituciones y sus identificadores aquí.

Atributos del Payment Intent

ATRIBUTO TIPO DESCRIPCIÓN
id string Identificador único del payment intent
mode string Indica si está en modo live o test
amount integer Importe del pago en formato entero
object string Tipo de objeto, siempre será "payment_intent"
status string Estado del pago (ejemplo: "succeeded", "pending", "failed")
currency string Código de moneda ISO (ejemplo: "CLP", "MXN")
metadata object Metadatos adicionales asociados al pago
created_at string Fecha de creación del payment intent según ISO 8601
error_reason string/null Razón del error si el pago falló, null si fue exitoso
reference_id string ID de referencia del pago
widget_token string/null Token del widget, null si no aplica
customer_email string/null Correo electrónico del cliente, null si no se proporcionó
transaction_date string Fecha de la transacción según ISO 8601

Notas Importantes

  • El objeto payment_resource solo estará presente cuando el pago se haya finalizado exitosamente.
  • El campo sender_account puede ser null si el usuario abandonó el pago antes de especificar una cuenta de remitente.
  • Los montos deben enviarse como números enteros (sin decimales).
  • Las fechas deben estar en formato ISO 8601 (YYYY-MM-DDTHH:mm:ssZ).
  • Los códigos de moneda soportados actualmente son CLP (Chile) y MXN (México).
  • El campo holder_id en el objeto remitente puede ser un objeto en lugar de un string, dependiendo del país.
  • El institution_id debe corresponder a una institución válida del país especificado.