Consultar RUC
GET /invoicing/ruc/infoConsulta información fiscal de un RUC (Registro Único de Contribuyente) en el registro de la DGI. Útil para validar datos fiscales de un cliente antes de emitir una factura.
Solo aplica a contribuyentes panameños
Este endpoint consulta únicamente el registro de la DGI de Panamá. No aplica a clientes extranjeros (receptor 04): sus datos no existen en el registro panameño, no tienen dígito verificador y no pueden validarse por esta vía. Para facturar a un extranjero, envía su identificación (foreignTaxId o passport) directamente; country es obligatorio solo cuando la identificación es por passport. Ver .
Autenticación
Requiere header X-SOLERBA-TOKEN. Ver .
Query Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
ruc | string | Sí | Número de RUC a consultar |
type | integer | Sí | Tipo de contribuyente: 1 (persona natural) o 2 (persona jurídica) |
Alias del parámetro type
También se acepta tipo como nombre del parámetro en lugar de type.
Ejemplo
# Persona natural
curl -X GET "https://api.solerba.com/external-api/invoicing/ruc/info?ruc=4-797-2472&type=1" \
-H "X-SOLERBA-TOKEN: tu-api-token-aqui"
# Persona jurídica
curl -X GET "https://api.solerba.com/external-api/invoicing/ruc/info?ruc=6-123-3123&type=2" \
-H "X-SOLERBA-TOKEN: tu-api-token-aqui"Ejemplo JS
// Persona natural
const response = await fetch(
'https://api.solerba.com/external-api/invoicing/ruc/info?ruc=4-797-2472&type=1',
{
headers: {
'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN
}
}
);
const result = await response.json();
console.log(result);Ejemplo Py
import requests
# Persona natural
response = requests.get(
'https://api.solerba.com/external-api/invoicing/ruc/info',
params={'ruc': '4-797-2472', 'type': 1},
headers={'X-SOLERBA-TOKEN': 'tu-api-token-aqui'}
)
result = response.json()
print(result)Respuesta exitosa
HTTP 200 OK
{
"success": true,
"result": {
"ruc": "4-797-2472",
"dv": 7,
"name": "JUAN PABLO RIVERA LASSO",
"type": 1
}
}| Campo | Tipo | Descripción |
|---|---|---|
ruc | string | Número de RUC consultado |
dv | integer | Dígito verificador |
name | string | Nombre o razón social registrada ante la DGI |
type | integer | Tipo de contribuyente (1 = natural, 2 = jurídico) |
Casos de uso
Validar datos antes de facturar
Consulta el RUC antes de crear una factura para asegurarte de que los datos fiscales del cliente son correctos:
// 1. Consultar RUC
const rucInfo = await fetch(
'https://api.solerba.com/external-api/invoicing/ruc/info?ruc=6-123-3123&type=2',
{ headers: { 'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN } }
).then(r => r.json());
// 2. Usar los datos en la factura
const invoice = await fetch(
'https://api.solerba.com/external-api/invoicing/lite',
{
method: 'POST',
headers: {
'X-SOLERBA-TOKEN': process.env.SOLERBA_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify({
branchId: 1,
client: {
taxName: rucInfo.result.name,
taxId: rucInfo.result.ruc,
taxDv: rucInfo.result.dv,
taxIdType: rucInfo.result.type,
taxReceiverType: '01',
email: '[email protected]'
},
items: [
{ description: 'Servicio', qty: 1, price: 100, taxes: [{ code: '01' }] }
],
payments: [
{ type: '04', amount: 107 }
]
})
}
).then(r => r.json());Buena práctica
Valida siempre el RUC antes de facturar a un contribuyente (tipo 01) o entidad de gobierno (tipo 03). Esto te asegura que los datos fiscales son correctos y evita rechazos en la emisión. Los receptores Consumidor Final (02) y Extranjero (04) no se validan por esta vía.
Problemas comunes
| Error | Causa | Solución |
|---|---|---|
401 Unauthorized | Token inválido o expirado | Verifica tu API Token |
400 — ruc requerido | No se envió el parámetro ruc | Incluye el RUC en los query parameters |
400 — type requerido | No se envió el parámetro type | Incluye type con valor 1 o 2 |
404 Not Found | RUC no encontrado en el registro de la DGI | Verifica que el RUC y el tipo sean correctos |
Siguientes pasos
- — Usa los datos del RUC para facturar
- — Tipos de receptor y datos requeridos
- — Catálogos de tipos de identificación