RIDE
Proceso detallado para extraer un documento RIDE en formato XML, PDF o JSON.
La extracción de un RIDE (Documento Electrónico) se realiza a través de un proceso de dos pasos en el API de TAXO WS. Aquí se describe cómo iniciar una tarea de extracción y obtener el documento en el formato deseado.
Pasos para la Extracción de un RIDE
Paso 1: Crear una Tarea
Para iniciar la extracción de un RIDE, debes crear una tarea utilizando la clave de acceso del documento. Esto se realiza mediante una solicitud POST al API.
const axios = require('axios');
let data = JSON.stringify({
"type": "RIDE",
"identifier": "CLAVE_DE_ACCESO"
//Clave de acceso de ejemplo: 2404202401179251243300120010030182328650000000014
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://staging-api.taxo.ws/tasks',
headers: {
'x-api-key': 'your_api_key',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Paso 2: Esperar el Webhook
Una vez creada la tarea, es necesario esperar a que el webhook notifique la finalización del proceso. El webhook enviará un evento a la url previamente configurada con el RIDE en formato JSON indicando que el documento está listo para ser descargado.
{
"event":"extraction.completed",
"organizationId":"0598a8e2-c375-46fb-bdf8-b4082e771a21",
"createdAt":"2024-04-27T23:00:10.253Z",
"model":"extraction",
"data":{
"id":"3159d0d0-29ed-4f46-be1c-c82b435d988b",
"taskId":"7a736ec3-cc14-41dd-912a-acd57420b4d5",
"taxpayerId":"2edd8f8e-b4a7-4091-8fa8-795551fc6589",
"taxpayerIdentification":"2404202401179251243300120010030182328650000000014",
"organizationId":"0598a8e2-c375-46fb-bdf8-b4082e771a21",
"status":"COMPLETED",
"taskType":"RIDE",
"createdAt":"2024-04-27T23:00:10.000Z",
"updatedAt":"2024-04-27T23:00:10.243Z",
"extractionType":"DOCUMENT",
"content":{
"infoTributaria":{
"ambiente":"PRODUCCIÓN",
"tipoEmision":"NORMAL",
"razonSocial":"DELIVERY HERO DH E-COMMERCE ECUADOR S.A.S.",
"nombreComercial":"DELIVERY HERO DH E-COMMERCE ECUADOR S.A.S.",
"ruc":"1792512433001",
"claveAcceso":"2404202401179251243300120010030182328650000000014",
"codDoc":"01",
"estab":"001",
"ptoEmi":"003",
"secuencial":"018232865",
"dirMatriz":"Catalina aldas y Portugal, Edificio Recoleta piso 6. Oficina 65"
},
"infoAdicional":[
{
"nombre":"Email",
"valor":"[email protected]"
}
],
"infoDocumento":{
"tipo":"factura",
"fechaEmision":"24/04/2024",
"dirEstablecimiento":"Catalina aldas y Portugal, Edificio Recoleta piso 6. Oficina 65",
"contribuyenteEspecial":"051",
"obligadoContabilidad":"SI",
"tipoIdentificacionComprador":"04",
"razonSocialComprador":"ESZTUDIO",
"identificacionComprador":"0195089231001",
"totalSinImpuestos":1.14,
"totalDescuento":0,
"propina":0,
"importeTotal":1.31,
"moneda":"USD",
"valorRetRenta":0.17,
"tipoIdentificacionCompradorNombre":"RUC",
"pago":{
"formaPago":20,
"total":1.31,
"plazo":30,
"unidadTiempo":"DIAS",
"formaPagoNombre":"OTROS CON UTILIZACIÓN DEL SISTEMA FINANCIERO"
},
"totalImpuestos":[
{
"codigo":2,
"codigoPorcentaje":4,
"baseImponible":1.14,
"tarifa":15,
"valor":0.17,
"nombre":"IVA"
}
]
},
"productos":[
{
"codigoPrincipal":"DELIVERY-FEE-EC",
"descripcion":"Servicio Logistico",
"unidadMedida":"UND",
"cantidad":1,
"precioUnitario":1.03,
"descuento":0,
"precioTotalSinImpuesto":1.03,
"impuestos":{
"codigo":2,
"codigoPorcentaje":4,
"tarifa":15,
"baseImponible":1.03,
"valor":0.16,
"nombre":"IVA"
}
},
{
"codigoPrincipal":"SERVICE-FEE-EC",
"descripcion":"Tarifa de servicio",
"unidadMedida":"UND",
"cantidad":1,
"precioUnitario":0.1,
"descuento":0,
"precioTotalSinImpuesto":0.1,
"impuestos":{
"codigo":2,
"codigoPorcentaje":4,
"tarifa":15,
"baseImponible":0.1,
"valor":0.02,
"nombre":"IVA"
}
}
],
"fechaAutorizacion":"2024-04-24T10:17:45-05:00",
"estado":"AUTORIZADO"
},
"triggerMethod":"API"
}
}
Paso 3: Consultar el Documento
Finalmente, para obtener el documento, debes realizar una solicitud GET al servicio correspondiente. El formato del documento (XML, PDF o JSON) dependerá del Content-Type
que especifiques en tu solicitud.
const axios = require('axios');
let config = {
method: 'get',
url: 'https://staging-api.taxo.ws/documents/{CLAVE_DE_ACCESO}',
headers: {
'x-api-key': 'your_api_key',
'Content-Type': 'application/xml' // O 'application/json' o 'application/pdf'
}
};
axios.request(config)
.then((response) => {
console.log("Documento obtenido: ", response.data);
})
.catch((error) => {
console.log("Error al obtener el documento: ", error);
});