Consultar una solicitud fiscal
curl --request GET \
--url https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}import requests
url = "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"fiscalRequestId": "9afef543-56ce-4911-a92e-5908366fa980",
"orderCode": "EC-K004-42-1786579046934",
"reused": false,
"countryCode": "EC",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "005-004-000000045",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"issuedAt": "2026-08-13T13:33:41.438Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": { "qr": "1208202601000000000000110050040000000451234567817" },
"failure": null,
"countryData": {
"claveAcceso": "1208202601000000000000110050040000000451234567817",
"establecimiento": "005",
"puntoEmision": "004",
"secuencial": "000000045",
"ambiente": "PRODUCCION"
}
}
}
{
"success": true,
"data": {
"fiscalRequestId": "c1a7f0e2-9b34-4d21-8e55-3f60ab12cd90",
"orderCode": "CO-K039-1786901234",
"reused": false,
"countryCode": "CO",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA",
"issuedAt": "2026-08-16T14:21:03.118Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": null,
"failure": null,
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimales)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
}
}
}
{
"success": false,
"error": "NOT_FOUND",
"message": "FiscalRequest not found"
}
API
Consultar una solicitud fiscal
Trae el estado actual de una solicitud de numeración por su identificador — incluido el veredicto del ente cuando ya llegó.
GET
/
api
/
v1
/
external
/
fiscal
/
numbering
/
{fiscalRequestId}
Consultar una solicitud fiscal
curl --request GET \
--url https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}import requests
url = "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/external/fiscal/numbering/{fiscalRequestId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"fiscalRequestId": "9afef543-56ce-4911-a92e-5908366fa980",
"orderCode": "EC-K004-42-1786579046934",
"reused": false,
"countryCode": "EC",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "005-004-000000045",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"issuedAt": "2026-08-13T13:33:41.438Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": { "qr": "1208202601000000000000110050040000000451234567817" },
"failure": null,
"countryData": {
"claveAcceso": "1208202601000000000000110050040000000451234567817",
"establecimiento": "005",
"puntoEmision": "004",
"secuencial": "000000045",
"ambiente": "PRODUCCION"
}
}
}
{
"success": true,
"data": {
"fiscalRequestId": "c1a7f0e2-9b34-4d21-8e55-3f60ab12cd90",
"orderCode": "CO-K039-1786901234",
"reused": false,
"countryCode": "CO",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA",
"issuedAt": "2026-08-16T14:21:03.118Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": null,
"failure": null,
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimales)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
}
}
}
{
"success": false,
"error": "NOT_FOUND",
"message": "FiscalRequest not found"
}
Devuelve el mismo contrato que
Es el mismo scope que para emitir, a propósito: quien puede numerar puede
consultar lo que numeró. No hay un scope de solo lectura que dé menos.
El tenant sale de la clave, nunca del request. Una solicitud de otra cuenta
devuelve
POST /numbering,
con el estado actualizado. Lo que cambia entre una llamada y otra es
documentStatus: nace en PENDING y pasa a AUTHORIZED cuando el ente se
pronuncia.
En la operación diaria no deberías necesitarlo. Los identificadores ya te
llegan en
data.fiscalRepresentation de los eventos de la orden, y el veredicto
del ente en lastKnown.fiscal.status. Este endpoint existe para cuando el camino
normal no alcanza: perdiste la respuesta síncrona por un corte de red, o querés
confirmar el estado sin esperar el evento.Autenticación
| Header | x-api-key: pk_live_… |
| Scope | fiscal:write |
404, igual que una que no existe — no se distingue una cosa de la otra
para no filtrar qué identificadores son reales.
Parámetros de ruta
string
requerido
El
fiscalRequestId que devolvió la numeración. Es un UUID.Respuesta
Idéntica a la dePOST /numbering — ver
la referencia completa del contrato.
{
"success": true,
"data": {
"fiscalRequestId": "9afef543-56ce-4911-a92e-5908366fa980",
"orderCode": "EC-K004-42-1786579046934",
"reused": false,
"countryCode": "EC",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "005-004-000000045",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"issuedAt": "2026-08-13T13:33:41.438Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": { "qr": "1208202601000000000000110050040000000451234567817" },
"failure": null,
"countryData": {
"claveAcceso": "1208202601000000000000110050040000000451234567817",
"establecimiento": "005",
"puntoEmision": "004",
"secuencial": "000000045",
"ambiente": "PRODUCCION"
}
}
}
{
"success": true,
"data": {
"fiscalRequestId": "c1a7f0e2-9b34-4d21-8e55-3f60ab12cd90",
"orderCode": "CO-K039-1786901234",
"reused": false,
"countryCode": "CO",
"requestStatus": "GENERATED",
"documentStatus": "AUTHORIZED",
"retryable": false,
"environment": "PRODUCTION",
"document": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA",
"issuedAt": "2026-08-16T14:21:03.118Z",
"compensates": null
},
"printing": { "printable": true, "mode": "FISCAL_DOCUMENT", "reason": null },
"graphic": null,
"failure": null,
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimales)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
}
}
}
{
"success": false,
"error": "NOT_FOUND",
"message": "FiscalRequest not found"
}
Errores
| Código | Cuándo |
|---|---|
401 | La API key falta, no existe o está revocada |
403 | La key no tiene el scope fiscal:write |
404 | El fiscalRequestId no existe o pertenece a otra cuenta |
Relacionado
- Solicitar numeración fiscal — el
POSTque la crea - Listar solicitudes de una orden — cuando solo tenés el
orderCode - Datos de impresión fiscal — lo que lee la caja para reimprimir
⌘I

