API Decisiones Judiciales

Inicio / APIs Judiciales / API Decisiones Judiciales

Descripcion

La API Pública de Decisiones Judiciales es una herramienta del Poder Judicial que permite a cualquier persona consultar, de forma sencilla y transparente, la información relacionada con las decisiones que se han tomado en distintos casos judiciales. A través del Número Único de Caso (NUC), la ciudadanía puede conocer el estado de un proceso, las resoluciones emitidas y otros datos relevantes sin necesidad de acudir directamente a un tribunal. Su objetivo es facilitar el acceso a la justicia, ofrecer información clara y actualizada, y fortalecer la transparencia del sistema judicial, permitiendo que cualquier persona pueda seguir un caso y entender mejor cómo se toman las decisiones en los tribunales.

Manual de Usuario - API Pública de Consulta de Casos Judiciales

API Pública de Decisiones Judiciales

Poder Judicial - Versión 1.0

Introducción

La API Pública de Decisiones Judiciales es un servicio web desarrollado por el Poder Judicial que permite consultar información sobre decisiones judiciales de manera programática. Esta API proporciona acceso a datos de casos judiciales utilizando el Número Único de Caso (NUC) como identificador principal.

Propósito

Esta API está diseñada para facilitar el acceso a información pública sobre decisiones judiciales, permitiendo a desarrolladores, instituciones y ciudadanos consultar datos de forma automatizada y eficiente.

Información General

Versión 1.0
Protocolo HTTPS
Formato de Respuesta JSON
Framework .NET 8.0
Autenticación No requiere (API pública)
Documentación Interactiva Swagger UI

Requisitos Previos

Para utilizar esta API, necesitará:

  • Conexión a Internet: Acceso estable a la red
  • Cliente HTTP: Cualquier herramienta capaz de realizar peticiones HTTP (curl, Postman, navegador web, etc.)
  • Número Único de Caso (NUC): El identificador del caso judicial que desea consultar
  • Conocimientos básicos de:
    • Peticiones HTTP
    • Formato JSON
    • Manejo de respuestas paginadas

Endpoint Disponible

ObtenerDecisiones

Consulta decisiones judiciales asociadas a un Número Único de Caso (NUC).

GET
/Decisiones/ObtenerDecisiones

URL Base

https://api.poderjudicial.gob.do/Decisiones/Decisiones/ObtenerDecisiones

Parámetros de Consulta

Todos los parámetros se envían como query parameters en la URL.

Parámetro Tipo Requerido Descripción Validaciones
Nuc string Número Único de Caso No puede estar vacío
PaginaActual integer Número de página a consultar Debe ser mayor a 0
RegistrosPorPagina integer Cantidad de registros por página Debe ser mayor a 0

Descripción Detallada de Parámetros

Nuc (Número Único de Caso)

  • Identificador único del caso judicial
  • Formato: Cadena de texto
  • Ejemplo: "2024-0002365"

PaginaActual

  • Indica qué página de resultados desea obtener
  • Valor mínimo: 1
  • Ejemplo: Para obtener los primeros resultados, usar 1

RegistrosPorPagina

  • Define cuántos registros se devolverán en cada página
  • Valor mínimo: 1
  • Valor recomendado: Entre 10 y 100
  • Ejemplo: 20 devolverá 20 registros por página

Estructura de Respuesta

Respuesta Exitosa (200 OK)

La API devuelve un objeto de paginación que contiene los siguientes campos:

{
  "paginaActual": 1,
  "totalPaginas": 5,
  "registrosPorPagina": 20,
  "totalRegistros": 100,
  "datos": [
    {
      "asunto": "Descripción del asunto",
      "categoriaTribunal": "Primera Instancia",
      "nuc": "2024-0002365",
      "numeroDecision": "001-2024",
      "fechaDecision": "2024-10-15T00:00:00",
      "urlDocumentoFirmado": "https://[url-documento]",
      "materia": "Civil",
      "sala": "Sala Civil",
      "tribunal": "Tribunal Superior",
      "tipoFallo": "Sentencia",
      "tipoDocumento": "Resolución"
    }
  ]
}

Campos de Paginación

Campo Tipo Descripción
paginaActual integer Página actual que se está visualizando
totalPaginas integer Total de páginas disponibles
registrosPorPagina integer Cantidad de registros en esta página
totalRegistros integer Total de registros encontrados
datos array Lista de decisiones judiciales

Campos de Decisión Judicial

Campo Tipo Descripción
asunto string Descripción del asunto del caso
categoriaTribunal string Categoría del tribunal (Primera Instancia, Segunda Instancia, etc.)
nuc string Número Único de Caso
numeroDecision string Número identificador de la decisión
fechaDecision datetime Fecha en que se emitió la decisión
urlDocumentoFirmado string URL para acceder al documento firmado digitalmente
materia string Materia del caso (Civil, Penal, Laboral, etc.)
sala string Sala del tribunal que emitió la decisión
tribunal string Nombre del tribunal
tipoFallo string Tipo de fallo emitido
tipoDocumento string Tipo de documento judicial

Ejemplos de Uso

Ejemplo 1: Consulta Básica con curl

curl -X GET "https://api.poderjudicial.gob.do/Decisiones/Decisiones/ObtenerDecisiones?Nuc=199-2020-ELAB-00094&PaginaActual=1&RegistrosPorPagina=10"

Ejemplo 2: Consulta con JavaScript (Fetch API)

const obtenerDecisiones = async (nuc, pagina, registrosPorPagina) => {
  const url = `https://api.poderjudicial.gob.do/Decisiones/Decisiones/ObtenerDecisiones?Nuc=${nuc}&PaginaActual=${pagina}&RegistrosPorPagina=${registrosPorPagina}`;

  try {
    const response = await fetch(url);

    if (!response.ok) {
      throw new Error(`Error HTTP: ${response.status}`);
    }

    const data = await response.json();
    console.log('Decisiones:', data);
    return data;

  } catch (error) {
    console.error('Error al consultar decisiones:', error);
  }
};

// Uso
obtenerDecisiones('199-2020-ELAB-00094', 1, 20);

Ejemplo 3: Consulta con Python (requests)

import requests

def obtener_decisiones(nuc, pagina_actual, registros_por_pagina):
    url = "https://api.poderjudicial.gob.do/Decisiones/Decisiones/ObtenerDecisiones"

    params = {
        'Nuc': nuc,
        'PaginaActual': pagina_actual,
        'RegistrosPorPagina': registros_por_pagina
    }

    try:
        response = requests.get(url, params=params)
        response.raise_for_status()

        data = response.json()
        print(f"Total de registros: {data['totalRegistros']}")
        print(f"Total de páginas: {data['totalPaginas']}")

        return data

    except requests.exceptions.RequestException as e:
        print(f"Error al consultar la API: {e}")
        return None

# Uso
decisiones = obtener_decisiones('199-2020-ELAB-00094', 1, 20)

Ejemplo 4: Consulta con C# (.NET)

using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class DecisionesClient
{
    private readonly HttpClient _httpClient;

    public DecisionesClient()
    {
        _httpClient = new HttpClient();
    }

    public async Task<PaginacionResponse<DecisionResponse>> ObtenerDecisiones(
        string nuc,
        int paginaActual,
        int registrosPorPagina)
    {
        var url = $"https://api.poderjudicial.gob.do/Decisiones/Decisiones/ObtenerDecisiones?" +
                  $"Nuc={nuc}&PaginaActual={paginaActual}&RegistrosPorPagina={registrosPorPagina}";

        try
        {
            var response = await _httpClient.GetAsync(url);
            response.EnsureSuccessStatusCode();

            var content = await response.Content.ReadAsStringAsync();
            var resultado = JsonSerializer.Deserialize<PaginacionResponse<DecisionResponse>>(content);

            Console.WriteLine($"Total de registros: {resultado.TotalRegistros}");
            return resultado;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
            return null;
        }
    }
}

Códigos de Estado HTTP

La API utiliza los siguientes códigos de estado HTTP estándar:

Código Descripción Situación
200 OK Solicitud exitosa Los datos se devolvieron correctamente
400 Bad Request Los parámetros enviados son incorrectos o incompletos
404 Not Found No se encontraron resultados para los parámetros especificados
429 Too Many Requests Se excedió el límite de peticiones permitidas
500 Internal Server Error Ocurrió un error interno en el servidor

Limitación de Peticiones

La API implementa un sistema de limitación de peticiones (Rate Limiting) para garantizar un uso equitativo del servicio.

Límites Actuales

  • Límite: 100 peticiones por minuto
  • Ventana de tiempo: 1 minuto
  • Identificación: Por dirección IP o API Key (si se proporciona mediante header X-Api-Key)

Comportamiento al Exceder el Límite

Cuando se excede el límite de peticiones:

  1. Código de respuesta: 429 Too Many Requests
  2. Mensaje de error:
{
  "error": "Ha superado el límite de peticiones permitidas."
}

Recomendaciones

  • Implemente lógica de reintento con retroceso exponencial
  • Distribuya sus peticiones a lo largo del tiempo
  • Cache los resultados cuando sea posible
  • Monitoree sus patrones de uso

Manejo de Errores

Error 400 - Parámetros Inválidos

Ejemplo de respuesta:
{
  "message": "Errores de validación.",
  "codigoError": 400,
  "errores": [
    "Debe proveer un valor para el parámetro Nuc.",
    "El parámetro PaginaActual debe ser mayor a 0."
  ]
}
Solución: Verifique que todos los parámetros requeridos estén presentes y cumplan con las validaciones.

Error 404 - Sin Resultados

Ejemplo de respuesta:
{
  "message": "No se encontraron resultados con los parámetros establecidos"
}
Solución: Verifique que el NUC sea correcto y que existan decisiones asociadas a ese caso.

Error 500 - Error del Servidor

Ejemplo de respuesta:
{
  "message": "Descripción del error interno"
}
Solución: Si persiste el error, contacte al equipo de soporte técnico.

Glosario

API Application Programming Interface (Interfaz de Programación de Aplicaciones)
NUC Número Único de Caso
JSON JavaScript Object Notation (formato de intercambio de datos)
HTTP Hypertext Transfer Protocol
HTTPS HTTP Seguro
Rate Limiting Limitación de peticiones por unidad de tiempo
Endpoint Punto de acceso de la API
Query Parameter Parámetro enviado en la URL de la petición
Paginación Dividir resultados en múltiples páginas

Preguntas Frecuentes

Una API (Interfaz de Programación de Aplicaciones) es un puente de comunicación que permite que tu aplicación solicite y reciba datos específicos de nuestros sistemas de justicia de forma segura y estandarizada.

Puedes encontrar la documentación completa en la página de cada una de las APIs listadas en la sección de APIs Judiciales. Incluye ejemplos de código y guías detalladas para ayudarte a integrarlas de forma rápida, ya que nuestras APIs son gratuitas y abiertas.

Como nuestras APIs son abiertas, puedes empezar a usarlas de inmediato. Solo tienes que ir a la sección de APIs Judiciales, seleccionar la que necesites y seguir la documentación para empezar a hacer tus primeras consultas. No necesitas registrarte ni obtener una clave API.