Documentacion de la API
Integra Tu Decimo en tus aplicaciones mediante nuestra API REST.
Descargar Coleccion PostmanLas API Keys se gestionan desde tu dashboard en Configuracion > API Keys.
Inicio Rapido
URL Base
https://api.tudecimo.es/api/v1/publicAutenticacion
Authorization: Bearer TU_API_KEYcurl -X GET "https://api.tudecimo.es/api/v1/public/decimos" \
-H "Authorization: Bearer tu_api_key_aqui" \
-H "Content-Type: application/json"Decimos
Gestiona tus decimos de loteria.
/decimosread:decimosLista todos los decimos del usuario.
Response
{
"data": [{
"id": "507f1f77bcf86cd799439011",
"numero": "12345",
"tipoLoteria": "loteria_nacional",
"fechaSorteo": "2024-12-22T00:00:00Z",
"montoTotal": 20,
"estado": "activo"
}],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"totalPages": 1
}
}/decimos/:idread:decimosObtiene un decimo por ID.
/decimoswrite:decimosCrea un nuevo decimo. Si no se proporciona sorteoId, se detecta automaticamente por fecha y tipo.
Request Body
{
"numero": "12345",
"tipoLoteria": "loteria_nacional",
"fechaSorteo": "2024-12-22",
"sorteoId": "507f1f77bcf86cd799439011", // opcional
"serie": "10",
"fraccion": "5",
"montoTotal": 20,
"descripcion": "Decimo de Navidad"
}/decimos/:idwrite:decimosActualiza un decimo existente.
Request Body
{
"numero": "12345",
"descripcion": "Nuevo nombre"
}/decimos/:idwrite:decimosElimina un decimo (soft delete).
Contratos
Gestiona contratos de participacion.
/contratosread:contratosLista todos los contratos del usuario.
/contratos/:idread:contratosObtiene un contrato por ID.
/contratoswrite:contratosCrea un nuevo contrato.
Request Body
{
"decimoId": "507f1f77bcf86cd799439011",
"participantes": [
{
"email": "[email protected]",
"nombre": "Juan Garcia",
"porcentaje": 50,
"monto": 10
}
],
"jurisdiccion": "Espana"
}/contratos/:idwrite:contratosCancela un contrato pendiente.
Participaciones
Gestiona participaciones en decimos compartidos.
/participacionesread:participacionesLista todas las participaciones. Filtros: estado, rol (propietario/participante).
Response
{
"data": [{
"id": "507f1f77bcf86cd799439011",
"decimoId": "507f1f77bcf86cd799439012",
"decimoNumero": "12345",
"porcentaje": 50,
"monto": 10,
"estado": "pendiente",
"esComoPropietario": true
}],
"pagination": { ... }
}/participaciones/:idread:participacionesObtiene una participacion por ID.
/participacioneswrite:participacionesCrea una participacion (invita a alguien a tu decimo).
Request Body
{
"decimoId": "507f1f77bcf86cd799439011",
"email": "[email protected]",
"porcentaje": 25,
"monto": 5,
"mensaje": "Te invito a participar"
}/participaciones/:id/responderwrite:participacionesAcepta o rechaza una participacion recibida.
Request Body
{
"accion": "aceptar", // o "rechazar"
"motivo": "No me interesa" // solo si rechaza
}/participaciones/:idwrite:participacionesCancela una participacion que enviaste.
Usuarios
Busca usuarios registrados.
/usuarios?email=read:usuariosBusca un usuario por email. Util para validar antes de enviar participacion.
Response
{
"id": "507f1f77bcf86cd799439011",
"email": "[email protected]",
"nombre": "Juan Garcia",
"telefono": "+34612345678"
}Sorteos
Consulta informacion de sorteos de loteria.
/sorteosread:sorteosLista los sorteos disponibles.
/sorteos/:idread:sorteosObtiene detalles de un sorteo.
Resultados
Consulta resultados de sorteos finalizados.
/resultadosread:sorteosLista resultados de sorteos finalizados. Filtro: tipoLoteria.
Response
{
"data": [{
"id": "507f1f77bcf86cd799439011",
"sorteoId": "1294202097",
"nombre": "SORTEO DEL JUEVES",
"tipoLoteria": "loteria_nacional",
"fechaSorteo": "2024-12-19T21:00:00Z",
"combinacion": "12345",
"primerPremio": 300000,
"estado": "finalizado"
}],
"pagination": { ... }
}/resultados/:idread:sorteosObtiene el resultado de un sorteo especifico.
Resumen
Obtiene un resumen de tu cuenta.
/resumenread:decimosEstadisticas generales: decimos, contratos, inversion.
Response
{
"decimos": {
"total": 15,
"activos": 10,
"ganadores": 2
},
"contratos": {
"total": 8,
"activos": 5,
"pendientes": 3
},
"economico": {
"inversionTotal": 300,
"premiosGanados": 100,
"balance": -200
}
}Deudas
Gestiona deudas entre usuarios por participaciones.
/deudasread:deudasLista todas las deudas del usuario.
Response
{
"data": [{
"id": "507f1f77bcf86cd799439011",
"monto": 10,
"estado": "pendiente",
"esDeudor": true,
"deudor": { "id": "...", "nombre": "Juan", "email": "..." },
"acreedor": { "id": "...", "nombre": "Maria", "email": "..." }
}],
"pagination": { ... }
}/deudas/deboread:deudasLista lo que debo a otros.
/deudas/me-debenread:deudasLista lo que me deben otros.
/deudas/resumenread:deudasResumen de deudas: total debo, total me deben, balance.
Response
{
"totalDebo": 50,
"totalMeDeben": 100,
"balance": 50,
"deudasPendientes": 5
}/deudas/:idread:deudasObtiene una deuda por ID.
/deudas/:id/marcar-pagadaedit:deudasMarca una deuda como pagada (como deudor).
Request Body
{
"notas": "Pagado por Bizum",
"metodoPago": "bizum"
}/deudas/:id/confirmar-pagoedit:deudasConfirma el pago de una deuda (como acreedor).
Contactos
Gestiona tu lista de contactos.
/contactosread:contactosLista todos los contactos. Filtro: q (busqueda).
/contactos/solicitudes/pendientesread:contactosLista solicitudes de contacto pendientes recibidas.
/contactos/solicitudes/enviadasread:contactosLista solicitudes de contacto enviadas.
/contactos/solicitudedit:contactosEnvia una solicitud de contacto.
Request Body
{
"email": "[email protected]",
"mensaje": "Hola, me gustaria añadirte"
}/contactos/solicitud/:id/responderedit:contactosAcepta o rechaza una solicitud de contacto.
Request Body
{
"accion": "aceptar" // o "rechazar"
}/contactos/:iddelete:contactosElimina un contacto.
Penas
Gestiona grupos de loteria (penas).
/penasread:penasLista tus penas. Filtros: estado, miRol.
/penas/invitacionesread:penasLista invitaciones pendientes a penas.
/penas/:idread:penasObtiene detalle de una pena con miembros y decimos.
/penasedit:penasCrea una nueva pena.
Request Body
{
"nombre": "Mi Pena",
"descripcion": "Grupo de amigos",
"color": "#1B5E20"
}/penas/:idedit:penasActualiza una pena (solo admin).
/penas/:iddelete:penasElimina una pena (solo creador).
/penas/:id/miembrosread:penasLista miembros de una pena.
/penas/:id/miembrosedit:penasInvita a un miembro por email.
Request Body
{
"email": "[email protected]",
"porcentaje": 10,
"mensaje": "Te invito a mi pena"
}/penas/invitaciones/:id/responderedit:penasAcepta o rechaza una invitacion a pena.
Request Body
{
"accion": "aceptar" // o "rechazar"
}/penas/:id/decimosread:penasLista decimos asignados a la pena.
/penas/:id/decimosedit:penasAsigna un decimo a la pena.
Request Body
{
"decimoId": "507f1f77bcf86cd799439011",
"porcentajeAsignado": 100,
"notas": "Decimo de Navidad"
}/penas/:id/decimos/:decimoIdedit:penasQuita un decimo de la pena.
/penas/:id/abandonaredit:penasAbandona una pena (no disponible para creador).
/penas/:id/estadisticasread:penasEstadisticas de la pena.
Estadisticas Globales
Obtiene estadisticas globales de tu cuenta.
/estadisticasread:estadisticasEstadisticas completas: decimos, contratos, participaciones, deudas, penas, contactos.
Response
{
"decimos": {
"total": 50,
"activos": 30,
"compartidos": 15,
"finalizados": 5,
"ganadores": 2,
"inversionTotal": 1000,
"premiosGanados": 200
},
"contratos": {
"total": 10,
"pendientes": 2,
"activos": 8,
"cancelados": 0
},
"participaciones": {
"total": 25,
"comoInvitador": 15,
"comoParticipante": 10,
"pendientes": 5,
"aceptadas": 20
},
"deudas": {
"totalDebo": 50,
"totalMeDeben": 100,
"balance": 50,
"deudasPendientes": 5
},
"penas": {
"total": 3,
"comoAdmin": 1,
"comoMiembro": 2,
"decimosEnPenas": 10
},
"contactos": {
"total": 20,
"solicitudesPendientes": 3
}
}Scopes (Permisos)
Cada API Key puede tener uno o varios scopes que determinan a que endpoints tiene acceso.
read:decimosLeer decimos y resumen
edit:decimosCrear y editar decimos
delete:decimosEliminar decimos
read:contratosLeer contratos
edit:contratosCrear contratos
delete:contratosCancelar contratos
read:participacionesLeer participaciones
edit:participacionesCrear y responder participaciones
delete:participacionesCancelar participaciones
read:deudasLeer deudas
edit:deudasMarcar y confirmar pagos
read:contactosLeer contactos
edit:contactosGestionar solicitudes
delete:contactosEliminar contactos
read:penasLeer penas
edit:penasGestionar penas
delete:penasEliminar penas
read:sorteosLeer sorteos y resultados
read:usuariosBuscar usuarios por email
read:estadisticasEstadisticas globales
full_accessAcceso completo a todos los endpoints