Hípicas
Aplicación de manejo de Gaceta Hípica Impresa
Seguridad ¶
Procesos para ingresar en la aplicación, verificar estado y otros relacionados con seguridad
Verificar el login ¶
Se verifica que las credenciales del usuario son válidas
loginPOST/security/login{?usr,pwd}
Example URI
- usr
required string(required)usuario que se loggea
- pwd
required string(required)password utilizado ya en formato MD5
200Headers
Content-Type: application/jsonBody
{
"id": 1,
"sessionid": "ABSKJDJHKDJHSKJDHKJHKJ",
"validthru": "20190405205812", // (Formato yymmddhhmmss)
"doblecheck": false, // indica si tiene la doble verificación
"name": "Usuario de Prueba"
}400Headers
Content-Type: application/jsonBody
{
"msg": "Error en la llamada del servicio"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Clave inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Doble verificación ¶
Se verifica que la doble verificación
doblecheckPOST/security/doblecheck{?usrid,pin}
Example URI
- usrid
required string(required)id del usuario loggeado
- pin
required string(required)pin de doble verificación enviado por correo ya en formato MD5
200Headers
Content-Type: application/jsonBody
{
"newsessionid": "ABSKJDJHKDJHSKJDHKJHKJ",
"validthru": "20190405205812", // (Formato yymmddhhmmss)
}400Headers
Content-Type: application/jsonBody
{
"msg": "Error en la llamada del servicio"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Clave inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Recupera clave del usuario ¶
Se valida que el correo enviado exista como un usuario y se le envia un correo con el link al formulario de cambio de clave. El link debe enviarse con unhash almacenado en sessionid
forgotPOST/security/forgot{?email}
Example URI
required string(required)cadena con formato valido de correo
200Headers
Content-Type: application/jsonBody
{
"email": "xxxx@xxxxx.com"
}401Headers
Content-Type: application/jsonBody
{
"msg": "No tenemos ningún usuario registrado con ese email"
}500Headers
Content-Type: application/jsonBody
{
"msg": "error retornado al programador desde mysql_error()"
}Cambio de la clave del usuario ¶
Se procede a cambiar la la clave del usuario cuyo email y sessionid coincidan. El pwd viene en MD5
recoverPOST/security/recover{?hash,pwd}
Example URI
- hash
required string(required)hash enviado al correo
- pwd
required string(required)nuevo password (MD5) Se graba directamente como viene El password solo puede tener estos caracteres {a-zA-Z0-9_-#$}
200Headers
Content-Type: application/jsonBody
{
"msg": "Contraseña cambiada satisfactoriamente"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Hash incorrecto"
}500Headers
Content-Type: application/jsonBody
{
"msg": "error retornado al programador desde mysql_error()"
}Cerrar Sesión ¶
Se blanquea el user.sessionid y se registra la salida en users.validthru = NULL
logoutPOST/security/logout{?sessionid}
Example URI
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id": 0
}400Headers
Content-Type: application/jsonBody
{
"msg": "Error en la llamada del servicio"
}401Headers
Content-Type: application/jsonBody
{
"msg": "id/session incorrectos"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Error inteno"
}Auditoria - Módulos ¶
Este servicio obtiene una lista de los módulos registrados en la auditoría
listPOST/security/audit/modules{?filter,sessionid}
Example URI
- filter
optional string(required)busca por el nombre del módulo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"name": "Seguridad",
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Auditoria - Módulos ¶
Este servicio obtiene una lista de los registros de auditoría
listPOST/security/audit/list{?filter,module,user,from,to,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la desripción del evento
- module
optional string(required)Módulo a filtrar
- user
optional string(required)Identificador del Usuario a Filtrar (Normalmente un correo) Enviar “Internal” para ver los del sistema
- from
optional number(required)Fecha desde la que se mostrarán los registros (Formato YYYY-MM-DD)
- to
optional number(required)Fecha hasta la que se mostrarán los registros (Formato YYYY-MM-DD)
- order
required number(required)1=fecha de creacion, 2=Módulo, 3=descripción, 4=usuario (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"date": {
"date": "2024-01-01 23:45:32",
"formatted": "01/01/2024 11:45 PM"
},
"module": "Seguridad",
"user": {
"usr": "usuario@correo.com",
"name": "Pedro Perez",
},
"dsc": "xxxxxxxxxxxxx"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Menús ¶
Servicios relacionados con los menús del sistema
Obtener Listado ¶
Este servicio obtiene una lista de los menús existentes ordenados por el campo orden
listPOST/menus/list{?sessionid}
Example URI
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"options": [
{
"id": 1,
"dsc": "Información",
"content": "main",
"access": true,
"submenu": []
},
{
"id": 2,
"dsc": "Lugares",
"content": "transac",
"access": true,
"submenu": [
{
"id": 5,
"dsc": "Opcion 1",
"content": "opc1",
"access": true,
"submenu": []
},
{
"id": 6,
"dsc": "Opcion 2",
"content": "opc2",
"access": true,
"submenu": []
},
]
},
{
"id": 3,
"dsc": "Usuarios",
"content": "users",
"access": true,
"submenu": []
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Usuarios ¶
Servicios relacionados con los usuarios de la aplicación
Listado ¶
Este servicio obtiene una lista de los usuarios existentes
Usuarios - listPOST/users/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, el correo y por el estatus “Activo”/“Inactivo”
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=nombre del usuario, 3=email, 4=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"usr": "usuario@correo.com",
"name": "Pedro Perez",
"doblecheck": false,
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Uno ¶
Este servicio obtiene un usuario en particular La respuesta 204 es cuando no se encuentra el registro.
Usuarios - entryGET/users/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del usuario
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"usr": "usuario@correo.com",
"name": "Pedro Perez",
"doblecheck": false,
"status": {
"id": 1,
"dsc": "Activo"
},
"magazines": [
{
"id": 1,
"name": "Gaceta Hípica",
"active": true
},
...
],
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar ¶
Este servicio permitirá incluir o modificar un usuario. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando no se pudo modificar
Usuarios - updatePOST/users/update{?id,usr,name,pwd,status,doblecheck,magazineids,sessionid}
Example URI
- id
required number(required)Identificador del evento. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- usr
required string(required)correo electrónico usado como usuario
- pwd
optional string(required)clave nueva
- name
required string(required)Nombre del Usuario [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ]
- status
required number(required)1=activo, 0=inactivo
- doblecheck
required number(required)1=activo, 0=inactivo
- magazineids
optional number(required)Listado de ids de revistas separadas por guión (Ej “1-4-5”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar ¶
Permite eliminar un usuario determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Usuarios - deletePOST/users/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del evento que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Privilegios del Usuario ¶
Este servicio obtiene una lista de los privilegios asignados a un usuario específico
Privilegios - listPOST/users/privileges/list{?userid,sessionid}
Example URI
- userid
required number(required)Identificador del usuario
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"groups": [
{
"name": "Usuarios",
"crud": true,
"privileges": [
{
"id": 100,
"dsc": "Ver",
"access": true
},
{
"id": 101,
"dsc": "Modificar",
"access": true
},
...
]
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Asignar Privilegios a un Usuario ¶
Este servicio obtiene una lista de los privilegios asignados a un usuario específico
Privilegios - listPOST/users/privileges/update{?userid,privileges,sessionid}
Example URI
- userid
required number(required)Identificador del usuario
- privileges
required string(required)lista de id a los que el usuario tiene acceso separados por guines (Ej. “100-101-103”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id": 2 // id del usuario modificado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Geografía ¶
Servicios relacionados con direcciones
Listado de Países ¶
Este servicio obtiene una lista de los países existentes
Países - listPOST/addresses/countries/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre por el estatus “Activo”/“Inactivo”
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=nombre, 3=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Venezuela",
"abbr": "VEN",
"status": {
"id": 1,
"dsc": "Activo"
},
"states": [
{
"id": 1,
"name": "Miranda",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
]
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un País ¶
Este servicio obtiene un país en particular La respuesta 204 es cuando no se encuentra el registro.
Países - entryGET/addresses/countries/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del país
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Venezuela",
"abbr": "VEN",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"states": [
{
"id": 1,
"name": "Miranda",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
]
},
...
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Estado ¶
Este servicio permitirá incluir o modificar un país.
Países - updatePOST/addresses/countries/update{?id,name,status,sessionid}
Example URI
- id
required number(required)Identificador del país. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del País [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ]
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar País ¶
Permite eliminar un país determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Estados - deletePOST/addresses/countries/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del país que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Estados ¶
Este servicio obtiene una lista de los estados existentes
Estados - listPOST/addresses/states/list{?filter,statusid,countryid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, el municipio y por el estatus “Activo”/“Inactivo”
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- countryid
optional number(required)filtra por el país
- order
required number(required)1=fecha de creacion, 2=nombre, 3=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Miranda",
"country": {
"id": 1,
"name": "Venezuela"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Estado ¶
Este servicio obtiene un estado en particular La respuesta 204 es cuando no se encuentra el registro.
Estados - entryGET/addresses/states/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del estado
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Miranda",
"status": {
"id": 1,
"dsc": "Activo"
},
"country": {
"id": 1,
"name": "Venezuela",
"status": {
"id": 1,
"dsc": "Activo"
}
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"municipalities": [
{
"id": 1,
"name": "Baruta",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
]
},
...
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Estado ¶
Este servicio permitirá incluir o modificar un estado.
Estados - updatePOST/addresses/states/update{?id,name,countryid,status,sessionid}
Example URI
- id
required number(required)Identificador del estado. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del Estado [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ]
- countryid
required number(required)Identificador del país al que pertenece el estado
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Estado ¶
Permite eliminar un estado determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Estados - deletePOST/addresses/states/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del estado que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Municipios ¶
Este servicio obtiene una lista de los municipios existentes
Municipios - listPOST/addresses/municipalities/list{?filter,statusid,stateid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, el municipio y por el estatus “Activo”/“Inactivo”
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- stateid
optional number(required)Indica el filtro por estado
- order
required number(required)1=fecha de creacion, 2=nombre, 3=estado y municipio, 4=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Baruta",
"status": {
"id": 1,
"dsc": "Activo"
},
"state": {
"id": 1,
"name": "Miranda"
}
}
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Municipio ¶
Este servicio obtiene un municipio en particular La respuesta 204 es cuando no se encuentra el registro.
Municipios - entryGET/addresses/municipalities/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del municipio
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Baruta",
"status": {
"id": 1,
"dsc": "Activo"
},
"state": {
"id": 1,
"name": "Miranda"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar un Municipio ¶
Este servicio permitirá incluir o modificar un municipio.
Municipios - updatePOST/addresses/municipalities/update{?id,name,stateid,status,sessionid}
Example URI
- id
required number(required)Identificador del municipio. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del Municipio [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ]
- stateid
required number(required)Identificador del estado al que pertenece
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Municipio ¶
Permite eliminar un municipio determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Municipios - deletePOST/addresses/municipalities/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del municipio que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Hipódromos ¶
Servicios relacionados con los hipódromos
Listado de Distancias ¶
Este servicio obtiene una lista de las distancias
Distancias - listPOST/hippodromes/distances/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre y por el estatus “Activo”/“Inactivo”
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=nombre, 3=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "1200",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Distancia ¶
Este servicio obtiene una distancia en particular La respuesta 204 es cuando no se encuentra el registro.
Distancias - entryGET/hippodromes/distances/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la distanci
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "1200",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Distancia ¶
Este servicio permitirá incluir o modificar una distancia
Distancias - updatePOST/hippodromes/distances/update{?id,name,status,sessionid}
Example URI
- id
required number(required)Identificador de la distancia. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Distancia [0-9.,]
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Distancia ¶
Permite eliminar una distancia determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Distancias - deletePOST/hippodromes/distances/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador dela distancia que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Sedes ¶
Este servicio obtiene una lista de las sedes existentes
Hipódromos - listPOST/hippodromes/racecourses/list{?filter,statusid,countryid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- countryid
optional number(required)filtra por el país
- order
required number(required)1=fecha de creacion, 2=nombre, 3=status, 4=localidad (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "La Rinconada",
"abbr": "C",
"latreunion": "358",
"status": {
"id": 1,
"dsc": "Activo"
},
"municipality": {
"id": 1,
"name": "Libertador"
},
"state": {
"id": 1,
"name": "Distrito Capital"
},
"country": {
"id": 1,
"name": "Venezuela"
}
}
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Sede ¶
Este servicio obtiene una sede en particular La respuesta 204 es cuando no se encuentra el registro.
Hipódromos - entryGET/hippodromes/racecourses/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la sede
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry":
{
"id": 1,
"name": "La Rinconada",
"abbr": "C",
"status": {
"id": 1,
"dsc": "Activo"
},
"municipality": {
"id": 1,
"name": "Libertador"
},
"state": {
"id": 1,
"name": "Distrito Capital"
},
"country": {
"id": 1,
"name": "Venezuela"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"distances": [
{
"id": 1,
"name": "1200",
"besttime": 124,
"recorddate": "2023-12-23",
"status": true,
"deletable": true
},
...
]
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar una Sede ¶
Este servicio permitirá incluir o modificar una sede.
Hipódromos - updatePOST/hippodromes/racecourses/update{?id,name,abbr,stateid,municipalityid,status,distancesid,besttimes,recorddates,sessionid}
Example URI
- id
required number(required)Identificador de la sede. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre de la sede [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura de la sede [a-zA-Z0-9áéíóúñüÁÉÍÓÚÑÜ.]
- stateid
required number(required)Identificador del estado al que pertenece
- municipalityid
optional number(required)Identificador del municipio al que pertenece
- status
required number(required)1=activo, 0=inactivo
- distancesid
optional string(required)Lista de ids de distancias separados por guiones (Ej ‘12-3-45-8’)
- besttimes
optional string(required)Lista de mejores tiempos de distancias separados por guiones (Ej ‘450-345-445-458’)
- recorddates
optional string(required)Lista fechas de mejores tiempos de distancias separados por guiones (Ej ‘20231223-20230101-20230101-20230101’)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Sede ¶
Permite eliminar una sede en particilar La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Hipódromos - deletePOST/hippodrome/racecourses/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la sede que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Ejemplares ¶
Servicios relacionados con los ejemplares
Listado de Pelajes ¶
Este servicio obtiene una lista de los pelajes
Pelajes - listPOST/horses/furs/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre, 4=abreviatura, 5=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Zaino",
"abbr": "Zaino",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Pelaje ¶
Este servicio obtiene un pelaje en particular La respuesta 204 es cuando no se encuentra el registro.
Pelajes - entryGET/horses/furs/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del pelaje
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Zaino",
"abbr": "Zaino",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Pelaje ¶
Este servicio permitirá incluir o modificar un pelaje
Pelajes - updatePOST/horses/furs/update{?id,name,abbr,status,sessionid}
Example URI
- id
required number(required)Identificador del pelaje. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del pelaje. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚñü]
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Pelaje ¶
Permite eliminar un pelaje determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Pelajes - deletePOST/horses/furs/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del pelaje que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Jinetes ¶
Este servicio obtiene una lista de los jinetes
Jinetes - listPOST/horses/jockeys/list{?filter,fullsearch,statusid,genderid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, abreviatura, estatus y genero
- fullsearch
optional number(required)1=Se establece el filtro como se indica el paretro filter, (DEFAULT) 0=Se establece el filtro por nombre, abreviatura y codigo
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- genderid
optional string(required)filtra por el sexo “”=Todos, “M”=Solo Masculinos, “F”=Solo Femeninos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre completo, 4=Abreviatura, 5=fecha de nacimiento, 6=sexo, 7=referencia, 8=status, 9=status+nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"fullname": "Pedro Pérez",
"abbr": "PPerez",
"ref": "",
"gender": {
"id": "M",
"dsc": "Masculino"
},
"birthdate": {
"date": "1966-01-01",
"formatted": "01/01/1966"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Jinete ¶
Este servicio obtiene un jinete en particular La respuesta 204 es cuando no se encuentra el registro.
Jinetes - entryGET/horses/jockeys/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del jinete
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"names": "Pedro",
"lastnames": "Pérez",
"abbr": "PPerez",
"ref": "",
"gender": {
"id": "M",
"dsc": "Masculino"
},
"birthdate": {
"date": "1966-01-01",
"formatted": "01/01/1966"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Jinete ¶
Este servicio permitirá incluir o modificar un jinete
Jinetes - updatePOST/horses/jockeys/update{?id,names,lastnames,abbr,birthdate,gender,ref,status,sessionid}
Example URI
- id
required number(required)Identificador del jinete. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- names
required string(required)Nombres del jinete [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- lastnames
required string(required)Apellidos del jinete [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura del jinete [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- birthdate
optional string(required)Fecha de nacimiento del jinete
- gender
required string(required)Sexo del jinete
- ref
optional string(required)Código de referencia del jinete
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar jinete ¶
Permite eliminar un jinete determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Jinetes - deletePOST/horses/jockeys/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del jinete que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Entrenadores ¶
Este servicio obtiene una lista de los enternadores
Entrenadores - listPOST/horses/trainers/list{?filter,fullsearch,statusid,genderid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, abreviatura, estatus y género
- fullsearch
optional number(required)1=Se establece el filtrocomo se indica el paretro filter, (DEFAULT) 0=Se establece el filtro por nombre, abreviatura y codigo
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- genderid
optional string(required)filtra por el sexo “”=Todos, “M”=Solo Masculinos, “F”=Solo Femeninos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre completo, 4=Abreviatura, 5=fecha de nacimiento, 6=sexo, 7=referencia, 8=status, 9=status+nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"fullname": "Mariano López",
"abbr": "MLopez",
"ref": "",
"gender": {
"id": "M",
"dsc": "Masculino"
},
"birthdate": {
"date": "1966-01-01",
"formatted": "01/01/1966"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Entrenador ¶
Este servicio obtiene un entrenador en particular La respuesta 204 es cuando no se encuentra el registro.
Entrenadores - entryGET/horses/trainers/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del entrenador
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"nombres": "Mariano",
"apellidos": "López",
"abbr": "MLopez",
"ref": "",
"gender": {
"id": "M",
"dsc": "Masculino"
},
"birthdate": {
"date": "1966-01-01",
"formatted": "01/01/1966"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Entenador ¶
Este servicio permitirá incluir o modificar un entrenador
Entrenadores - updatePOST/horses/trainers/update{?id,names,lastnames,abbr,birthdate,gender,ref,status,sessionid}
Example URI
- id
required number(required)Identificador del entrenador. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- names
required string(required)Nombres del entrenador [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- lastnames
required string(required)Apellidos del entrenador [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura del entrenador [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- birthdate
optional string(required)Fecha de nacimiento del entrenador
- gender
required string(required)Sexo del entrenador
- ref
optional string(required)Código de referencia del entrenador
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar entrenador ¶
Permite eliminar un entrenador determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Entrenadores - deletePOST/horses/trainers/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del entrenador que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Studs ¶
Este servicio obtiene una lista de los studs
Studs - listPOST/horses/studs/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, camisa, mangas, gorra y la abreviatura
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre, 4=Abreviatura, 5=status, 6=status+nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Team Douglas Stable",
"abbr": "C.M.G. Franjas Verdes y Azules",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Stud ¶
Este servicio obtiene un stud en particular La respuesta 204 es cuando no se encuentra el registro.
Studs - entryGET/horses/studs/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del stud
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Team Douglas Stable",
"shirts": "Franjas Verdes y Azules",
"sleeves": "Franjas Verdes y Azules",
"cap": "Franjas Verdes y Azules",
"abbr": "C.M.G. Franjas Verdes y Azules",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Stud ¶
Este servicio permitirá incluir o modificar un stud
Studs - updatePOST/horses/studs/update{?id,name,shirt,sleeves,cap,abbr,status,sessionid}
Example URI
- id
required number(required)Identificador del stud. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del stud [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- shirt
required string(required)Camisa [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ.,-/_]
- sleeves
required string(required)Mangas [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ.,-/_]
- cap
required string(required)Gorro [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ.,-/_]
- abbr
required string(required)Abreviatura [a-zA-Z0-9 áéíóúñüÁÉÍÓÚÑÜ.,-/_]
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar stud ¶
Permite eliminar un stud determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Studs - deletePOST/horses/studs/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del stud que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Haras ¶
Este servicio obtiene una lista de las haras
Haras - listPOST/horses/haras/list{?filter,statusid,countryid,stateid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, estado, municipio, abreviatura
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- countryid
optional number(required)identificador por el que se desea filtrar el país
- stateid
optional number(required)identificador por el que se desea filtrar el estado
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre, 4=Abreviatura, 5=Estado, 6=status (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Haras La Concordia",
"abbr": "LaConcordia",
"status": {
"id": 1,
"dsc": "Activo"
},
"state": {
"id": 1,
"name": "Distrito Capital"
},
"country": {
"id": 1,
"name": "Venezuela"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Haras ¶
Este servicio obtiene un haras en particular La respuesta 204 es cuando no se encuentra el registro.
Haras - entryGET/horses/haras/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del haras
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "La Concordia",
"abbr": "LaConcordia",
"status": {
"id": 1,
"dsc": "Activo"
},
"municipality": {
"id": 1,
"dsc": "Bolívar"
},
"state": {
"id": 1,
"dsc": "Miranda"
},
"country": {
"id": 1,
"dsc": "Venezuela"
},
"initialpricesbs": {
"number": 1234.56,
"formatted": "1.234,56"
},
"initialpricesusd": {
"number": 1234.56,
"formatted": "1.234,56"
},
"initialraces": {
"number": 1234,
"formatted": "1.234"
},
"initialwinraces": {
"number": 1234,
"formatted": "1.234"
},
"acumulatedpricesbs": {
"number": 1234.56,
"formatted": "1.234,56"
},
"acumulatedpricesusd": {
"number": 1234.56,
"formatted": "1.234,56"
},
"acumulatedraces": {
"number": 1234,
"formatted": "1.234"
},
"acumulatedwinraces": {
"number": 1234,
"formatted": "1.234"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Haras ¶
Este servicio permitirá incluir o modificar un haras
Haras - updatePOST/horses/haras/update{?id,name,abbr,stateid,initialpricesbs,initialpricesusd,initialraces,initialwinraces,status,sessionid}
Example URI
- id
required number(required)Identificador del haras. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del stud [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura [a-zA-Z0-9áéíóúñüÁÉÍÓÚñü]
- stateid
required number(required)Identificador del estado
- initialpricesbs
required number(required)Precios iniciales en Bs (Ej 1234.56)
- initialpricesusd
required number(required)Precios iniciales en $ (Ej 1234.56)
- initialraces
required number(required)Carreras iniciales (Ej 12)
- initialwinraces
required number(required)Carreras ganadas iniciales (Ej 12)
- status
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar haras ¶
Permite eliminar un haras determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Haras - deletePOST/horses/haras/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del haras que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Ejemplares ¶
Este servicio obtiene una lista de los ejemplares
Ejemplares - listPOST/horses/horses/list{?filter,fullsearch,genderid,furid,harasid,countryid,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre, pelaje, haras, origen y abreviaturas
- fullsearch
optional number(required)1=Se establece el filtro como se indica el paretro filter, (DEFAULT) 0=Se establece el filtro por nombre, abreviatura y codigo
- genderid
optional string(required)filtra por el genero “Y”=Solo Yeguas, “C”=Solo Caballos
- furid
optional number(required)identificador del pelaje para el filtrado
- harasid
optional number(required)identificador del haras para el filtrado
- countryid
optional number(required)identificador del país para el filtrado
- statusid
optional number(required)filtra por el estatus 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre, 4=Abreviatura, 5=Edad, 6=genero, 7=pelaje, 8=origen, 9=Haras, 10=status, 11=status+nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Scaty Lady",
"abbr": "Scatydy",
"origin": "USA",
"age": 23,
"gender": {
"id": "Y",
"dsc": "Yegua"
},
"fur": {
"id": 1,
"dsc": "Tordillo"
},
"haras": {
"id": 1,
"dsc": "Haras 1"
},
"country": {
"id": 1,
"dsc": "Venezuela"
},
"status": {
"id": 1,
"dsc": "Activo"
}
}
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Ejemplar ¶
Este servicio obtiene un ejemplar en particular. La respuesta 204 es cuando no se encuentra el registro.
Ejemplares - entryGET/horses/horses/entry{?id,distanceid,racecourseid,sessionid}
Example URI
- id
required number(required)Identificador del ejemplar
- distanceid
optional string(required)identificador de la distancia para las estadísticas
- racecourseid
optional string(required)identificador del hipódromo para las estadísticas
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Scaty Lady",
"abbr": "Scatydy",
"origin": "USA",
"country": {
"id": 1,
"dsc": "Venezuela"
},
"age": 23,
"obs": "",
"birthdate": {
"date": "2000-12-23",
"formatted": "23-12-2000"
},
"gender": {
"id": "Y",
"dsc": "Yegua"
},
"fur": {
"id": 1,
"dsc": "Tordillo"
},
"haras": {
"id": 1,
"dsc": "Haras 1"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"lasttrainer": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "PP"
},
"lastjockey": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "PP"
},
"laststud": {
"id": 1,
"name": "Equis",
"abbr": "EQ"
},
"lastweight": 345,
"lastjockeyweight": "45 + 3",
-- Estadísticas acumuladas globales
"totalracesglobal": {
"number": 15,
"formatted": "15"
},
"firstplacesglobal": {
"number": 4,
"formatted": "4"
},
"secondplacesglobal": {
"number": 3,
"formatted": "3"
},
"thirdplacesglobal": {
"number": 2,
"formatted": "2"
},
"unplacedracesglobal": {
"number": 6,
"formatted": "6"
},
-- Estadísticas acumuladas por año
"totalracesyear": {
"number": 5,
"formatted": "5"
},
"firstplacesyear": {
"number": 1,
"formatted": "1"
},
"secondplacesyear": {
"number": 2,
"formatted": "2"
},
"thirdplacesyear": {
"number": 0,
"formatted": "0"
},
"unplacedracesyear": {
"number": 2,
"formatted": "2"
},
"lineage": {
"father": {
"id": 1,
"name": "Nombre del padre",
"obs": "",
"lineage": {
"father": {
"name": "Nombre del padre",
"obs": ""
},
"mother": {
"name": "Nombre de la madre",
"obs": ""
}
}
},
"mother": {
"id": 1,
"name": "Nombre de la madre",
"obs": "",
"lineage": {
"father": {
"name": "Nombre del padre",
"obs": ""
},
"mother": {
"name": "Nombre de la madre",
"obs": ""
}
}
}
},
"races":{
"history": [
{
"hipprodrome": {
"id": 1,
"name": "La Rinconada"
},
"date": {
"date": "2024-01-01",
"formatted": "01-01-2024"
},
"racenumber": "12345",
"jockey": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "P. Pérez"
},
"trainner": {
"id": 1,
"name": "Luis Rivas",
"abbr": "L. Rivas"
},
"weight": 345,
"distance": {
"id": 1,
"name": "1200"
},
"finishtime": 12.34,
"speedrating": 87.34,
"position": 1,
"arrivalposition": 4
}
],
"summaries": {
"positions": {
"first": 2,
"second": 2,
"third": 2,
"fourth": 2,
"fifth": 2,
"noappear": 2
},
"stats": {
"efectiveness": 1.3,
"performance": 1.2
},
"qty": {
"win": 1,
"nowin": 8,
"total": 9
},
"prices": {
"bs": {
"number": 1234.56,
"formatted": "1.234,56"
},
"usd": {
"number": 1234.56,
"formatted": "1.234,56"
}
}
}
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Ejemplares ¶
Este servicio permitirá incluir o modificar un ejemplar
Ejemplares - updatePOST/horses/horses/update{?id,name,abbr,gender,furid,birthdate,harasid,origin,countryid,trainerid,jockeyid,studid,obs,status,fatherid,fathername,fatherobs,motherid,mothername,motherobs,fathergfname,fathergfobs,fathergmname,fathergmobs,mothergfname,mothergfobs,mothergmname,mothergmobs,totalracesglobal,firstplacesglobal,secondplacesglobal,thirdplacesglobal,unplacedracesglobal,totalracesyear,firstplacesyear,secondplacesyear,thirdplacesyear,unplacedracesyear,sessionid}
Example URI
- id
required number(required)Identificador del ejemplar. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del ejemplar [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- gender
required string(required)Identificador del genero (“Y” ó “C”)
- furid
required number(required)identificador del pelaje
- birthdate
required string(required)Fecha de nacimiento (Formato ‘2000-12-23’)
- harasid
required number(required)Identificador del haras
- origin
optional string(required)Origen [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- countryid
optional number(required)Identificador del país
- trainerid
required number(required)Identificador del Entrenador
- jockeyid
required number(required)Identificador del Jinete
- studid
required number(required)Identificador del Stud
- obs
optional string(required)Observaciones a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ
- status
required number(required)1=activo, 0=inactivo
- fatherid
optional number(required)horseid del padre
- fathername
optional string(required)Nombre del Padre
- fatherobs
optional string(required)Observaciones del padre [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- motherid
optional number(required)horseid de la madre
- mothername
optional string(required)nombre de la madre
- motherobs
optional string(required)Observaciones de la madre [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- fathergfname
optional string(required)nombre del abuelo paterno
- fathergfobs
optional string(required)Observaciones abuelo paterno [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- fathergmname
optional string(required)nombre de la abuela paterna
- fathergmobs
optional string(required)Observaciones abuela paterna [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- mothergfname
optional string(required)nombre del abuelo materno
- mothergfobs
optional string(required)Observaciones abuelo materno [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- mothergmname
optional string(required)nombre de la abuela materna
- mothergmobs
optional string(required)Observaciones abuela materna [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- totalracesglobal
optional number(required)Total de actuaciones a nivel general
- firstplacesglobal
optional number(required)1_Lugar total general
- secondplacesglobal
optional number(required)2_Lugar total general
- thirdplacesglobal
optional number(required)3_Lugar total general
- unplacedracesglobal
optional number(required)Car_SG total general
- totalracesyear
optional number(required)Total de actuaciones en el año
- firstplacesyear
optional number(required)1_Lugar total por año
- secondplacesyear
optional number(required)2_Lugar total por año
- thirdplacesyear
optional number(required)3_Lugar total por año
- unplacedracesyear
optional number(required)Car_SG total por año
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar ejemplar ¶
Permite eliminar un ejemplar determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Ejemplares - deletePOST/horses/horses/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del ejemplar que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Actuaciones Históricas de Ejemplares ¶
Listado de Actuaciones Históricas ¶
Este servicio obtiene una lista de las actuaciones históricas de los ejemplares.
listPOST/horses/historicalrecords/list{?filter,statusid,horseid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el hipódromo (abreviatura), jinete o entrenador
- statusid
optional number(required)filtra por el estatus (si aplica en el sistema)
- horseid
optional number(required)identificador por el que se desea filtrar un ejemplar específico
- order
required number(required)1=fecha de carrera, 2=fecha de creación, 3=distancia, 4=hipódromo (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros a mostrar
- sessionid
required string(required)número de la sesión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 1,
"records": [
{
"id": 1,
"racedate": {
"date": "2026-05-12",
"formatted": "12/05/2026"
},
"racecourseabbr": "LRM",
"prevrace": "Carr. 452",
"surface": "Arena",
"horseweight": 420.5,
"distance": 1200,
"position": 4,
"pos1000": "2",
"pos300": "1",
"arrivalposition": 1,
"jockeyweight": 54.0,
"jockeyname": "John Doe",
"dividends": 4.50,
"winnername": "Fast Horse",
"bodiesbehind": "0",
"serie": "A",
"ttc": "N/A",
"winnertime": 72.4,
"horsetime": 72.4,
"totalhorses": 8,
"prevtrainer": "Jane Smith",
"earnings": {
"number": 5000.00,
"formatted": "5.000,00"
},
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Actuación Histórica ¶
Este servicio obtiene una actuación histórica en particular. La respuesta 204 es cuando no se encuentra el registro.
entryGET/horses/historicalrecords/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la actuación histórica
- sessionid
required string(required)número de la sesión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"horseid": 45,
"racedate": {
"date": "2026-05-12",
"formatted": "12/05/2026"
},
"racecourseabbr": "LRM",
"prevrace": "Carr. 452",
"surface": "Arena",
"horseweight": 420.5,
"distance": 1200,
"position": 4,
"pos1000": "2",
"pos300": "1",
"arrivalposition": 1,
"jockeyweight": 54,
"jockeyname": "John Doe",
"dividends": 4.5,
"winnername": "Fast Horse",
"bodiesbehind": "0",
"serie": "A",
"ttc": "N/A",
"winnertime": 72.4,
"horsetime": 72.4,
"totalhorses": 8,
"prevtrainer": "Jane Smith",
"earnings": {
"number": 5000,
"formatted": "5.000,00"
},
"created": {
"date": "2026-07-09 11:45:00",
"formatted": "09/07/2026 11:45 AM"
},
"modified": {
"date": "2026-07-09 11:45:00",
"formatted": "09/07/2026 11:45 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar Actuación Histórica ¶
Este servicio permitirá incluir o modificar una actuación histórica.
updatePOST/horses/historicalrecords/update{?id,horseid,racedate,racecourseabbr,prevrace,surface,horseweight,distance,position,pos1000,pos300,arrivalposition,jockeyweight,jockeyname,dividends,winnername,bodiesbehind,serie,ttc,winnertime,horsetime,totalhorses,prevtrainer,earnings,sessionid}
Example URI
- id
required number(required)Identificador de la actuación. Para incluir se envía 0, si es distinto de 0 se asume modificación.
- horseid
required number(required)Identificador del ejemplar relacionado
- racedate
required string(required)Fecha de la carrera (Ej: YYYY-MM-DD)
- racecourseabbr
required string(required)Abreviatura del hipódromo [a-zA-Z0-9]
- prevrace
optional string(required)Carrera anterior
- surface
optional string(required)Superficie de la pista
- horseweight
optional number(required)Peso del ejemplar (Ej: 430.5)
- distance
optional number(required)Distancia de la carrera (Ej: 1200)
- position
optional number(required)Puesto de pista (PP)
- pos1000
optional string(required)Posición a los 1000m
- pos300
optional string(required)Posición a los 300m
- arrivalposition
optional number(required)Posición de llegada
- jockeyweight
optional number(required)Kilos del jinete (Ej: 53.5)
- jockeyname
optional string(required)Nombre del jinete
- dividends
optional number(required)Dividendos pagados
- winnername
optional string(required)Nombre del ganador
- bodiesbehind
optional string(required)Cuerpos de ventaja o atraso
- serie
optional string(required)Serie de la carrera
- ttc
optional string(required)TTC de la carrera
- winnertime
optional number(required)Tiempo del ganador (Ej: 71.3)
- horsetime
optional number(required)Tiempo del ejemplar (Ej: 72.1)
- totalhorses
optional number(required)Número de ejemplares participantes
- prevtrainer
optional string(required)Entrenador anterior
- earnings
optional number(required)Monto ganado (Ej: 1500.50)
- sessionid
required string(required)número de la sesión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Actuación Histórica ¶
Permite eliminar una actuación histórica determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón.
deletePOST/horses/historicalrecords/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la actuación histórica que se desea eliminar
- sessionid
required string(required)número de la sesión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Carreras ¶
Servicios relacionados con las carreras
Listado de Implementos ¶
Este servicio obtiene una lista de los implementos
Implementos - listPOST/races/implements/list{?filter,typeid,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre y abreviatura
- typeid
optional string(required)filtra por el tipo de implemento M=Solo Medicamentos, I=Solo Implementos
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=nombre, 4=abreviatura, 5=status, 6=tipo (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Botas",
"abbr": "Bo",
"type": {
"id": "I",
"dsc": "Implemento"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Implemento ¶
Este servicio obtiene un implemento en particular La respuesta 204 es cuando no se encuentra el registro.
Implementos - entryGET/races/implements/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del implemento
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Botas",
"abbr": "Bo",
"type": {
"id": "I",
"dsc": "Implemento"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar implemento ¶
Este servicio permitirá incluir o modificar un implemento
Implementos - updatePOST/races/implements/update{?id,name,abbr,statusid,typeid,sessionid}
Example URI
- id
required number(required)Identificador del implemento. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Nombre del implemento. Valores Permitidos [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- statusid
required number(required)1=activo, 0=inactivo
- typeid
required number(required)“M”=Medicamento, “I”=Implemento
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Implemento ¶
Permite eliminar un implemento determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Implementos - deletePOST/races/implements/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del implemento que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Tipos de Ejemplares ¶
Este servicio obtiene una lista de los tipos de ejemplares
Tipos de Ejemplares - listPOST/races/horsetypes/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=nombre
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Caballo",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Condiciones ¶
Este servicio obtiene una lista de las condiciones
Condiciones - listPOST/races/conditions/list{?filter,typeid,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción, abreviatura y serie
- typeid
optional string(required)filtra por el tipo de condición 1=Solo Tipo 1, 2=Solo Tipo 2
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=tipo, 4=serie, 5=descripción, 6=estatus, 7=código (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Caballos de 3 y más años...",
"serie": "C3-4-5",
"abbr": "C3-4-5",
"horsetype": {
"id": 1,
"name": "Caballo"
},
"type": {
"id": 1,
"dsc": "Tipo 1"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Condición ¶
Este servicio obtiene una condición en particular La respuesta 204 es cuando no se encuentra el registro.
Condiciones - entryGET/races/conditions/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la condición
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Caballos de 3 y más años...",
"serie": "C3-4-5",
"abbr": "C3-4-5",
"code": "C3*",
"horsetype": {
"id": 1,
"name": "Caballo"
},
"type": {
"id": 1,
"dsc": "Tipo 1"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar condiciones ¶
Este servicio permitirá incluir o modificar una condición
Condiciones - updatePOST/races/conditions/update{?id,code,dsc,abbr,typeid,horsetypeid,serie,statusid,sessionid}
Example URI
- id
required number(required)Identificador de la condición. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- code
required string(required)Identificador del código. [^a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- dsc
required string(required)Descripción de la condición. Valores Permitidos [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9 .-+*áéíóúñüÁÉÍÓÚÑÜ]
- typeid
required number(required)1=Tipo 1, 2=Tipo 2
- horsetypeid
required number(required)Identificador del tipo de caballo
- serie
required string(required)Enviar Un Underscore “_” para dejarla en blanco. Descripción de la serie [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Condición ¶
Permite eliminar una condicion determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Condiciones - deletePOST/races/conditions/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la condición que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Tipos de Carreras ¶
Este servicio obtiene una lista de los tipos de carreras
Tipos de Carreras - listPOST/races/types/list{?filter,typeid,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción y abreviatura
- typeid
optional number(required)filtra por el tipo de condición 1=Solo Especiales, 2=Solo No Especiales
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=tipo, 4=descripción, 5=estatus, 6=abbreviatura (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Copa Simón Bolívar",
"special": true,
"abbr": "CSSB",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un tipo de carrera ¶
Este servicio obtiene un tipo de carrera en particular La respuesta 204 es cuando no se encuentra el registro.
Tipos de Carreras - entryGET/races/types/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del tipo de carrera
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Copa Simón Bolívar",
"special": true,
"abbr": "CSSB",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar tipos de carreras ¶
Este servicio permitirá incluir o modificar un tipo de carrera
Tipos de Carreras - updatePOST/races/types/update{?id,dsc,abbr,typeid,statusid,sessionid}
Example URI
- id
required number(required)Identificador del tipo de carrera. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- dsc
required string(required)Descripción del tipo de carrera. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚñü]
- typeid
required number(required)1=Especial, 0=No especial
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Tipo de Carrera ¶
Permite eliminar un tipo de carrera determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Tipos de Carreras - deletePOST/races/types/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del tipo de carrera que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Tropiezos ¶
Este servicio obtiene una lista de los tropiezos
Tropiezos - listPOST/races/stumbles/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción y abreviatura
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 4=descripción, 5=Abreviatura, 6=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Tropiezo UNO",
"abbr": "T1",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un tropiezo ¶
Este servicio obtiene un tropiezo en particular La respuesta 204 es cuando no se encuentra el registro.
Tropiezos - entryGET/races/stumbles/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del tropiezo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Copa Simón Bolívar",
"abbr": "CSSB",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar tropiezos ¶
Este servicio permitirá incluir o modificar un tropiezo
Tropiezos - updatePOST/races/stumbles/update{?id,dsc,abbr,statusid,sessionid}
Example URI
- id
required number(required)Identificador del tropiezo. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- dsc
required string(required)Descripción del tropiezo. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚñü]
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Tropiezo ¶
Permite eliminar un tropiezo determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Tropiezos - deletePOST/races/stumbles/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del tropiezo que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Tipos de Pista ¶
Este servicio obtiene una lista de los Tipos de Pista
Tipos de Pista - listPOST/races/coursetypes/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=descripción, 4=variante, 5=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Tipo de Pista",
"variant": {
"min": {
"number": 1,
"formatted": "1,00"
},
"max": {
"number": 1,
"formatted": "1,00"
}
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Tipo de Pista ¶
Este servicio obtiene un tipo de pista en particular La respuesta 204 es cuando no se encuentra el registro.
Tipos de Pista - entryGET/races/coursetypes/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del tipo de pista
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Tipo de Pista",
"variant": {
"min": {
"number": 1,
"formatted": "1,00"
},
"max": {
"number": 1,
"formatted": "1,00"
}
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar tipos de pista ¶
Este servicio permitirá incluir o modificar un tipo de pista
Tipos de Pista - updatePOST/races/coursetypes/update{?id,dsc,minvariant,maxvariant,statusid,sessionid}
Example URI
- id
required number(required)Identificador del tipo de pista. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- dsc
required string(required)Descripción del tipo de pista. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- minvariant
required number(required)variante valor mínimo (puede llevar decimales utilizando el punto Ej “1234.56”)
- maxvariant
required number(required)variante valor máximo (puede llevar decimales utilizando el punto Ej “1234.56”)
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Tipo de Pista ¶
Permite eliminar un tipo de pista determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Tipos de Pista - deletePOST/races/coursetypes/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del tipo de pista que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Cuerpos ¶
Este servicio obtiene una lista de los Cuerpos
Cuerpos - listPOST/races/bodies/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción y la abr
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=descripción, 4=Abreviatura, 5=Valor, 6=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Uno y Medio",
"abbr": "1 y 1/2",
"value": {
"number": 1.5,
"formatted": "1,50"
},
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Cuerpo ¶
Este servicio obtiene un cuerpo en particular La respuesta 204 es cuando no se encuentra el registro.
Cuerpos - entryGET/races/bodies/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del cuerpo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Uno y Medio",
"abbr": "1 y 1/2",
"value": {
"number": 1.5,
"formatted": "1,50"
},
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar cuerpos ¶
Este servicio permitirá incluir o modificar un cuerpo
Cuerpos - updatePOST/races/bodies/update{?id,dsc,abbr,value,statusid,sessionid}
Example URI
- id
required number(required)Identificador del cuperpo. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- dsc
required string(required)Descripción del cuerpo. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura del cuerpo. Valores Permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚÑÜ.*+: /()]
- value
required number(required)valor de los cuerpos. Usar el punto como separador
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Cuerpo ¶
Permite eliminar un cuerpo determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Cuerpos - deletePOST/races/bodies/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del cuerpo que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Motivos de Retiro ¶
Este servicio obtiene una lista de los Motivos de Retiros
Retiros - listPOST/races/retirements/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción y el código
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 3=descripción, 4=id, 5=estatus, 6=abbr (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "Motivo UNO",
"abbr": "MU",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Motivo de Retiro ¶
Este servicio obtiene un motivo de retiro en particular La respuesta 204 es cuando no se encuentra el registro.
Retiros - entryGET/races/retirements/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del modivo de retiro
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"name": "Motivo UNO",
"abbr": "MU",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar motivos de retiro ¶
Este servicio permitirá incluir o modificar un motivo de retiro
Retiros - updatePOST/races/retirements/update{?id,name,abbr,statusid,sessionid}
Example URI
- id
required number(required)Identificador del motivo de retiro. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- name
required string(required)Descripción del motivo de retiro. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura del motivo de retiro. Valores Permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚÑÜ.*+: /()]
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Motivo de Retiro ¶
Permite eliminar un motivo de retiro determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Retiros - deletePOST/races/retirements/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del motivo de retiro que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Registros ¶
Servicios relacionados con los registros
Listado de Reuniones ¶
Este servicio obtiene una lista de los registros
Reuniones - listPOST/records/reunions/list{?filter,racecourseid,statusid,datefrom,dateto,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por el nombre y abreviatura
- racecourseid
optional number(required)filtra por la sede
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Abiertos, 2=Solo Procesados, 3=Solo Cerrados, 4=Procesadas o Cerradas
- datefrom
optional string(required)fecha desde la que se mostrarán las reuniones (Formato YYYY-MM-DD)
- dateto
optional string(required)fecha hasta la que se mostrarán las reuniones (Formato YYYY-MM-DD)
- order
required number(required)1=fecha de creacion, 2=sede, 3=fecha, 4=variante, 5=carreras, 6=estatus, 7=numero, 8=status pronóstico (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"number": "001",
"variant": {
"number": 35.4,
"formatted": "35,40"
},
"racecourse": {
"id": 1,
"name": "La Rinconada"
},
"date": {
"date": "2023-04-23",
"formatted": "23/04/2023"
},
"status": {
"id": 1,
"dsc": "Abierta"
},
"forecast": "Por completar",
"racescnt": 0,
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true,
"forecasts": false
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar reunión ¶
Este servicio permitirá incluir o modificar una reunión
Reuniones - updatePOST/records/reunions/update{?id,racecourseid,number,date,sessionid}
Example URI
- id
required number(required)Identificador de la reunión. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- racecourseid
required number(required)Identificador de la sede.
- number
required string(required)Número de la reunión. [0-9] (formato con ceros de 3 dígitos por ej ‘002’)
- date
required string(required)Fecha de la reunión (Formato ‘YYYY-MM-DD’)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Reunión ¶
Permite eliminar una reunión determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Reuniones - deletePOST/records/reunions/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la reunión que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Carreras ¶
Este servicio obtiene una lista de las carreras
Carreras - listPOST/records/races/list{?reunionid,order,offset,numofrec,sessionid}
Example URI
- reunionid
required number(required)Identificador de la reunión
- order
required number(required)1=orden, 2=carrera, 3=llamado, 4=hora, 5=distancia, 6=serie, 7=premio, 8=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"status": {
"id": 1,
"dsc": "Abierta"
},
"order": {
"id": 1,
"dsc": "1ro"
},
"number": 12,
"call": 9,
"time": {
"time": "23:35",
"formatted": "11:35p"
},
"distance": {
"id": 1,
"name": "1200"
},
"serie": "Y3/4+",
"mainprice": {
"currency": "VES",
"number": 12000000,
"formatted": "12.000.000,00"
},
"isvalid": true,
"isclassic": false,
}
],
"minimalracenumber": 34,
"lastbetsdistribution": {
"firstplace": {
"number": 123,
"formatted": "123,00"
},
"secondplace": {
"number": 123,
"formatted": "123,00"
},
"thirdplace": {
"number": 123,
"formatted": "123,00"
},
"fourthplace": {
"number": 123,
"formatted": "123,00"
},
"fifthplace": {
"number": 123,
"formatted": "123,00"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true,
"process": true,
"open": true
"close": true,
"unclose": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Carrera ¶
Este servicio obtiene una carrera en particular La respuesta 204 es cuando no se encuentra el registro.
Carreras - entryGET/records/races/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la carrera
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"status": {
"id": 1,
"dsc": "Abierta"
},
"order": {
"id": 1,
"dsc": "1ro"
},
"number": 12,
"call": 9,
"time": {
"time": "23:35",
"formatted": "11:35p"
},
"distance": {
"id": 1,
"name": "1200"
},
"serie": "Y3/4+",
"mainprice": {
"currency": 'VES',
"number": 12000000,
"formatted": "12.000.000,00"
},
"extraprice": {
"currency": 'USD',
"number": 12000000,
"formatted": "12.000.000,00"
},
"valid": 1,
"racetype": {
"id": -1,
"name": "No clásico"
},
"conditions": {
"condition1id": 1,
"condition2id": 5,
"description": ""
},
"placedivs": {
"first": {
"number": 60,
"formatted": "60%"
},
"second": {
"number": 60,
"formatted": "60%"
},
"third": {
"number": 60,
"formatted": "60%"
},
"fourth": {
"number": 60,
"formatted": "60%"
},
"fifth": {
"number": 60,
"formatted": "60%"
},
"additional": {
"number": 60,
"formatted": "60%"
},
"additional2": {
"number": 60,
"formatted": "60%"
},
},
"bets": [
{
"id": 1,
"name": "5 y 6",
"status": {
"id": 1,
"name": "Activo"
},
"extensible": false,
"reportpricecnt": 0,
"reporthorsescnt": 0
},
...
],
"times": {
"finish": {
"number": 12.5,
"formatted": "12,50"
},
"finalsprint": {
"number": 12.5,
"formatted": "12,50"
},
"each400": [
{
"400": 12.5
},
{
"800": 12.5
},
...
]
},
"racecoursetype": {
"id": 1,
"name": "Húmeda"
},
"betprices": [
{ "id":1,
"name":"5 y 6",
"prices":["12000"],
"horses":[""]
},
{ "id":2,
"name":"Place",
"prices":["14800.34","23000"],
"horses":[""]
},
{ "id":3,
"name":"Exacta",
"prices":["134555"],
"horses":["1","2"]
},
...
],
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true,
"process": true,
"open": true,
"close": true,
"unclose": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar carrera ¶
Este servicio permitirá incluir o modificar una carrera
Carreras - updatePOST/records/races/update{?id,reunionid,call,number,ord,time,distanceid,valid,racetypeid,condition1id,condition2id,conditiondsc,serie,mainpricecurr,mainprice,extrapricecurr,extraprice,firstplace,secondplace,thirdplace,fourthplace,fifthplace,additionalprice,additionalprice2,bets,sessionid}
Example URI
- id
required number(required)Identificador de la carrera. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- reunionid
required number(required)Identificador de la reunion
- call
required number(required)Número de la llamada.
- number
required number(required)Número de la carrera.
- ord
required number(required)Orden de la carrera.
- time
required string(required)Hora de la Carrera (Formato ‘HH:MM’)
- distanceid
required number(required)Identificador de la distancia
- valid
required number(required)1=valida, 0=no valida
- racetypeid
required number(required)Identificador del tipo de carrera
- condition1id
required number(required)Identificador de la condición 1
- condition2id
required number(required)Identificador de la condición 2
- conditiondsc
required string(required)Descripción de la condicion
- serie
required string(required)Serie
- mainpricecurr
required string(required)Moneda del premio
- mainprice
required number(required)Monto del premio
- extrapricecurr
required string(required)Moneda del premio extra
- extraprice
required number(required)Monto del premio extra
- firstplace
required number(required)Porcentaje del primer lugar
- secondplace
required number(required)Porcentaje del segundo lugar
- thirdplace
required number(required)Porcentaje del tercer lugar
- fourthplace
required number(required)Porcentaje del cuarto lugar
- fifthplace
required number(required)Porcentaje del quinto lugar
- additionalprice
required number(required)Porcentaje del prima criador
- additionalprice2
required number(required)Porcentaje del otro premio adicional
- bets
required string(required)Lista de id de las apuestas separados por guiones (Ej “1-45-23-12”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Carrera ¶
Permite eliminar una carrera determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Carreras - deletePOST/records/races/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la carrera que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Actualizar final de carrera ¶
Este servicio permitirá actualizar el final de una carrera La respuesta 204 es cuando no se encuentra el registro.
Carreras - Actualizar FinalPOST/records/races/updateend{?id,finishtime,times400,racecoursetypeid,betprices,bethorses,sessionid}
Example URI
- id
required number(required)Identificador de la carrera
- finishtime
required number(required)Tiempo final de la carrera
- times400
required string(required)Lista de tiempos de llegada en intervalos de 400 separados por guiones, el último es el remate (Ej “12.5-14.8-13.9-12.5” >> T400=12.5, T800=14.8, T1200=13.9, REMATE=12.5)
- racecoursetypeid
required number(required)Identificador de tipo de pista
- betprices
required string(required)Montos de las distintas apuestas en el mismo orden de las apuestas guardadas separadas por guiones o por pikes en caso de haber más de uno (Ej “1200.4-320.5|125.6-123.34”)
- bethorses
required string(required)“|” si va vacío, Caballos de las distintas apuestas en el orden de las apuestas guardadas, se parados por guiones y por pikes los caballos (Ej. “–1|2-3|4|5-6|7|8|9”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Procesar Carrera ¶
Este servicio lleva una carrera del estatus “Abierto” al estatus “Procesada” o viceversa La respuesta 204 es cuando no se encuentra el registro.
Carreras - ProcesarGET/records/races/process{?id,sessionid}
Example URI
- id
required number(required)Identificador de la carrera
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id": 1,
"newstatus": 2
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}417Headers
Content-Type: application/jsonBody
{
"errmsg": "Motivo de la falla del procesamiento"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Monedas ¶
Este servicio obtiene una lista de las monedas
Monedas - listPOST/records/currencies/list{?order,offset,numofrec,sessionid}
Example URI
- order
required number(required)1=nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"code": "VES",
"name": "Bolívares"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Apuestas ¶
Este servicio obtiene una lista de las monedas
Apuestas - listPOST/records/bets/list{?statusid,order,offset,numofrec,sessionid}
Example URI
- statusid
optional number(required)Filtro por estatus (0=Todos, 1=Activos, 2=Inactivos)
- order
required number(required)1=orden, 2=nombre (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"name": "5 y 6",
"status": {
"id": 1,
"name": "Activo"
},
"extensible": false,
"reportpricecnt": 0,
"reporthorsescnt": 0
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Corredores ¶
Este servicio obtiene una lista de los corredores de una carrera
Corredores - listPOST/records/racers/list{?raceid,order,offset,numofrec,sessionid}
Example URI
- raceid
required number(required)Identificador de la carrera
- order
required number(required)1=number, 2=nombre, 3=peso, 4=jinete, 5=entrenador, 6=PP, 7=stud, 8=llegada (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"number": 1,
"position": 1,
"horse": {
"id": 1,
"name": "Gran Bonito"
},
"jockey": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "PP",
"weight": "45 +1"
},
"trainer": {
"id": 1,
"name": "Pedro Pérez"
"abbr": "PP"
},
"stud": {
"id": 1,
"name": "Stud Uno"
},
"weight": {
"number": 456,
"formatted": "456"
},
"medicaments": [
{
"id": 1,
"name": "medicamento uno"
},
...
],
"implements": [
{
"id": 1,
"name": "implemento uno"
},
...
],
"retirements": {
"id": 1,
"name": "Motivo UNO",
"abbr": "M1"
},
"stumble": {
"id": 1,
"name": "Tropiezo UNO",
"abbr": "T1"
},
"bodies": {
"id": 1,
"name": "Dos Cuerpos y Medio",
"abbr": "2 1/2",
"value": 2.5
},
"arrivalposition": 4,
"pos400": {
"number": 45.6,
"formatted": "45.60"
},
"pos800": {
"number": 45.6,
"formatted": "45.60"
},
"finishtime": {
"number": 456,
"formatted": "456"
},
}
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar corredor ¶
Este servicio permitirá incluir o modificar un corredor
Corredores - updatePOST/records/racers/update{?id,raceid,horseid,number,position,jockeyid,trainerid,jokeyweight,medicaments,implements,studid,sessionid}
Example URI
- id
required number(required)Identificador del corredor. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- raceid
required number(required)Identificador de la carrera
- horseid
required number(required)Identificador del ejemplar
- number
required number(required)Número del ejemplar
- position
required number(required)Posición de partida del ejemplar
- jockeyid
required number(required)Identificador del jinete
- trainerid
required number(required)Identificador del entrenador
- jokeyweight
required string(required)Pedo del jinete (Ej 40 +2)
- medicaments
required string(required)“-” para vacío. Id de los medicamentos separados por guiones (Ej “1-23-54”)
- implements
required string(required)“-” para vacío. Id de los implementos separados por guiones (Ej “1-23-54”)
- studid
required number(required)Identificador del stud
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Actualizar final del corredor ¶
Este servicio permitirá incluir o modificar los datos de llegada de un corredor
Corredor - updateendPOST/records/racers/updateend{?id,retirementid,arrivalposition,weight,jockeyweight,jockeyid,stumbleid,finishtime,pos400,pos800,bodiesid,dividends,sessionid}
Example URI
- id
required number(required)Identificador del corredor.
- retirementid
required number(required)Identificador del motivo de retiro. 0 si no hay
- arrivalposition
required number(required)Posición de llegada
- weight
required string(required)Peso del Caballo
- jockeyweight
required string(required)Peso del jinete (Ej ‘45 +2’)
- jockeyid
required number(required)Identificador del jockey
- stumbleid
required number(required)Identificador del tropiezo 0 si no hay
- finishtime
required number(required)tiempo de llegada
- pos400
required number(required)Posición a los 400 mts
- pos800
required number(required)Posición a los 800 mts
- bodiesid
required number(required)Identificador de los cuerpos de llegada
- dividends
required number(required)Dividendos del caballo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Corredor ¶
Permite eliminar un corredor determinado La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Corredor - deletePOST/records/racers/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del corredor que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Traqueos ¶
Este servicio obtiene una lista de los traqueos
Traqueos - listPOST/records/traqueos/list{?filter,datefrom,dateto,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la caballo, distancia y comentario
- datefrom
optional string(required)fecha desde la que se mostrará los traqueos (Fmto ‘YYYY-MM-DD’)
- dateto
optional string(required)fecha hasta la que se mostrará los traqueos (Fmto ‘YYYY-MM-DD’)
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 4=caballo, 5=distancia, 6=ccomentario, 7=Tiempo, 8=Remate, 9=Fecha (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"horse": {
"id": 1,
"name": "Cañonero"
},
"racecourse": {
"id": 1,
"name": "La Rinconada"
},
"distance": {
"id": 1,
"name": "1200"
},
"date": {
"date": "2024-01-01",
"formatted": "01/01/2024"
},
"time": "20' 15\"",
"finishtime": "20' 15\"",
"obs": "Observaciones"
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un traqueo ¶
Este servicio obtiene un traqueo en particular La respuesta 204 es cuando no se encuentra el registro.
Traqueos - entryGET/records/traqueos/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador del traqueo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"horse": {
"id": 1,
"name": "Cañonero"
},
"racecourse": {
"id": 1,
"name": "La Rinconada"
},
"distance": {
"id": 1,
"name": "1200"
},
"date": {
"date": "2024-01-01",
"formatted": "01/01/2024"
},
"time": "20' 15\"",
"finishtime": "20' 15\"",
"obs": "Observaciones",
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar traqueos ¶
Este servicio permitirá incluir o modificar un traqueo
Traqueos - updatePOST/records/traqueos/update{?id,horseid,racecourseid,distanceid,date,time,finishtime,obs,sessionid}
Example URI
- id
required number(required)Identificador del traqueo. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- horseid
required number(required)Identificador del caballo.
- racecourseid
required number(required)Identificador del hipódromo
- distanceid
required number(required)Identificador de la distancia.
- date
required string(required)Fecha del traqueo (Fmt: ‘YYYY-MM-DD’)
- time
required string(required)Tiempo del traqueo. Minutos y Segundos separados por un Pike (Ej “20|15” = “20’ 15"”)
- finishtime
required string(required)Tiempo del remate. Minutos y Segundos separados por un Pike (Ej “20|15” = “20’ 15"”)
- obs
required string(required)Observaciones
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Traqueos ¶
Permite eliminar un traqueo determinado. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Traqueos - deletePOST/records/traqueos/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del traqueo que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Pronósticos ¶
Este servicio obtiene una lista de los pronósticos
Pronósticos - listPOST/records/forecasts/list{?reunionid,datefrom,dateto,order,offset,numofrec,sessionid}
Example URI
- reunionid
required number(required)Identificador de la reunión
- datefrom
optional string(required)fecha desde la que se mostrará los pronosticos (Fmto ‘YYYY-MM-DD’)
- dateto
optional string(required)fecha hasta la que se mostrará los pronósticos (Fmto ‘YYYY-MM-DD’)
- order
required number(required)1=orden, 2=carrera (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"raceid": 1,
"status": {
"id": 1,
"dsc": "Procesada"
},
"order": {
"id": 1,
"dsc": "1ra"
},
"number": 12,
"isvalid": 1,
"magazines": [
{
"id": 1,
"name": "Gaceta Hípica",
"top3": "1-2-3",
"top6": "4-5-6"
},
...
]
}
],
"privileges": {
"update": true,
"list": true,
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Un Pronóstico ¶
Este servicio obtiene la información de un pronóstico La respuesta 204 es cuando no se encuentra el registro.
Pronósticos - entryGET/records/forecasts/entry{?raceid,magazineid,sessionid}
Example URI
- raceid
required number(required)Identificador de la carrera
- magazineid
required number(required)Identificador de la revista
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"reunion": {
"id": 1,
"number": "001",
"position": 1,
"racecourse": {
"id": 1,
"name": "La Rinconada",
"abbr": "C"
},
"date": {
"date": "2023-04-23",
"formatted": "23/04/2023",
"dayofweek": "Domingo"
},
"status": {
"id": 1,
"name": "Abierta"
}
},
"race": {
"order": {
"id": 1,
"dsc": "Primera"
},
"number": 123,
"valid": 1,
"distance": {
"id": 1,
"name": "1200"
}
},
"record": {
"jockey": {
"id": 1,
"name": "Pedro Pérez",
"weight": "64 + 2"
},
"date": {
"date": "2023-04-23",
"formatted": "23/04/2023"
},
"time": 1.5
},
"racers": [
{
"id": 1,
"number": 1,
"horse": {
"id": 1,
"name": "Gran Bonito",
"obs": "xxx"
"gender": "C",
"age": 4,
"fur": "L"
},
"jockey": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "PP",
"weight": "45 +1"
},
"trainer": {
"id": 1,
"name": "Pedro Pérez"
"abbr": "PP"
},
"forecast": 0,
"comment": "Cualquier cosa",
"records": [
{
"date": {
"date": "2023-01-01",
"formatted": "01/01/23"
},
"racecourse": {
"id": 1,
"name": "La Rinconada",
"abbr": "C"
},
"racenumber": {
"number": 1,
"formatted": "001"
},
"weight": {
"number": 456,
"formatted": "456"
},
"distance": {
"id": 1,
"name": 1200
},
"position": 1,
"pos400": {
"number": 45.6,
"formatted": "45.60"
},
"pos800": {
"number": 45.6,
"formatted": "45.60"
},
"arrivalposition": 4,
"jockey": {
"id": 1,
"name": "Pedro Pérez",
"abbr": "PP",
"weight": "45 +1"
},
"dividends": {
"number": 1234.56,
"formatted": "1.234,56"
},
"winner": {
"id": 1,
"name": "Cañonero",
"time": {
"number": 1.56,
"formatted": "1,56"
}
},
"bodies": {
"id": 1,
"name": "Dos Cuerpos y Medio",
"abbr": "2 1/2",
"value": 2.5
},
"serie": "8687",
"finishtime": {
"number": 456,
"formatted": "456"
},
"numberofhorses": 12
}
]
},
...
],
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar pronosticos ¶
Este servicio permitirá incluir o modificar un pronóstico
Pronósticos - updatePOST/records/forecasts/update{?raceid,magazineid,top3,top6,comments,sessionid}
Example URI
- raceid
required number(required)Identificador de la carrera
- magazineid
required number(required)Identificador de la revista
- top3
required string(required)numero de los tres primeros caballos separados por guiones (Ej “1-2-3”)
- top6
required string(required)numero de los tres siguientes caballos separados por guiones (Ej “1-2-3”)
- comments
required string(required)Comentarios de cada caballo de la carrera separados por pikes (Ej. “comentario 1|comentario 2|…”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"raceid": 1,
"magazineid": 1
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Revistas ¶
Servicios relacionados con las revistas
Listado de Revistas ¶
Este servicio obtiene una lista de las revistas
listPOST/magazines/list{?filter,statusid,order,offset,numofrec,sessionid}
Example URI
- filter
optional string(required)Se establece un filtro por la descripción y abreviatura
- statusid
optional number(required)filtra por el estatus 0=Todos, 1=Solo Activos, 2=Solo Inactivos
- order
required number(required)1=fecha de creacion, 2=fecha de modificación, 4=descripción, 5=Abreviatura, 6=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"dsc": "Revista UNO",
"abbr": "R1",
"status": {
"id": 1,
"dsc": "Activo"
}
},
...
],
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Revista ¶
Este servicio obtiene una revista en particular La respuesta 204 es cuando no se encuentra el registro.
entryGET/magazines/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la revista
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"dsc": "Revista UNO",
"abbr": "R1",
"status": {
"id": 1,
"dsc": "Activo"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
},
"privileges": {
"create": true,
"delete": true,
"update": true,
"list": true
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Incluir o modificar revistas ¶
Este servicio permitirá incluir o modificar una revista
updatePOST/magazines/update{?id,dsc,abbr,statusid,sessionid}
Example URI
- id
required number(required)Identificador de la revista. Para incluirlo se debe enviar el ID en 0, si el ID es distinto de 0 se asume que es una modificación.
- dsc
required string(required)Descripción de la revista. Valores Permitidos [a-zA-Z0-9 .,áéíóúñüÁÉÍÓÚñü]
- abbr
required string(required)Abreviatura Valores permitidos [a-zA-Z0-9áéíóúñüÁÉÍÓÚñü]
- statusid
required number(required)1=activo, 0=inactivo
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Revistas ¶
Permite eliminar una revista determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
deletePOST/magazines/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la revista que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Formatos ¶
Servicios relacionados con los formatos de revistas
Listado de Revistas ¶
Este servicio obtiene una lista de los formatos disponibles para una revista
listPOST/formats/list{?magazineid,sessionid}
Example URI
- magazineid
required number(required)identificador de la revista
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"dsc": "Revista UNO",
"call": "outputs/gacetaHipica/Revista_UNO.php"
},
...
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "Revista No encontrada"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Leer Archivos ¶
Servicios relacionados con los registros
Cargar archivo de llamados ¶
Este servicio leer un archivo con la información de los llamados y carga las tablas de carga con la información leída.
Llamados - uploadPOST/records/calls/upload{?FILE,sessionid}
Example URI
- FILE
required string(required)Ruta del archivo a cargar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"reunions": 1, // número de reuniones cargadas
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "No Encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Transferir a llamados ¶
Este servicio transfiere la reunión en ld_reunions, ld_races y ld_racers y los datos de llamados a los archivos definitivos.
Debe Validar varias cosas:
-
Los campos obligatorios deben estar completados
-
El número de reunión es el inmediatamente consecutivo al de la tabla reunions
Una Vez transferido debe eliminarlo de la tabla de carga.
Reuniones Cargadas - transfercallPOST/records/ld_reunions/transfercall{?id,sessionid}
Example URI
- id
required number(required)Identificador de la reunión cargada
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"reunion": "19", // Número de reunión cargada
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}404Headers
Content-Type: application/jsonBody
{
"msg": "No Encontrado"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Reuniones Cargadas ¶
Este servicio obtiene una lista de los registros
Reuniones Cargadas - listPOST/records/ld_reunions/list{?order,offset,numofrec,sessionid}
Example URI
- order
required number(required)1=fecha de creacion, 2=sede, 3=fecha, 5=carreras, 6=estatus, 7=numero (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"number": "001",
"racecourse": {
"id": 1, // 0=no se consiguió
"name": "La Rinconada",
"loaded": "La Rinconada"
},
"date": {
"date": "2023-04-23",
"formatted": "23/04/2023"
},
"status": {
"id": 1, // 1=Sin validar, 2=Validada
"dsc": "Sin Validar"
},
"racescnt": 0,
},
...
],
"privileges": {
"list": true,
"update": true,
"convert": true,
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Actualizar Reunión Cargada ¶
Este servicio permitirá incluir o modificar una reunión
Reuniones Cargadas - updatePOST/records/ld_reunions/update{?id,racecourseid,racecourseld,number,date,sessionid}
Example URI
- id
required number(required)Identificador de la reunión
- racecourseid
required number(required)Identificador de la sede.
- racecourseld
required number(required)Sede Cargada
- number
required string(required)Número de la reunión. [0-9] (formato con ceros de 3 dígitos por ej ‘002’)
- date
required string(required)Fecha de la reunión (Formato ‘YYYY-MM-DD’)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Reunión Cargada ¶
Permite eliminar una reunión determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Reuniones Cargadas - deletePOST/records/ld_reunions/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la reunión que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Carreras Cargadas ¶
Este servicio obtiene una lista de las carreras
Carreras Cargadas - listPOST/records/ld_races/list{?reunionid,order,offset,numofrec,sessionid}
Example URI
- reunionid
required number(required)Identificador de la reunión
- order
required number(required)1=orden, 2=carrera, 3=llamado, 4=hora, 5=distancia, 6=serie, 7=premio, 8=estatus (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"status": {
"id": 1, // 1= Sin Validar, 2=Validada
"dsc": "Sin Validar"
},
"order": {
"id": 1,
"dsc": "1ro"
},
"number": 12,
"call": 9,
"time": {
"time": "23:35",
"formatted": "11:35p"
},
"distance": {
"id": 1, // 0=no se consiguió
"name": "1200"
},
"serie": "Y3/4+",
"mainprice": {
"currency": "VES",
"number": 12000000,
"formatted": "12.000.000,00"
},
"isvalid": true,
"isclassic": false,
"racetype": {
"id": -1,
"name": "No clásico"
}
}
],
"privileges": {
"list": true,
"update": true,
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Una Carrera Cargada ¶
Este servicio obtiene una carrera en particular La respuesta 204 es cuando no se encuentra el registro.
Carreras Cargadas - entryGET/records/ld_races/entry{?id,sessionid}
Example URI
- id
required number(required)Identificador de la carrera
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"entry": {
"id": 1,
"status": {
"id": 1, // 1= Sin Validar, 2=Validada
"dsc": "Sin Validar"
},
"order": {
"id": 1,
"dsc": "1ro"
},
"number": 12,
"call": 9,
"time": {
"time": "23:35",
"formatted": "11:35p"
},
"distance": {
"id": 1, // 0=no se consiguió
"name": "1200",
"loaded": "1200"
},
"serie": "Y3/4+",
"mainprice": {
"currency": 'VES',
"number": 12000000,
"formatted": "12.000.000,00"
},
"extraprice": {
"currency": 'USD',
"number": 12000000,
"formatted": "12.000.000,00"
},
"valid": 1,
"racetype": {
"id": -1,
"name": "No clásico"
"loaded": ""
},
"conditions": {
"condition1id": 1,
"condition1ld": "",
"condition2id": 5,
"condition2ld": "",
"description": ""
},
"placedivs": {
"first": {
"number": 60,
"formatted": "60%"
},
"second": {
"number": 60,
"formatted": "60%"
},
"third": {
"number": 60,
"formatted": "60%"
},
"fourth": {
"number": 60,
"formatted": "60%"
},
"fifth": {
"number": 60,
"formatted": "60%"
},
"additional": {
"number": 60,
"formatted": "60%"
},
"additional2": {
"number": 60,
"formatted": "60%"
},
},
"bets": [
{
"id": 1, // 0=No se encontró
"name": "5 y 6",
"loaded": "5 y 6"
},
...
],
"racecoursetype": {
"id": 1, // 0=no se consiguió
"name": "Húmeda"
},
"created": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
},
"modified": {
"date": "2024-01-06 09:46:36",
"formatted": "06/01/2024 09:46 AM"
}
}
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Modificar Carrera Cargada ¶
Este servicio permitirá incluir o modificar una carrera
Carreras Cargadas - updatePOST/records/ld_races/update{?id,reunionid,call,number,ord,time,distanceid,distanceld,valid,racetypeid,racetypeld,condition1id,condition1ld,condition2id,condition2ld,conditiondsc,serie,mainpricecurr,mainprice,extrapricecurr,extraprice,firstplace,secondplace,thirdplace,fourthplace,fifthplace,additionalprice,additionalprice2,bets,betsld,sessionid}
Example URI
- id
required number(required)Identificador de la carrera.
- reunionid
required number(required)Identificador de la reunion
- call
required number(required)Número de la llamada.
- number
required number(required)Número de la carrera.
- ord
required number(required)Orden de la carrera.
- time
required string(required)Hora de la Carrera (Formato ‘HH:MM’)
- distanceid
required number(required)Identificador de la distancia
- distanceld
required number(required)Distancia Cargada
- valid
required number(required)1=valida, 0=no valida
- racetypeid
required number(required)Identificador del tipo de carrera
- racetypeld
required number(required)Tipo de carrera cargado
- condition1id
required number(required)Identificador de la condición 1
- condition1ld
required number(required)Condición 1 Cargada
- condition2id
required number(required)Identificador de la condición 2
- condition2ld
required number(required)Condición 2 Cargada
- conditiondsc
required string(required)Descripción de la condicion
- serie
required string(required)Serie
- mainpricecurr
required string(required)Moneda del premio
- mainprice
required number(required)Monto del premio
- extrapricecurr
required string(required)Moneda del premio extra
- extraprice
required number(required)Monto del premio extra
- firstplace
required number(required)Porcentaje del primer lugar
- secondplace
required number(required)Porcentaje del segundo lugar
- thirdplace
required number(required)Porcentaje del tercer lugar
- fourthplace
required number(required)Porcentaje del cuarto lugar
- fifthplace
required number(required)Porcentaje del quinto lugar
- additionalprice
required number(required)Porcentaje del prima criador
- additionalprice2
required number(required)Porcentaje del otro premio adicional
- bets
required string(required)Lista de id de las apuestas separados por guiones (Ej “1-45-23-12”)
- betsld
required string(required)Lista de apuestas cargadas separados por guiones (Ej “GANADOR-PLACE-EXACTA”)
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Carrera Cargada ¶
Permite eliminar una carrera determinada. La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Carreras Cargadas - deletePOST/records/ld_races/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador de la carrera que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Listado de Corredores Cargados ¶
Este servicio obtiene una lista de los corredores de una carrera
Corredores Cargados - listPOST/records/ld_racers/list{?raceid,order,offset,numofrec,sessionid}
Example URI
- raceid
required number(required)Identificador de la carrera
- order
required number(required)1=number, 2=nombre, 3=peso, 4=jinete, 5=entrenador, 6=PP, 7=stud, 8=llegada (Usar valores negativos para orden descendente)
- offset
required number(required)Registro desde el que se empieza a mostrar el listado (el primero es 0)
- numofrec
required number(required)Número de registros mostrar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"numofrecords": 3,
"records": [
{
"id": 1,
"number": 1,
"position": 1,
"status": {
"id": 1, // 1=Sin validar, 2=Validada
"dsc": "Sin Validar"
},
"horse": { // 0=no se consiguió
"id": 1,
"name": "Gran Bonito",
"loaded": "Gran Bonito",
},
"jockey": {
"id": 1, // 0=no se consiguió
"name": "Pedro Pérez",
"loaded": "Pedro Pérez",
"abbr": "PP",
"weight": "45 +1"
},
"trainer": {
"id": 1, // 0=no se consiguió
"name": "Pedro Pérez",
"loaded": "Pedro Pérez",
"abbr": "PP"
},
"stud": {
"id": 1, // 0=no se consiguió
"name": "Stud Uno"
},
"weight": {
"number": 456,
"formatted": "456"
},
"medicaments": [
{
"id": 1, // 0=no se consiguió
"name": "medicamento uno",
"loaded": "medicamento uno"
},
...
],
"implements": [
{
"id": 1, // 0=no se consiguió
"name": "implemento uno",
"loaded": "implemento uno"
},
...
]
}
]
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Actualizar Corredor Cargado ¶
Este servicio permitirá incluir o modificar un corredor
Corredores Cargados - updatePOST/records/ld_racers/update{?id,raceid,horseid,horseld,number,position,jockeyid,jockeyld,trainerid,trainerld,jokeyweight,medicaments,medicamentsld,implements,implementsld,studid,sessionid}
Example URI
- id
required number(required)Identificador del corredor.
- raceid
required number(required)Identificador de la carrera
- horseid
required number(required)Identificador del ejemplar
- horseld
required number(required)Ejemplar Cargado
- number
required number(required)Número del ejemplar
- position
required number(required)Posición de partida del ejemplar
- jockeyid
required number(required)Identificador del jinete
- jockeyld
required number(required)Jinete Cargado
- trainerid
required number(required)Identificador del entrenador
- trainerld
required number(required)Entrenador Cargado
- jokeyweight
required string(required)Pedo del jinete (Ej 40 +2)
- medicaments
required string(required)“-” para vacío. Id de los medicamentos separados por guiones (Ej “1-23-54”)
- medicamentsld
required string(required)“-” para vacío. Medicamentos Cargados separados por guiones (Ej “BUT-LAX”)
- implements
required string(required)“-” para vacío. Id de los implementos separados por guiones (Ej “1-23-54”)
- implementsld
required string(required)“-” para vacío. Implementos Cargados separados por guiones (Ej "L.V.M.OT.LA.")
- studid
required number(required)Identificador del stud
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID modificado o incluido
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}409Headers
Content-Type: application/jsonBody
{
"msg": "Duplicado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}Eliminar Corredor Cargado ¶
Permite eliminar un corredor determinado La respuesta 204 es cuando no se encuentra el registro. La respuesta 304 es cuando aunque se encuentra, no se puede borrar por alguna razón
Corredores Cargados - deletePOST/records/ld_racers/delete{?id,sessionid}
Example URI
- id
required number(required)Identificador del corredor que se desea eliminar
- sessionid
required string(required)número de la sessión loggeada
200Headers
Content-Type: application/jsonBody
{
"id" : 1 // ID eliminado
}400Headers
Content-Type: application/jsonBody
{
"errmsg": "Descripción del mensaje de error"
}401Headers
Content-Type: application/jsonBody
{
"msg": "Sesión expirada o inválida"
}403Headers
Content-Type: application/jsonBody
{
"msg": "No tiene Privilegios"
}404Headers
Content-Type: application/jsonBody
{
"msg": "No Encontrado"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}