API Rol Nacional

Inicio / APIs Judiciales / API Rol Nacional

Descripcion

La API Pública de Rol Nacional de Audiencias es una herramienta del Poder Judicial que permite a la ciudadanía consultar de forma sencilla y transparente información sobre las audiencias judiciales programadas en todo el país. A través de esta API, cualquier persona puede acceder a detalles sobre las fechas y horarios de las audiencias, los tribunales y las salas donde se llevarán a cabo, así como otros recursos relacionados con los procesos judiciales. Su objetivo es facilitar el acceso a la información del sistema judicial, promoviendo la transparencia y permitiendo que los ciudadanos sigan de cerca los casos y las actividades judiciales en su país de manera accesible y eficiente

Manual de Usuario - API Pública de Rol Nacional de Audiencias

API Pública de Rol Nacional de Audiencias

Poder Judicial - Versión 1.0

Introducción

La API Pública de Rol Nacional de Audiencias es un servicio web que permite consultar información sobre audiencias judiciales programadas en todo el territorio nacional de manera programática. Esta API proporciona acceso a datos de audiencias, calendarios, tribunales, salas y otros recursos relacionados con el sistema judicial.

Propósito

Esta API está diseñada para facilitar el acceso a información pública sobre audiencias judiciales, permitiendo a desarrolladores, instituciones y ciudadanos consultar datos de forma automatizada y eficiente. El sistema soporta búsquedas avanzadas por distrito judicial, tribunal, sala, materia, modalidad, fechas y más.

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.)
  • Conocimientos básicos de:
    • Peticiones HTTP (GET y POST)
    • Formato JSON
    • Manejo de respuestas paginadas

Endpoints Disponibles

1. Obtener Rol de Audiencias

Consulta el rol de audiencias con filtros avanzados y paginación.

POST
/api/Audiencias/RolAudiencias

Parámetros del Body (JSON)

Parámetro Tipo Requerido Descripción
IdDistritoJudicial integer Opcional ID del distrito judicial
IdCategoriaTribunal integer Opcional ID de la categoria del tribunal
IdMateria integer Opcional ID de la materia (Civil, Penal, etc.)
IdTribunal integer Opcional ID del tribunal
IdSala integer Opcional ID de la sala
IdModalidad integer Opcional ID de la modalidad (Presencial, Virtual, etc.)
IdEstatus integer Opcional ID del estado de la audiencia
IdTipoConsulta integer Opcional ID del tipo de consulta
TipoConsulta string Opcional Descripcion del tipo de consulta
FechaDesde datetime Opcional Fecha inicial del rango de búsqueda
FechaHasta datetime Opcional Fecha final del rango de búsqueda
PaginaActual integer Opcional Número de página a consultar
RegistrosPorPagina integer Opcional Cantidad de registros por página

Respuesta Exitosa

{
  "paginaActual": 1,
  "totalPaginas": 5,
  "registrosPorPagina": 20,
  "totalRegistros": 100,
  "pendientes": 25,
  "enCurso": 15,
  "recesadas": 10,
  "conocidas": 50,
  "datos": [
    {
      "idAudiencia": 12345,
      "idModalidad": 1,
      "idEstadoRolAudiencia": 2,
      "rolNumero": 1,
      "fechaAudiencia": "10/11/2025",
      "fechaDate": "2025-11-10T00:00:00",
      "horaAudiencia": "09:00 AM",
      "nuc": "2024-0001234-CIVIL",
      "distritoJudicial": "Distrito Nacional",
      "categoriaTribunal": "Primera Instancia",
      "tribunal": "Juzgado de Primera Instancia Civil",
      "sala": "Sala 1",
      "modalidad": "Presencial",
      "urlAudiencia": null,
      "direccionSala": "Calle Principal #123",
      "estadoRolAudiencia": "Pendiente",
      "partes": "Juan Perez vs Maria Gomez",
      "tipoResultado": "Audiencia Preliminar",
      "materia": "Civil"
    }
  ]
}

2. Obtener Calendario de Audiencias

Consulta el calendario de audiencias de una sala específica.

GET
/api/CalendarioAudiencias?IdSala={id}

Parámetros Query

Parámetro Tipo Requerido Descripción
IdSala integer Si ID de la sala (debe ser mayor a 0)

3. Obtener Distritos Judiciales

Retorna la lista de todos los distritos judiciales disponibles.

GET
/api/Distritos

No requiere parámetros.

4. Obtener Categorías de Tribunales

Retorna las categorías de tribunales filtradas por distrito judicial.

GET
/api/Categorias?IdDistritoJudicial={id}

Parámetros Query

Parámetro Tipo Requerido Descripción
IdDistritoJudicial integer Si ID del distrito judicial

5. Obtener Materias

Retorna la lista de todas las materias judiciales disponibles.

GET
/api/Materias

No requiere parámetros.

6. Obtener Tribunales

Retorna tribunales filtrados por criterios específicos.

POST
/api/Tribunales

Acepta parámetros en el body (JSON) similares al endpoint de rol de audiencias.

7. Obtener Salas

Retorna salas filtradas por criterios específicos.

POST
/api/Salas

Acepta parámetros en el body (JSON) similares al endpoint de rol de audiencias.

8. Obtener Modalidades

Retorna la lista de todas las modalidades de audiencias disponibles (Presencial, Virtual, etc.).

GET
/api/Modalidades

No requiere parámetros.

9. Obtener Estados de Rol de Audiencias

Retorna la lista de todos los estados posibles de las audiencias (Pendiente, En Curso, Conocida, etc.).

GET
/api/EstadoRolAudiencias

No requiere parámetros.

10. Obtener Tipos de Consultas

Retorna la lista de tipos de consultas disponibles.

GET
/api/TipoConsultas

No requiere parámetros.

Ejemplos de Uso

Ejemplo 1: Consulta de Rol de Audiencias con curl

curl -X POST "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias" \
  -H "Content-Type: application/json" \
  -d '{
    "IdDistritoJudicial": 1,
    "IdMateria": 2,
    "FechaDesde": "2025-11-01",
    "FechaHasta": "2025-11-30",
    "PaginaActual": 1,
    "RegistrosPorPagina": 20
  }'

Ejemplo 2: Consulta con JavaScript (Fetch API)

const obtenerRolAudiencias = async (filtros) => {
  const url = 'https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias';

  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(filtros)
    });

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

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

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

// Uso
const filtros = {
  IdDistritoJudicial: 1,
  IdMateria: 2,
  FechaDesde: '2025-11-01',
  FechaHasta: '2025-11-30',
  PaginaActual: 1,
  RegistrosPorPagina: 20
};

obtenerRolAudiencias(filtros);

Ejemplo 3: Consulta con Python (requests)

import requests
from datetime import datetime

def obtener_rol_audiencias(filtros):
    url = "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias"

    try:
        response = requests.post(url, json=filtros)
        response.raise_for_status()

        data = response.json()
        print(f"Total de registros: {data['totalRegistros']}")
        print(f"Total de paginas: {data['totalPaginas']}")
        print(f"Pendientes: {data['pendientes']}")
        print(f"En Curso: {data['enCurso']}")

        return data

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

# Uso
filtros = {
    'IdDistritoJudicial': 1,
    'IdMateria': 2,
    'FechaDesde': '2025-11-01',
    'FechaHasta': '2025-11-30',
    'PaginaActual': 1,
    'RegistrosPorPagina': 20
}

audiencias = obtener_rol_audiencias(filtros)

Ejemplo 4: Consulta con C# (.NET)

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

public class RolAudienciasClient
{
    private readonly HttpClient _httpClient;

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

    public async Task<PaginacionResponse<RolAudienciaResponse>> ObtenerRolAudiencias(
        RolAudienciaRequest request)
    {
        var url = "https://api.poderjudicial.gob.do/RolAudiencias/api/Audiencias/RolAudiencias";

        try
        {
            var jsonContent = JsonSerializer.Serialize(request);
            var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");

            var response = await _httpClient.PostAsync(url, content);
            response.EnsureSuccessStatusCode();

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

            Console.WriteLine($"Total de registros: {resultado.TotalRegistros}");
            Console.WriteLine($"Pendientes: {resultado.Pendientes}");
            Console.WriteLine($"En Curso: {resultado.EnCurso}");

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

// Uso
var client = new RolAudienciasClient();
var request = new RolAudienciaRequest
{
    IdDistritoJudicial = 1,
    IdMateria = 2,
    FechaDesde = new DateTime(2025, 11, 1),
    FechaHasta = new DateTime(2025, 11, 30),
    PaginaActual = 1,
    RegistrosPorPagina = 20
};

var resultado = await client.ObtenerRolAudiencias(request);

Ejemplo 5: Obtener Distritos y Materias (GET)

// JavaScript - Obtener distritos
const obtenerDistritos = async () => {
  const response = await fetch('https://api.poderjudicial.gob.do/RolAudiencias/api/Distritos');
  const distritos = await response.json();
  console.log('Distritos:', distritos);
};

// JavaScript - Obtener materias
const obtenerMaterias = async () => {
  const response = await fetch('https://api.poderjudicial.gob.do/RolAudiencias/api/Materias');
  const materias = await response.json();
  console.log('Materias:', materias);
};

obtenerDistritos();
obtenerMaterias();

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."
}

Manejo de Errores

Error 400 - Parámetros Inválidos

Ejemplo de respuesta:
{
  "message": "Se debe enviar una sala",
  "codigoError": 400
}
Solución: Verifique que todos los parámetros requeridos estén presentes y cumplan con las validaciones.

Error 404 - Sin Resultados

Ejemplo de respuesta:
{
  "data": [],
  "mensaje": "No se encontraron datos."
}
Solución: Verifique los filtros de búsqueda y ajuste los criterios para obtener resultados.

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 del Poder Judicial.

Estructura de Paginación

La API utiliza un sistema de paginación que incluye información adicional sobre los estados de las audiencias:

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
pendientes integer Cantidad de audiencias pendientes
enCurso integer Cantidad de audiencias en curso
recesadas integer Cantidad de audiencias recesadas
conocidas integer Cantidad de audiencias conocidas
datos array Lista de audiencias

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
Rol de Audiencias Lista ordenada de audiencias programadas
Distrito Judicial Division territorial del sistema judicial
Materia Área del derecho (Civil, Penal, Laboral, etc.)
Modalidad Forma en que se realiza la audiencia (Presencial, Virtual, etc.)

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.

Empowering you not to hesitate to consult about taxes with us.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.