Anular un dte
Este endpoint está diseñado para invalidar cualquier tipo de DTE. Para utilizarlo, necesitas realizar un POST request a /dte/invalidate
, incluyendo la información necesaria en el cuerpo de la solicitud.
Detalles Técnicos
- HTTP Method: POST
- URL:
https://api.facturallama.com/dte/invalidate
- Headers:
- X-API-Key: Tu API key.
- X-API-Version: La versión de la API que estás utilizando.
- Content-Type: application/json
Request Body
A continuación se presenta una descripción detallada de las propiedades que puedes incluir en el cuerpo de tu solicitud, así como las validaciones y formatos que debes tener en cuenta.
Propiedades Principales
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
dteId | UUID | Obligatorio. | Identificador único del DTE que sera invalidado. |
dteReplaceId | UUID | Opcional. | Identificador único del DTE que reemplazara al DTE invalidado. Este DTE debe tener un status de APPROVED . |
branchOffice | Object | Opcional. Ver detalles. | Datos de la sucursal y punto de venta. |
reason | String | Opcional. Máximo: 250 caracteres | Descripción de la razón de la invalidación. |
manager | Object | Opcional. Ver detalles. | Persona responsable de la invalidación del documento. |
requester | Object | Opcional. Ver detalles. | Persona que solicita la invalidación del documento. |
Propiedades Anidadas
branchOffice
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
mhCode | String | Obligatorio. Debe ser un string de exactamente 4 caracteres. | Identificador de la sucursal. |
posNumber | Number | Obligatorio. Debe ser un número positivo. El valor no puede ser mayor a 999. | Identificador del punto de venta. |
manager
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
name | String | Obligatorio. Máximo: 150 caracteres. | Nombre de la tercera parte. |
identificationDocument | Object | Obligatorio. Ver detalles. | Documento de identificación de la tercera parte. |
manager.identificationDocument
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
type | Enum | Obligatorio. | Tipo de documento. Valores: NIT , DUI , PASAPORTE , CARNET_RESIDENTE , OTRO . |
number | String | Obligatorio. | Número del documento de identificación. DUI: #########; NIT: ############## |
requester
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
name | String | Obligatorio. Máximo: 150 caracteres. | Nombre de la tercera parte. |
identificationDocument | Object | Obligatorio. Ver detalles. | Documento de identificación de la tercera parte. |
requester.identificationDocument
Propiedad | Tipo | Validación | Descripción |
---|---|---|---|
type | Enum | Obligatorio. | Tipo de documento. Valores: NIT , DUI , PASAPORTE , CARNET_RESIDENTE , OTRO . |
number | String | Obligatorio. | Número del documento de identificación. DUI: #########; NIT: ############## |
Response Body
Una vez procesada tu solicitud, el servidor responderá con un conjunto de datos que confirmarán la invalidación del dte o, en caso de error, proporcionarán detalles sobre lo que salió mal.
Propiedad | Tipo | Descripción |
---|---|---|
id | UUID | Identificador único del evento de invalidación del DTE. |
companyId | UUID | Identificador único de la empresa. |
environment | Enum | Ambiente. Valores: TEST , LIVE . |
type | Enum | Tipo de documento fiscal. |
version | Integer | Versión del evento de invalidación del DTE. |
status | Enum | Estado del evento de invalidación del DTE. Valores: APPROVED , REJECTED . |
mhResponse | Object | Respuesta del API del Ministerio de Hacienda. |
generatedAt | Timestamp | Fecha y hora de creación del DTE asignado manualmente. |
createdAt | Timestamp | Fecha y hora de creación del DTE. |
updatedAt | Timestamp | Fecha y hora de creación del DTE. |
Ejemplo
Copia y pega el código en una terminal o en tu editor de código favorito. Reemplaza <Tu API Key>
con la API key que generaste en el paso anterior.
- cURL
- wget
- NodeJs - Axios
- PHP - Guzzle
curl --location 'https://api.facturallama.com/dte/invalidate' \
--header 'X-API-Version: 1' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <API Key>' \
--data-raw '{
"dteId": "<TAX DOCUMENT UUID>"
}'
wget --no-check-certificate --quiet \
--method=POST \
--header='X-API-Key: <API Key>' \
--header='X-API-Version: 1' \
--header='Content-Type: application/json' \
--body-data='{
"dteId": "<TAX DOCUMENT UUID>"
}' \
--output-document=- \
https://api.facturallama.com/dte/invalidate
const axios = require("axios");
let data = JSON.stringify({
dteId: "<TAX DOCUMENT UUID>"
});
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://api.facturallama.com/dte/invalidate",
headers: {
"X-API-Version": "1",
"Content-Type": "application/json",
"X-API-Key": "<API Key>",
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
<?php
$client = new Client();
$headers = [
'X-API-Version' => '1',
'Content-Type' => 'application/json',
'X-API-Key' => '<API Key>'
];
$body = '{
"dteId": "<TAX DOCUMENT UUID>"
}';
$request = new Request('POST', 'https://api.facturallama.com/dte/invalidate', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();