Autenticación

La autenticación se realiza enviando usuario y contraseña a:

POST https://api.jimeneztoca.com/auth

El servidor devolverá un token JWT que deberá enviarse en cada petición mediante el encabezado:

Authorization: Bearer TU_ACCESS_TOKEN
Ejemplo de obtención de token
curl -X POST "https://api.jimeneztoca.com/auth" \
-H "Content-Type: application/json" \
-d '{
  "email":"demo@demo.com",
  "password":"123456"
}'
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.jimeneztoca.com/auth',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>' {
    "email":"demo@demo.com",
    "password":"123456"
  }',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.jimeneztoca.com/auth"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(
        "{\"email\":\"demo@demo.com\",\"password\":\"123456\"}"
    ))
    .build();
Respuesta exitosa (200)
{
  "message": "Login correcto",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Propiedad Intelectual

Obtiene todos los registros relacionados a Propiedad Intelectual.

GET /api/pi
curl -X GET "https://api.jimeneztoca.com/api/pi" \
-H "Authorization: Bearer TU_ACCESS_TOKEN" \
-H "Content-Type: application/json"
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.jimeneztoca.com/api/pi',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer TU_ACCESS_TOKEN',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.jimeneztoca.com/api/pi"))
    .header("Authorization", "Bearer TU_ACCESS_TOKEN")
    .header("Content-Type", "application/json")
    .GET()
    .build();
💡 Nota de Estructura Dinámica: El objeto tipo_pi_detalle contiene información específica de la propiedad intelectual asociada al registro. Su estructura puede variar dependiendo del tipo de propiedad intelectual consultado.
  • Signos Distintivos: Puede incluir campos relacionados con marcas y signos distintivos, como signo_distintivo, tipo_marca, clase, denominacion y otros datos asociados.
  • Patentes: Incluye los datos particulares correspondientes al registro de patente y su información relacionada.
  • Derechos de Autor: Incluye los datos específicos de la obra registrada y demás información asociada al derecho de autor.
  • Importante: Los campos disponibles dentro de tipo_pi_detalle dependerán del tipo de propiedad intelectual del registro, por lo que pueden variar entre respuestas.
Ejemplo de Respuesta exitosa (200) - Tipo Signo Distintivo
[
  {
    "id": 0,
    "tipo_pi": {
      "id": 1,
      "nombre": "Signo distintivo"
    },
    "abogado": {
      "id": 3,
      "nombre": "Salvador Jiménez Rosales"
    },
    "fecha": "2026-01-01",
    "usuario_ultimo_update": {
      "id": 5,
      "usuario": "Brenda Yazmín Bretón"
    },
    "fecha_update": "2026-06-02 11:45:00",
    "tipo_pi_detalle": {
      "id": 1, 
      "nombre": "Signo distintivo",
      "id_registro": 0,
      "expediente": "EXPEDIENTE-DEMO-123",
      "registro": "REGISTRO-DEMO-456",
      "fecha_presentacion": "2026-01-01",
      "fecha_registro": "2026-01-01",
      "vigencia": "2036-01-01",
      "tipo_nacionalidad": "Nacional",
      "pais": "México",
      "fecha_alta": "2026-01-01",
      "signo_distintivo": "Marca Demo",
      "fecha_uso": "2026-01-01",
      "tipo_marca": "Mixta",
      "imagen": "imagen_ejemplo_demo.jpg",
      "denominacion": "NOMBRE DE MARCA EJEMPLO S.A.",
      "proteccion": "Nacional",
      "corresponsal": "Corresponsal Falso S.A.",
      "clase": "00",
      "productos_o_servicios": "PRODUCTOS Y SERVICIOS DEMO: Descripción simulada de los productos, mercancías o servicios que protege este registro de prueba.",
      "estatus": "Estatus Demo",
      "actores": [
        {
          "id": 0,
          "nombre": "CLIENTE DEMO S.A. DE C.V.",
          "tipo": "Titular"
        }
      ]
    }
  }
]

Juicios

Obtiene todos los registros relacionados a Juicios.

GET /api/juicios
curl -X GET "https://api.jimeneztoca.com/api/juicios" \
-H "Authorization: Bearer TU_ACCESS_TOKEN" \
-H "Content-Type: application/json"
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.jimeneztoca.com/api/juicios',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer TU_ACCESS_TOKEN',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.jimeneztoca.com/api/juicios"))
    .header("Authorization", "Bearer TU_ACCESS_TOKEN")
    .header("Content-Type", "application/json")
    .GET()
    .build();
💡 Nota de Estructura Dinámica: El arreglo juicio_etapas contiene las distintas etapas procesales relacionadas con el juicio. Todos los elementos comparten una estructura base común y pueden incorporar información adicional según la etapa correspondiente.
  • Campos Comunes: Cada elemento incluye siempre las propiedades id, nombre, id_registro, estatus, fecha_estatus y actores.
  • Etapas Procesales: Los registros pueden corresponder a etapas como primera_instancia, segunda_instancia, recursos, amparo_directo, amparo_indirecto, etapa_investigacion, etapa_intermedia, laboral, incidentes o tercera_etapa.
  • Información Adicional: Dependiendo de la etapa procesal, cada elemento puede incluir campos adicionales con información específica del procedimiento correspondiente.
  • Importante: Las propiedades adicionales pueden variar entre etapas, por lo que se recomienda validar la existencia de cada campo antes de utilizarlo en la integración.
Respuesta exitosa (200)- Tipo Civil
[
  {
    "id": 0,
    "tipo_juicio": {
      "id": 2,
      "nombre": "Civil"
    },
    "cliente": {
      "id": 0,
      "nombre": "CLIENTE DEMO S.A. DE C.V."
    },
    "abogado": {
      "id": 3,
      "nombre": "Salvador Jiménez Rosales"
    },
    "fecha": "2026-01-01",
    "usuario_ultimo_update": {
      "id": 2,
      "usuario": "jorge.hernandez"
    },
    "fecha_update": "2026-06-02 13:15:22",
    "juicio_etapas": [
      {
        "id": 1,
        "nombre": "Primera instancia",
        "id_registro": 0,
        "expediente_toca": "EXPEDIENTE-JUICIO-DEMO-123",
        "juzgado": "JUZGADO DEMO DE LO CIVIL",
        "fecha_notificacion": "2026-01-01",
        "registro_base_accion": "REGISTRO BASE ACCIÓN DEMO (DOCUMENTO FALSO)",
        "fecha_sentencia": "2026-01-01",
        "sentido_sentencia": "Sentido de Sentencia Demo",
        "estatus": "Estatus Etapa Demo",
        "fecha_estatus": "2026-01-01",
        "actores": [
          {
            "id": 0,
            "nombre": "CLIENTE DEMO S.A. DE C.V.",
            "tipo": "Actor"
          },
          {
            "id": null,
            "nombre": "CONTRAPARTE DEMO S.A. DE C.V.",
            "tipo": "Demandado"
          }
        ]
      }
    ]
  }
]

Órdenes de Servicio

Obtiene todos los registros relacionados a Órdenes de Servicio.

GET /api/ordenes-servicio
curl -X GET "https://api.jimeneztoca.com/api/ordenes-servicio" \
-H "Authorization: Bearer TU_ACCESS_TOKEN" \
-H "Content-Type: application/json"
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.jimeneztoca.com/api/ordenes-servicio',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer TU_ACCESS_TOKEN',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.jimeneztoca.com/api/ordenes-servicio"))
    .header("Authorization", "Bearer TU_ACCESS_TOKEN")
    .header("Content-Type", "application/json")
    .GET()
    .build();
Ejemplo de Respuesta exitosa (200)
[
  {
    "id": 100,
    "fecha_solicitud": "2026-07-15",
    "solicitante": "Solicitante Demo",
    "cliente": {
      "id": 25,
      "nombre": "CLIENTE DEMO S.A. DE C.V."
    },
    "asunto": "Asesoría legal de demostración para la revisión de documentación comercial.",
    "area_del_derecho": "Corporativo",
    "requerimientos": "Revisar documentos ficticios y preparar un reporte ejecutivo de ejemplo.",
    "estatus": "En proceso",
    "honorarios": "Por asunto",
    "moneda": "MXN",
    "gastos": "500.00",
    "fecha_factura": "2026-07-20",
    "no_factura": "FACTURA-DEMO-001",
    "estatus_factura": "Pendiente",
    "fecha_conclusion": "",
    "monto_honorarios": "10000.00",
    "tipo_pago": "Pago en una sola exhibición",
    "fecha_pago_participacion": "",
    "solicitud": "1",
    "participaciones_a_terceros": "0.00",
    "tipo_cambio": "",
    "derechos": "0.00",
    "subtotal": "10000.00",
    "pago": "Factura",
    "fecha_update": "2026-07-21 10:30:00",
    "actores": [
      {
        "id": 10,
        "nombre": "RESPONSABLE DEMO",
        "tipo": "RESPONSABLE",
        "comision": "25",
        "participacion_equivalente": "2500.00",
        "estatus": "0",
        "fecha_pago": ""
      },
      {
        "id": 11,
        "nombre": "COLABORADOR DEMO",
        "tipo": "COLABORADOR",
        "comision": "10",
        "participacion_equivalente": "1000.00",
        "estatus": "1",
        "fecha_pago": "2026-07-25"
      }
    ]
  }
]

Códigos HTTP

CódigoSignificadoDescripción
200OKSolicitud exitosa.
400Bad RequestError en los parámetros o en el formato.
401UnauthorizedToken inválido o ausente.
403ForbiddenSin permisos para acceder al recurso.
404Not FoundRecurso inexistente.
500Server ErrorError interno del servidor.