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
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.
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
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
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
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
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 Estados ¶
Este servicio obtiene una lista de los estados existentes
listPOST/addresses/states/list{?filter,statusid,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
- 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",
"status": {
"id": 1,
"dsc": "Activo"
},
"municipalities": "Baruta,Sucre,El Hatillo,Libertador"
},
...
],
"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.
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"
},
"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.
updatePOST/addresses/states/update{?id,name,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 áéíóúñüÁÉÍÓÚÑÜ]
- 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
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
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.
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.
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
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
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.
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
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
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
listPOST/hippodromes/racecourses/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=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"
}
}
...
],
"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.
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"
},
"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.
updatePOST/hippodromes/racecourses/update{?id,name,abbr,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áéíóúñüÁÉÍÓÚÑÜ.]
- municipalityid
required 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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
listPOST/horses/haras/list{?filter,statusid,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
- 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"
}
},
...
],
"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.
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"
},
"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
updatePOST/horses/haras/update{?id,name,abbr,municipalityid,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áéíóúñüÁÉÍÓÚñü]
- municipalityid
required number(required)Identificador del municipio
- 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
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
listPOST/horses/horses/list{?filter,fullsearch,genderid,furid,harasid,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
- 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"
},
"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.
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",
"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",
"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 Haras ¶
Este servicio permitirá incluir o modificar un ejemplar
updatePOST/horses/horses/update{?id,name,abbr,gender,furid,birthdate,harasid,origin,obs,status,fatherid,fathername,fatherobs,motherid,mothername,motherobs,fathergfname,fathergfobs,fathergmname,fathergmobs,mothergfname,mothergfobs,mothergmname,mothergmobs,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 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- 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 .,áéíóúñüÁÉÍÓÚñü]
- obs
optional string(required)Origen [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 [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 [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- fathergfname
optional string(required)nombre del abuelo paterno
- fathergfobs
optional string(required)Observaciones [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- fathergmname
optional string(required)nombre de la abuela paterna
- fathergmobs
optional string(required)Observaciones [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- mothergfname
optional string(required)nombre del abuelo materno
- mothergfobs
optional string(required)Observaciones [a-zA-Z0-9 .😓)+*/áéíóúñüÁÉÍÓÚÑÜ]
- mothergmname
optional string(required)nombre de la abuela materna
- mothergmobs
optional string(required)Observaciones [a-zA-Z0-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"
}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
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"
}Carreras ¶
Servicios relacionados con las carreras
Listado de Implementos ¶
Este servicio obtiene una lista de los 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.
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
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
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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
Listar ReunionesPOST/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
Upsert ReuniónPOST/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
Borrar ReuniónPOST/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
Listar CarrerasPOST/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.
Llamar CarreraGET/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": {
"conditionid1": 1,
"conditionid2": 5,
"descripcion": ""
},
"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
Upsert CarreraPOST/records/races/update{?id,reunionid,call,number,ord,time,distanceid,valid,racetypeid,conditionid1,conditionid2,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
- conditionid1
required number(required)Identificador de la condición 1
- conditionid2
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
Eliminar CarreraPOST/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.
Actualizar Final CarreraPOST/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.
Procesar CarreraGET/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
Listar MonedasPOST/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
Listar ApuestasPOST/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
Listar CorredoresPOST/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
Upsert CorredoresPOST/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
Actualizar Final del CorredorPOST/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
Borrar CorredorPOST/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
Listar TraqueosPOST/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.
Obtener TraqueoGET/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
Upsert TraqueoPOST/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
Eliminar TraqueoPOST/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
Listar PronósticosPOST/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.
Obtener PronósticoGET/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
Upsert PronósticoPOST/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
Listado de Reuniones Cargadas ¶
Este servicio obtiene una lista de los registros
Listar Reuniones CargadasPOST/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
Actualizar Reunión CargadaPOST/records/ld_reunions/update{?id,racecourseid,racecoursedsc,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.
- racecoursedsc
required string(required)Sede cargada inicialmente
- 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
Borrar Reunión CargadaPOST/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
Listar Carreras CargadasPOST/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,
}
],
"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.
Llamar Carrera CargadaGET/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,
"dsc": "Abierta"
},
"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"
},
"conditions": {
"conditionid1": 1,
"conditionid2": 5,
"descripcion": ""
},
"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"
}
},
"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"
}Modificar Carrera Cargada ¶
Este servicio permitirá incluir o modificar una carrera
Modificar Carrera CargadaPOST/records/ld_races/update{?id,reunionid,call,number,ord,time,distanceid,distancedsc,valid,racetypeid,conditionid1,condition1dsc,conditionid2,condition2dsc,conditiondsc,serie,mainpricecurr,mainprice,extrapricecurr,extraprice,firstplace,secondplace,thirdplace,fourthplace,fifthplace,additionalprice,additionalprice2,bets,betsdsc,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
- distancedsc
required string(required)Distancia cargada inicialmente
- valid
required number(required)1=valida, 0=no valida
- racetypeid
required number(required)Identificador del tipo de carrera
- conditionid1
required number(required)Identificador de la condición 1
- condition1dsc
required string(required)Condición 1 cargada inicialmente
- conditionid2
required number(required)Identificador de la condición 2
- condition2dsc
required string(required)Condición 2 cargada inicialmente
- 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”)
- betsdsc
required string(required)Lista de id de las apuestas separados por guiones (Ej “GANADOR-PLACE-EXACTA-TRIFECTA-SUPERFECTA”)
- 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
Eliminar Carrera CargadaPOST/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
Listar CorredoresPOST/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,
"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",
"loaded": "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
Upsert CorredoresPOST/records/ld_racers/update{?id,raceid,horseid,horsedsc,number,position,jockeyid,jockeydsc,trainerid,trainerdsc,jokeyweight,medicaments,medicamentsdsc,implements,implementsdsc,studid,studdsc,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
- horsedsc
required string(required)Descripción cargada 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
- jockeydsc
required string(required)Descripción cargada del jinete
- trainerid
required number(required)Identificador del entrenador
- trainerdsc
required string(required)Descripción cargada 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”)
- medicamentsdsc
required string(required)Descripción cargada 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”)
- implementsdsc
required string(required)Descripción cargada de los implementos separados por guiones (Ej “1-23-54”)
- studid
required number(required)Identificador del stud
- studdsc
required varchar(required)descripción del cargada 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
Borrar CorredorPOST/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"
}500Headers
Content-Type: application/jsonBody
{
"msg": "Descripcion del error"
}