Skip to content

Gestión de Referidos

Este módulo permite gestionar el sistema de referidos y licencias, incluyendo la solicitud, confirmación, consulta y cancelación de licencias de referidos.

POST /api/v1/referral/request-licence

Permite solicitar una nueva licencia de referido.

Accept: application/json
Authorization: Bearer {token}
Content-Type: application/json
{
"plan_code": "REFERIDO--11",
"new_amount": "30.00",
"transaction_bank": "BANCO_PICHINCHA",
"payment_method": "transaction",
"count_allow": 1,
"file": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."
}
CampoTipoRequeridoDescripción
plan_codestringCódigo del plan de referido
new_amountstringNuevo monto para la licencia
transaction_bankstringCondicionalBanco para transferencia (requerido si payment_method es “transaction”)
payment_methodstringMétodo de pago: “transaction”, “card”, “crypto”
count_allowintegerNúmero de activaciones permitidas
filestringCondicionalComprobante en base64 (requerido para transferencias)
Terminal window
curl -X POST "https://dev-facturacion.e-dinky.test/api/v1/referral/request-licence" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"plan_code": "REFERIDO--11",
"new_amount": "30.00",
"transaction_bank": "BANCO_PICHINCHA",
"payment_method": "transaction",
"count_allow": 1,
"file": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."
}'
{
"message": "Solicitud de licencia creada exitosamente",
"status": "OK",
"payload": {
"licence_code": null,
"transaction_code": "TXN_20250717_6879768E59368",
"email": null,
"count_activations": 0,
"count_allow": 1,
"original_total": "23.00",
"new_total": "0.00",
"new_amount": "30.00",
"original_amount": "23.00",
"payment_method": "transaction",
"status": "processing",
"message": "Transferencia bancaria pendiente de verificación",
"expired_at": null,
"approved_at": null,
"anulled_at": null,
"destroy_at": null,
"reprocessed_attempts": 0,
"reprocessed_at": null,
"is_approved": false,
"is_anulled": false,
"is_destroyed": false,
"is_expired": false,
"created_at": "2025-07-17 17:17:50",
"id": 1783700761
}
}
{
"message": "Plan no encontrado",
"status": "NOT_FOUND",
"payload": null
}

POST /api/v1/referral/confirm-licence

Permite confirmar una licencia de referido previamente solicitada.

Accept: application/json
Authorization: Bearer {token}
Content-Type: application/json
{
"transaction_code": "TXN_20250717_6879768E59368",
"uuid": "550e8400-e29b-41d4-a716-446655440000"
}
CampoTipoRequeridoDescripción
transaction_codestringCódigo de transacción de la licencia
uuidstringUUID único para la confirmación
Terminal window
curl -X POST "https://dev-facturacion.e-dinky.test/api/v1/referral/confirm-licence" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transaction_code": "TXN_20250717_6879768E59368",
"uuid": "550e8400-e29b-41d4-a716-446655440000"
}'
{
"message": "Licencia con código TXN_20250717_6879768E59368 no encontrada",
"status": "NOT_FOUND",
"payload": null
}

GET /api/v1/referral/licences

Obtiene todas las licencias de referidos del usuario autenticado.

Accept: application/json
Authorization: Bearer {token}
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/referral/licences" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"message": "Licencias obtenidas exitosamente",
"status": "OK",
"payload": {
"items": [
{
"licence_code": null,
"transaction_code": "TXN_20250717_6879768E59368",
"email": null,
"count_activations": 0,
"count_allow": 1,
"original_total": "23.00",
"new_total": "0.00",
"new_amount": "30.00",
"original_amount": "23.00",
"payment_method": "transaction",
"status": "processing",
"message": "Transferencia bancaria pendiente de verificación",
"expired_at": null,
"approved_at": null,
"anulled_at": null,
"destroy_at": null,
"reprocessed_attempts": 0,
"reprocessed_at": null,
"is_approved": false,
"is_anulled": false,
"is_destroyed": false,
"is_expired": false,
"created_at": "2025-07-17 17:17:50",
"id": 1783700761,
"plan_id": 1945886872,
"creator_user_id": null,
"creator_company_id": 61247344,
"beneficiary_user_id": null,
"beneficiary_company_id": null,
"approved_by": null,
"destroy_by": null,
"creator_company": {
"id": 61247344,
"company_name": "EDWARD REYES",
"company_ruc": "0952615177001"
},
"plan": {
"subject": "Plan referido",
"code": "REFERIDO--11",
"description": "adsfd dsfdv",
"price": "23.00",
"color": "#256e6e",
"order": 1,
"status": "draft",
"free_acc": 0,
"periodicity_type": null,
"periodicity_lang": "lang.periodicityType.",
"periodicity_singular": "lang.periodicitytype.",
"periodicity": null
}
}
],
"count_items": 3,
"current_page": 1,
"number_paginate": 25,
"last_page": 1
}
}

GET /api/v1/referral/licences/show/{transaction_code}

Obtiene los detalles de una licencia específica por su código de transacción.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
transaction_codestringCódigo de transacción de la licencia
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/referral/licences/show/TXN_20250717_6879768E59368" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"

POST /api/v1/referral/cancel-licence/{transaction_code}

Cancela una licencia de referido específica.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
transaction_codestringCódigo de transacción de la licencia a cancelar
Terminal window
curl -X POST "https://dev-facturacion.e-dinky.test/api/v1/referral/cancel-licence/CARD_687981159968F" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
{
"message": "Licencia eliminada exitosamente",
"status": "OK",
"payload": {
"licence_code": "c94ac72c-5032-42bc-8e42-8ac866c2482d",
"transaction_code": "CARD_687981159968F",
"email": null,
"count_activations": 0,
"count_allow": 1,
"original_total": "23.00",
"new_total": "0.00",
"new_amount": "30.00",
"original_amount": "23.00",
"payment_method": "card",
"status": "destroy",
"message": "Licencia aprobada",
"expired_at": null,
"approved_at": "2025-07-18 18:29:24",
"anulled_at": null,
"destroy_at": "2025-07-18 18:29:35",
"reprocessed_attempts": 0,
"reprocessed_at": null,
"is_approved": true,
"is_anulled": false,
"is_destroyed": true,
"is_expired": false,
"created_at": "2025-07-17 18:02:45",
"id": 968767947,
"plan_id": 1945886872,
"creator_user_id": 1783700761,
"creator_company_id": 61247344,
"beneficiary_user_id": null,
"beneficiary_company_id": null,
"approved_by": 1783700761,
"destroy_by": 1783700761
}
}
EstadoDescripción
processingLicencia en proceso de verificación
approvedLicencia aprobada y activa
anulledLicencia anulada
destroyLicencia eliminada
expiredLicencia expirada
MétodoCódigoDescripción
Transferencia BancariatransactionPago mediante transferencia bancaria
Tarjeta de Crédito/DébitocardPago con tarjeta
CriptomonedacryptoPago con criptomonedas
CódigoDescripción
200Operación exitosa
201Recurso creado exitosamente
404Recurso no encontrado
422Datos de entrada inválidos
401No autorizado
500Error interno del servidor
  • Autenticación: Todos los endpoints requieren un token Bearer válido
  • Formato de Archivo: Los comprobantes deben enviarse en formato base64 con el prefijo del tipo MIME
  • Validación de Planes: El código del plan debe existir y estar activo
  • Límites de Activación: Cada licencia tiene un límite de activaciones definido en count_allow
  • Seguimiento: Todas las operaciones quedan registradas con timestamps
  • Estados Booleanos: Se utilizan flags como is_approved, is_anulled, is_destroyed, is_expired para el control de estado