Creación de cuenta

Crear cuenta
POST:   /api/clientes/crear_cuenta
Body:
{
    "nombre":"***********", // string
    "pais_id":*, // int
    "no_cliente":"*******", // string (opcional)
    "telefono":"*******" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "auth":"**************", // string
        "msg":"*********" // string
    }
}
Verificar código
POST:   /api/clientes/verificar_codigo
Body:
{
    "auth":"*******", // string
    "codigo":"****", // string
    "latitud":"*******", // string
    "longitud":"*******" // string
}
Response:
{
    "status":true, //boolean
    "data":{
        "msg":"*********", //string
        "token":"*********" //string
    }
}
Reenviar código
POST:   /api/clientes/reenviar_codigo
Body:
{
    "auth":"*******" // string
    "telefono":"*******" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"*********" // string
    }
}

Inicio de sesión

Solicitar codigo login
POST:   /api/clientes/login/solicitar_codigo
Body:
{
    "telefono":"*******" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"*********", // string
        "auth":"*****" // string
    }
}
Verificar codigo
POST:   /api/clientes/login/verificar_codigo
Body:
{
    "auth":"*******", // string
    "codigo":"*******", // string
    "latitud":"*******", // string
    "longitud":"*******" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"*********" // string
        "token":"*********" // string
    }
}
Reenviar codigo login
POST:   /api/clientes/login/reenviar_codigo
Body:
{
    "auth":"*******", // string
    "telefono":"*******" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"*********" // string
    }
}

Home

Pantalla de inicio
POST:   /api/home
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "videos":[
            {
                "video_id":*, // int
                "nombre":"****", // string
                "descripcion":"***", // string
                "video":"***" // string
            }
        ],
        "presentaciones":[
            {
                "presentacion_id":*, // int
                "nombre":"****", // string
                "imagen":"***", // string
                "fecha":"******" // string
            }
        ],
        "informacion":[
            {
                "info_id":*, // int
                "nombre":"****", // string
                "imagen":"***", // string
                "fecha":"******" // string
            }
        ],
        "impresiones":[
            {
                "impresion_id":*, // int
                "nombre":"****", // string
                "imagen":"***", // string
                "fecha":"******" // string
            }
        ],
        "promos_libros":[
            {
                "promo_id":*, // int
                "nombre":"****", // string
                "imagen":"***", // string
                "fecha":"******" // string
            }
        ]
    }
}
Validación del cliente
POST:   /api/custom/validacion
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "personalizar":false, // boolean
        "msg":"**** no esta autorizado para personalizar elementos" // string (opcional)
    }
}

Videos

Lista videos
POST:   /api/clientes/videos
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "videos":[
            {
                "video_id":*, // int
                "nombre":"****", // string
                "descripcion":"***", // string
                "url":"***" // string
                "fecha":"***" // string
            }
        ]
    }
}
Borrar video
POST:   /api/clientes/videos/borrar
Body:
{
    "token":"***********", // string
    "video_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Subir video
POST:   /api/clientes/videos/subir
Body:
{
    "token":"***********", // string
    "descripcion":"***********", // string
    "nombre":"***********", // string
    "video":* // FILE
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}

Pedidos

Lista pedidos
POST:   /api/clientes/pedidos
Body:
{
    "token":"***********", // string
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "pedidos":[
            {
                "pedido_id":*, // int
                "no_ticket":"**", // string
                "monto":"****", // string
                "fecha":"******", // string
                "status_entrega":"***", // string
                "status_pago":"***", // string
                "pendiente_pago":1|0 // int
            }
        ]
    }
}
Ticket
POST:   /api/clientes/pedidos/ticket
Body:
{
    "token":"***********", // string
    "pedido_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "pedido_id":*, // int
        "no_ticket":"****", // string
        "modo_compra":"****", // string
        "sucursal":"****", // string
        "metodo_pago":"****", // string
        "status_pago":"***" // string
        "status_entrega":"***", // string
        "monto":"****", // string
        "entrega_domicilio":1|0, // int
        "direccion_entrega":{ // (opcional)
            "calle":"****", // string
            "numero":"****", // string
            "ubicacion":"****" // string
        }
    }
}
Detalle del ticket
POST:   /api/clientes/pedidos/ticket/detalle
Body:
{
    "token":"***********", // string
    "pedido_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "productos":[
            {
                "producto_id":*, // int
                "nombre_producto":"****", // string
                "imagen":"****", // string
                "tipo":"****", // string
                "precio_unitario":"****", // string
                "nombre_custom":"****", // string
                "total":"****", // string
                "cantidad":* // int
            }
        ]
    }
}

Información

Lista de item información
POST:   /api/informacion
Body:
{
    "token":"***********", // string
    "pais_id":*, // int (opcional)
    "page":*, // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "informacion":[
            {
                "info_id":*, // int
                "nombre":"****", // string
                "url":"***", // string
                "fecha":"******", // string
            }
        ]
    }
}
Información detallada
POST:   /api/informacion/detalle
Body:
{
    "token":"***********", // string
    "info_id":*, // int 
}
Response:
{
    "status":true, // boolean
    "data":{
        "info_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "descripcion":"****", // string
        "url":"***", // string
        "fecha":"******", // string
        "pdf":"******" // string
    }
}

Genericos (Videos)

Lista videos genericos
POST:   /api/genericos/videos
Body:
{
    "token":"***********", // string
    "categoria_id":*, // int (opcional)
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "videos":[
            {
                "video_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen_principal":"***" // string
            }
        ]
    }
}
Video detalle
POST:   /api/genericos/videos/detalle
Body:
{
    "token":"***********", // string
    "video_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        {
            "video_id":*, // int
            "nombre_corto":"****", // string
            "nombre_largo":"****", // string
            "fecha":"******", // string
            "descripcion":"***", // string
            "imagen_principal":"***" // string
            "video":"***" // string
        }
    }
}

Genericos (Presentaciones)

Lista presentaciones genericas
POST:   /api/genericos/presentaciones
Body:
{
    "token":"***********", // string
    "categoria_id":*, // int (opcional)
    "pais_id":*, // int (opcional)
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "presentaciones":[
            {
                "presentacion_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Info presentacion generica
POST:   /api/genericos/presentaciones/detalle
Body:
{
    "token":"***********", // string
    "presentacion_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "presentacion_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "descripcion":"***", // string
        "imagen":"***", // string
        "pdf":"***" // string
    }
}

Genericos (Salidas de impresión)

Lista impresiones genericas
POST:   /api/genericos/impresiones
Body:
{
    "token":"***********", // string
    "pais_id":*, // int (opcional)
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "impresiones":[
            {
                "impresion_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Info impresión generica
POST:   /api/genericos/impresiones/detalle
Body:
{
    "token":"***********", // string
    "impresion_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "impresion_id":*, // int
        "producto_id":*, // int (se utiliza para el proceso de compra)
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "precio_unitario":"****", // string
        "descripcion":"***", // string
        "imagen":"***" // string
    }
}

Genericos (Promocionales)

Lista promocionales genericas
POST:   /api/genericos/promocionales
Body:
{
    "token":"***********", // string
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "promocionales":[
            {
                "promo_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Info promocional
POST:   /api/genericos/promocionales/detalle
Body:
{
    "token":"***********", // string
    "promo_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "promo_id":*, // int
        "producto_id":*, // int (se utiliza para el proceso de compra)
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "precio_unitario":"****", // string
        "descripcion":"***", // string
        "imagen":"***" // string
    }
}

Personalizables (Marcos)

Lista marcos
POST:   /api/custom/marcos
Body:
{
    "token":"***********", // string
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "marcos":[
            {
                "marco_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Información del marco
POST:   /api/custom/marcos/detalle
Body:
{
    "token":"***********", // string
    "marco_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "marco_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "descripcion":"***", // string
        "imagen":"***" // string
    }
}
Creación del marco
POST:   /api/custom/marcos/nuevo
Body:
{
    "token":"***********", // string
    "imagen":*,// FILE
    "marco_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "custom_id":*, // int
        "imagen":"***" // string
    }
}

Personalizables (Posters)

Lista posters
POST:   /api/custom/posters
Body:
{
    "token":"***********", // string
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "posters":[
            {
                "poster_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Información del poster
POST:   /api/custom/posters/detalle
Body:
{
    "token":"***********", // string
    "poster_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "poster_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "descripcion":"***", // string
        "imagen":"***" // string
    }
}
Creación del poster
POST:   /api/custom/posters/nuevo
Body:
{
    "token":"***********", // string
    "imagen":*, // FILE
    "nombre":"***********", // string
    "rango":"***********", // string
    "fecha":"***********", // string
    "hora":"***********", // string
    "lugar":"***********", // string
    "capacitacion_id":*, // int
    "poster_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "custom_id":*, // int
        "imagen":"***" // string
    }
}

Personalizables (Reconocimientos)

Lista reconocimientos
POST:   /api/custom/reconocimientos
Body:
{
    "token":"***********", // string
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "reconocimientos":[
            {
                "reconocimiento_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Información del reconocimiento
POST:   /api/custom/reconocimientos/detalle
Body:
{
    "token":"***********", // string
    "reconocimiento_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "reconocimiento_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "descripcion":"***", // string
        "precio_unitario":"****", // string
        "imagen":"***" // string
    }
}
Creación del reconocimiento
POST:   /api/custom/reconocimientos/nuevo
Body:
{
    "token":"***********", // string
    "nombre":"******", // "string"
    "reconocimiento_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "custom_id":*, // int
        "imagen":"***" // string
        "pdf":"***" // string
    }
}

Personalizables (Cheques)

Lista cheques
POST:   /api/custom/cheques
Body:
{
    "token":"***********", // string
    "pais_id":* // int (opcional)
    "page":* // int (opcional)
}
Response:
{
    "status":true, // boolean
    "data":{
        "total":*, // int
        "per_page":*, // int
        "current_page":*, // int
        "last_page":*, // int
        "cheques":[
            {
                "cheque_id":*, // int
                "nombre":"****", // string
                "fecha":"***", // string
                "imagen":"***" // string
            }
        ]
    }
}
Información del cheque
POST:   /api/custom/cheques/detalle
Body:
{
    "token":"***********", // string
    "cheque_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "cheque_id":*, // int
        "nombre_corto":"****", // string
        "nombre_largo":"****", // string
        "fecha":"***", // string
        "descripcion":"***", // string
        "precio_unitario":"****", // string
        "imagen":"***" // string
    }
}
Creación del cheque
POST:   /api/custom/cheques/nuevo
Body:
{
    "token":"***********", // string
    "nombre":"******", // "string"
    "cheque_id":* // int
}
Response:
{
    "status":true, // boolean
    "data":{
        "custom_id":*, // int
        "imagen":"***" // string
        "pdf":"***" // string
    }
}

Carrito

Calcular monto x producto
POST:   /api/carrito/producto/total
Body:
{
    "token":"***********", // string
    "producto_id":*, // int (opcional)
    "custom_id":*, // int (opcional)
    "cantidad":* // int 
}
Response:
{
    "status":true, // boolean
    "data":{
        "costo_unit_iva":"****" // string
        "total":"****" // string
    }
}
Agregar producto
POST:   /api/carrito/agregar
Body:
{
    "token":"***********", // string
    "producto_id":*, // int (opcional) 
    "custom_id":*, // int (opcional) 
    "cantidad":* // int 
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Lista productos
POST:   /api/carrito/productos
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****", //string (--Si el carrito esta vacio--)
        "subtotal":"****", // string
        "iva":"****", // string
        "total":"****", // string
        "productos":[
            {
                "producto_id":*, // int
                "custom_id":*, // int //opcional
                "nombre_producto":"****", // string
                "imagen":"****", // string
                "tipo":"****", // string
                "precio_unitario":"****", // string
                "nombre_custom":"****", // string
                "total":"****", // string
                "cantidad":* // int
            }
        ]
    }
}
Editar cantidad producto
POST:   /api/carrito/editar
Body:
{
    "token":"***********", // string
    "producto_id":*, // int (opcional) 
    "custom_id":*, // int (opcional)  
    "cantidad":* // int 
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Eliminar producto
POST:   /api/carrito/eliminar
Body:
{
    "token":"***********", // string
    "producto_id":*, // int (opcional) 
    "custom_id":* // int (opcional) 
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Lista de modos entrega
POST:   /api/carrito/modos_entrega
Body:
{
    "token":"*******" // string
}
Response:
{
    "status":true, //boolean
    "data":{
        "modos_entrega":[
            {
                "modo_entrega_id":* // int,
                "nombre": "****", // string
                "descripcion": "****" // string
            }
        ]
    }
}
Lista de sucursales
POST:   /api/carrito/sucursales
Body:
{
    "token":"*******" // string
}
Response:
{
    "status":true, //boolean
    "data":{
        "sucursales":[
            {
                "sucursal_id":* // int,
                "nombre": "****" // string
            }
        ]
    }
}
Lista de domicilios
POST:   /api/clientes/domicilios
Body:
{
    "token":"*******" // string
}
Response:
{
    "status":true, //boolean
    "data":{
        "domicilios":[
            {
                "domicilio_id":* // int,
                "calle": "****", // string
                "numero": "****", // string
                "estado": "****" // string
            }
        ]
    }
}
Detalle del domicilio
POST:   /api/clientes/domicilios/detalle
Body:
{
    "token":"*******" ,// string
    "domicilio_id":* // int
}
Response:
{
    "status":true, //boolean
    "data":{
        "domicilio_id":*, // int
        "estado_id":*, // int (opcional)
        "calle":"*******", // string 
        "colonia":"*******", // string 
        "numero_ext":"*******", // string 
        "numero_int":"*******", // string 
        "codigo_postal":"*******", // string 
        "referencias":"*******", // string 
        "receptor":"*******", // string 
        "contacto_receptor":"*******", // string 
        "tag":"*******" // string 
    }
}
Agregar domicilio
POST:   /api/clientes/domicilios/agregar
Body:
{
    "token":"*******", // string
    "estado_id":*, // int (opcional)
    "calle":"*******", // string
    "colonia":"*******", // string
    "numero_ext":"*******", // string
    "numero_int":"*******", // string (opcional)
    "codigo_postal":"*******", // string
    "referencias":"*******", // string (opcional)
    "receptor":"*******", // string (opcional)
    "contacto_receptor":"*******", // string (opcional)
    "tag":"*******" // string (opcional)
}
Response:
{
    "status":true, //boolean
    "data":{
        "msg":"*****" // string
    }
}
Editar domicilio
POST:   /api/clientes/domicilios/editar
Body:
{
    "token":"*******", // string
    "domicilio_id":*, // int
    "estado_id":*, // int (opcional)
    "calle":"*******", // string
    "colonia":"*******", // string
    "numero_ext":"*******", // string
    "numero_int":"*******", // string (opcional)
    "codigo_postal":"*******", // string
    "referencias":"*******", // string (opcional)
    "receptor":"*******", // string (opcional)
    "contacto_receptor":"*******", // string (opcional)
    "tag":"*******" // string (opcional)
}
Response:
{
    "status":true, //boolean
    "data":{
        "msg":"*****" // string
    }
}
Eliminar domicilio
POST:   /api/clientes/domicilios/eliminar
Body:
{
    "token":"*******", // string
    "domicilio_id":* // int
}
Response:
{
    "status":true, //boolean
    "data":{
        "msg":"*****" // string
    }
}
Pago en linea
POST:   /api/checkout/online
Body:
{
    "token":"*******", // string
    "modo_entrega_id":*, // int
    "sucursal_id":*, // int (opcional)
    "domicilio_id":*, // int (opcional)
    "no_tarjeta":"**", // string
    "fecha_exp":"**", // string
    "cvv":"**" // string
}
Response:
{
    "status":true, //boolean (true - orden creada  false - fallo al crear la orden) 
    "data":{
        "msg":"*****", // string
        "pedido_id":* // int (opcional)
    }
}
Pago comprobante
POST:   /api/checkout/comprobante
Body:
{
    "token":"*******", // string
    "modo_entrega_id":*, // int
    "sucursal_id":*, // int (opcional)
    "domicilio_id":* // int (opcional)
}
Response:
{
    "status":true, //boolean (true - orden creada  false - fallo al crear la orden) 
    "data":{
        "msg":"*****", // string
        "pedido_id":* // int (opcional)
    }
}
Comprobante info
POST:   /api/checkout/comprobante/informacion
Body:
{
    "token":"*******", // string
    "pedido_id":* // int
}
Response:
{
    "status":true, //boolean 
    "data":{
        "banco":"*****", // string
        "no_cuenta":"*****", // string
        "sucursal":"*****", // string
        "clabe":"*****", // string
        "no_tarjeta":"*****", // string
        "imagenes":{
            "oxxo":"****", // string
            "seven":"****", // string
            "extra":"****" // string
        }
    }
}
Adjuntar comprobante
POST:   /api/checkout/comprobante/adjuntar
Body:
{
    "token":"*******", // string
    "comprobante":* // FILE
}
Response:
{
    "status":true, //boolean 
    "data":{
        "msg":"*****" // string
    }
}

Perfil

Información del cliente
POST:   /api/clientes/perfil
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "nombre":"****", // string
        "imagen":"****", // string
        "pais":"****", // string
        "telefono":"****", // string
        "no_cliente":"****", // string
        "alias":"****", // string
    }
}
Editar imagen perfil
POST:   /api/clientes/perfil/imagen
Body:
{
    "token":"***********", // string
    "imagen":* // FILE
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Editar no. cliente
POST:   /api/clientes/perfil/no_cliente
Body:
{
    "token":"***********", // string
    "no_cliente":"****" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}
Editar alias
POST:   /api/clientes/perfil/alias
Body:
{
    "token":"***********", // string
    "alias":"****" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "msg":"****" // string
    }
}

General

Lista de paises
POST:   /api/general/paises
Body: N/A
Response:
{
    "status":true, // boolean
    "data":{
        "paises":[
            {
                "pais_id":*, // int
                "nombre":"****", // string
                "codigo":"***", // string
            }
        ]
    }
}
Lista de codigos telefonicos
POST:   /api/general/telefono/codigos
Body: N/A
Response:
{
    "status":true, // boolean
    "data":{
        "codigos":["+__","+__"]
    }
}
Lista de estados
POST:   /api/general/estados
Body: N/A
Response:
{
    "status":true, // boolean
    "data":{
        "estados":[
            {
                "estado_id":*, // int
                "nombre":"****" // string
            }
        ]
    }
}
Categorias videos (genericos)
POST:   /api/general/genericos/videos/categorias
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "categorias":[
            {
                "categoria_id":*, // int
                "nombre":"****" // string
            }
        ]
    }
}
Categorias presentaciones (genericos)
POST:   /api/general/genericos/presentaciones/categorias
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "categorias":[
            {
                "categoria_id":*, // int
                "nombre":"****" // string
            }
        ]
    }
}
Tipos de capacitación (personalizables)
POST:   /api/general/custom/tipo_capacitacion
Body:
{
    "token":"***********" // string
}
Response:
{
    "status":true, // boolean
    "data":{
        "capacitaciones":[
            {
                "capacitacion_id":*, // int
                "nombre":"****" // string
            }
        ]
    }
}