NAV
shell

Introducción

Bienvenido a la documentación de la API del BackOffice, en la siguiente documentación se describirán los diferentes endpoints disponibles para la integración del BO con aplicaciones de terceros.

Hosts:
http://stagingmlm.disruptivestudio.com/
http://stagingmlm2.disruptivestudio.com/
http://stagingmlm3.disruptivestudio.com/

API Key:
Se genera en el BackOffice iniciando sesión como administrador: Menu > API

Autenticación

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY y HOST con los valores requeridos:

curl --location --request POST '{{HOST}}/api/v1/login/' \
--header 'x-api-key: {{API_KEY}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=orivera04' \
--data-urlencode 'password=abcd1234'

Respuesta:

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo2LCJleHAiOjE2NTgyNDkxNzN9.kM6_BqH0Ln8VAiPCm1NgKSreTKwn3yfVts8tXqMy1OM",
    "exp": "07-19-2022 16:46",
    "id": 6,
    "username": "orivera04",
    "sponsor": "admin",
    "referral_link": "wwww.demo.com/orivera04"
}

En el caso de que no se especifique la API_KEY o no sea la correcta se recibirá el siguiente mensaje de validación (403 HTTP):

{
    "error": "The API Key is not valid."
}

En el caso de que sí se especifique la API_KEY pero no el token JWT (403 HTTP):

{
    "error": "Nil JSON web token."
}

En el caso de que se ingrese un token JWT inválido (401 HTTP):

{
    "error": "Signature verification raised"
}

En el caso de que se ingrese un token JWT expirado (401 HTTP):

{
    "error": "Signature has expired"
}

En el caso de que no se ingresen los parámetros requeridos (422 HTTP):

{
    "errors": {
        "username": [
            "can't be blank"
        ],
        "password": [
            "can't be blank"
        ]
    }
}

Este endpoint nos autenticará dentro de la API, se encarga de devolver un token(JWT) el cual se deberá ingresar como header en todas las peticiones posteriores que realicemos.

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.

Parámetros del body

Parámetro Descripción
username Nombre del usuario.
password Contraseña del usuario.

Petición HTTP

POST {{HOST}}/api/v1/login/

Mensajes de validación:

Este controlador posee estas validaciones.

Operaciones de usuario

Obtener información de un usuario

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/users/7' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "first_name": "Oscar",
    "last_name": "Rivera",
    "email": "orivera@disruptivestudio.com",
    "country_code": "NI",
    "username": "orivera05",
    "mobile": "39439090",
    "default_leg": "binary_tank",
    "language": "en",
    "profile_image": "https://staging2.homescnl.com/assets/user-icon-white.svg",
    "matrix_on": false,
    "request_token_on_edit": false
}

En el caso de que brindemos un ID de usuario que no existe (404 HTTP):

{
    "error": "User not found."
}

Este endpoint sirve para retornar toda la información de un usuario tendremos que especificar el ID de este.

Petición HTTP

GET {{HOST}}/api/v1/users/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
id El id del usuario del cual se obtendrá la información.








Mensajes de validación:

Este controlador posee estas validaciones.

Crear usuario

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request POST '{{HOST}}/api/v1/users/' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'sponsor=admin' \
--data-urlencode 'first_name=Oscar Danilo' \
--data-urlencode 'last_name=Rivera Moreira' \
--data-urlencode 'email=riveramoreira05@gmail.com' \
--data-urlencode 'user_name=orivera11' \
--data-urlencode 'mobile=87501549' \
--data-urlencode 'password=abcd1234' \
--data-urlencode 'country_code=US'

Respuesta:

{
    "message": "User created successfully."
}

Este endpoint sirve para crear un usuario nuevo en la aplicación, en el campo sponsor podemos usar el que devuelve la petición de autenticación.

Petición HTTP

POST {{HOST}}/api/v1/users/

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros del body

Parámetro Descripción
sponsor Sponsor del usuario que será creado.
first_name Nombres del usuario.
last_name Apellidos del usuario.
email Correo electronico del usuario.
user_name Nombre de usuario que tendrá este.
mobile Telefono del usuario.
password Contraseña del usuario.
country_code País del usuario.

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que brindemos algun campo con un formato incorrecto (400 HTTP):

{
    "error": "The data is invalid.",
    "details": {
        "user_name": [
            "has already been taken"
        ],
        "email": [
            "has already been taken"
        ],
        "country_code": [
            "is not included in the list"
        ]
    }
}

En el caso de que no se ingresen los parámetros requeridos (422 HTTP):

{
    "errors": {
        "sponsor": [
            "can't be blank"
        ],
        "first_name": [
            "can't be blank"
        ],
        "last_name": [
            "can't be blank"
        ],
        "email": [
            "can't be blank"
        ],
        "user_name": [
            "can't be blank"
        ],
        "mobile": [
            "can't be blank"
        ],
        "password": [
            "can't be blank"
        ],
        "country_code": [
            "can't be blank"
        ]
    }
}

Editar usuario

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request PUT '{{HOST}}/api/v1/users/8' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}' \
--form 'first_name="Yubelkis"' \
--form 'last_name="Rivera"' \
--form 'email="sdasdsa@gma.com"' \
--form 'locale="US"' \
--form 'mobile="88888888"' \
--form 'default_leg="left"' \
--form 'language="enasdsadsdsa"' \
--form 'profile_image=@"/home/orivera04/Imágenes/Fondos de escritorio/francesco-ungaro-ZDriZvoHeKk-unsplash.jpg"' \
--form 'country_code="US"' \
--form 'password="abcd1234"' \
--form 'token="eb35dcf5215545452eef"'

Respuesta:

{
    "message": "User updated successfully."
}

Este endpoint sirve actualizar un usuario, como detalle en el caso de que la configuración de Token se encuentre actíva en el BackOffice debemos suministrar en el body un campo token, no es necesario suministrar todos los parámetros.

Petición HTTP

PUT {{HOST}}/api/v1/users/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
id El id del usuario a actualizar.

Parámetros del body

Parámetro Descripción
first_name Nombres del usuario.
last_name Apellidos del usuario.
email Correo electrónico del usuario.
locale Idioma del usuario.
mobile Teléfono del usuario.
default_leg Pierna por defecto del usuario.
country_code País del usuario.
password Nueva contraseña del usuario.
token Token requerido para hacer la operación (Si esta activo).
profile_image Imagen del usuario (Enviar como binario).

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que este activo el token en el edit profile desde los settings de la aplicación y no se mande el token en la petición (400 HTTP):

{
    "error": "Security token validation failed.",
    "detail": "Token is not valid!"
}

En el caso de que brindemos algún campo con un formato incorrecto (400 HTTP):

{
    "error": "The data is invalid.",
    "details": {
        "user_name": [
            "has already been taken"
        ],
        "email": [
            "has already been taken"
        ],
        "country_code": [
            "is not included in the list"
        ]
    }
}

CryptoCurrencies Cashout

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/cryptocurrency_cashouts' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
      {
        "id": 470,
        "name": "USDT"
      }
    ]
}

Este endpoint retorna todas las monedas disponibles para cashout.

Petición HTTP

GET {{HOST}}/api/v1/cryptocurrency_cashouts

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Legs

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/legs' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": "left",
            "name": "Left"
        },
        {
            "id": "right",
            "name": "Right"
        },
        {
            "id": "binary_tank",
            "name": "Binary tank"
        },
        {
            "id": "balanced",
            "name": "Balanced"
        }
    ]
}

Este endpoint retorna todas las legs disponibles para posicionamiento en los usuarios.

Petición HTTP

GET {{HOST}}/api/v1/legs

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Locales

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/locales' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": "en",
            "name": "English",
            "image": "https://flagcdn.com/48x36/us.png"
        },
        {
            "id": "es",
            "name": "Español",
            "image": "https://flagcdn.com/48x36/es.png"
        },
        {
            "id": "ko",
            "name": "Korean",
            "image": "https://flagcdn.com/48x36/kr.png"
        },
        {
            "id": "zhCN",
            "name": "Chinese",
            "image": "https://flagcdn.com/48x36/cn.png"
        },
        {
            "id": "vi",
            "name": "Vietnamese",
            "image": "https://flagcdn.com/48x36/vn.png"
        },
        {
            "id": "ja",
            "name": "Japan",
            "image": "https://flagcdn.com/48x36/jp.png"
        },
        {
            "id": "zhHK",
            "name": "Mandarin (Taiwan, Hong Kong)",
            "image": "https://flagcdn.com/48x36/tw.png"
        },
        {
            "id": "ms",
            "name": "Malay (Malaysia)",
            "image": "https://flagcdn.com/48x36/my.png"
        },
        {
            "id": "km",
            "name": "Khmer (Cambodia)",
            "image": "https://flagcdn.com/48x36/kh.png"
        },
        {
            "id": "ph",
            "name": "Philippines",
            "image": "https://flagcdn.com/48x36/ph.png"
        }
    ]
}

Este endpoint retorna todos los idiomas disponibles.

Petición HTTP

GET {{HOST}}/api/v1/locales

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Countries

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/countries' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": "NZ",
            "name": "New Zealand"
        },
        {
            "id": "CK",
            "name": "Cook Islands"
        },
        {
            "id": "NU",
            "name": "Niue"
        },
        {
            "id": "PN",
            "name": "Pitcairn"
        }
    ]
}

Este endpoint retorna todos los países disponibles.

Petición HTTP

GET {{HOST}}/api/v1/countries

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Tokens

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request POST '{{HOST}}/api/v1/tokens' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'user_id=3'

Respuesta:

{
    "message": "A token was sent to you email. It expires in 1 hour."
}

Este endpoint permite solicitar un token para un usuario en concreto el cual permite realizar operaciones tales como editar un usuario.

Petición HTTP

POST {{HOST}}/api/v1/tokens

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros del body

Parámetro Descripción
user_id ID del usuario para el cual se generará un token.

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "error": "User not found."
}

Dashboard

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/dashboards/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "wallets": [
        {
            "name": "Lifetime Earning",
            "amount": "0.0"
        },
        {
            "name": "Mining",
            "amount": "0.0"
        },
        {
            "name": "Credit (crypto)",
            "amount": "0.0"
        },
        {
            "name": "Reserve",
            "amount": "0.0"
        },
        {
            "name": "Commissions",
            "amount": "0.0"
        }
    ],
    "matrix_dimensions": "3 / 3",
    "permanent_mising": "0.0",
    "temporal_mising": "0.0",
    "matrix_pending_directs": null,
    "team_growth_chart": {
        "dates": [
            "2022-07-11",
            "2022-07-12",
            "2022-07-13",
            "2022-07-14",
            "2022-07-15",
            "2022-07-16",
            "2022-07-17",
            "2022-07-18"
        ],
        "users": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ]
    },
    "top_leaders": [],
    "traffic_funnel": [],
    "efficiency_funnel": [],
    "popular_countries": [
        {
            "country": "United States",
            "number": 6,
            "image": "https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/1x1/us.svg"
        },
        {
            "country": "Nicaragua",
            "number": 2,
            "image": "https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.6/flags/1x1/ni.svg"
        }
    ]
}

Este endpoint devuelve la información del dashboard de un usuario en concreto.

Petición HTTP

GET {{HOST}}/api/v1/dashboards/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrá el dashboard.




















































































Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "error": "User not found."
}

Notices

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/notices/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "general_notices": [
        {
            "id": 1,
            "title": "General",
            "content": "Esta es una notificación general"
        }
    ],
    "user_notices": [],
    "plan_notices": [
        {
            "id": 2,
            "title": "Notice por Plan",
            "content": "Notice por plan."
        }
    ]
}

Este endpoint devuelve la información de las notificaciones de un usuario en concreto.

Petición HTTP

GET {{HOST}}/api/v1/notices/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrán sus notificaciones.










Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "error": "User not found."
}

Products

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/products/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "plans": [
        {
            "id": 7,
            "plan": "Free Plan",
            "image": "https://staging2.homescnl.com/uploads/plan/plan_image/1/plan.png",
            "price": 0.0,
            "currency": "USD"
        }
    ]
}

Este endpoint devuelve los productos que tiene un usuario.

Petición HTTP

GET {{HOST}}/api/v1/products/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrán sus productos.




Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "error": "User not found."
}

TeamView

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/teamviews/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "teamview": [
        {
            "user": {
                "id": 54,
                "username": "orivera11",
                "first_name": "Yubelkis",
                "last_name": "Rivera",
                "email": "sdasdsa@gma.com",
                "level": 1,
                "plan": "Free Plan",
                "image_url": "http://localhost:3366/assets/user-icon-white.svg"
            },
            "childs": []
        },
        {
            "user": {
                "id": 56,
                "username": "orivera05",
                "first_name": "Oscar",
                "last_name": "Rivera",
                "email": "orivera@disruptivestudio.com",
                "level": 1,
                "plan": "Free Plan",
                "image_url": "http://localhost:3366/assets/user-icon-white.svg"
            },
            "childs": []
        },
        {
            "user": {
                "id": 57,
                "username": "orivera04",
                "first_name": "Oscar",
                "last_name": "Rivera",
                "email": "riveramoreira04@gmail.com",
                "level": 1,
                "plan": "Entrepreneur",
                "image_url": "http://localhost:3366/assets/user-icon-white.svg"
            },
            "childs": []
        }
    ]
}

Este endpoint devuelve los miembros del teamview del arbol unilevel de un usuario.

Petición HTTP

GET {{HOST}}/api/v1/teamviews/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrá el teamview.































Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "errors": {
        "user_id": [
            "user_id doesn't exist."
        ]
    }
}

Matrixs

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/matrixs/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "matrix": {
        "user": {
            "id": 43,
            "usernname": "aaglobal",
            "plan": "Club VIP",
            "image": "http://localhost:3366/assets/user-icon-white.svg",
            "level": 0
        },
        "child_left": {
            "user": {
                "id": 45,
                "usernname": "elrey",
                "plan": "Star 3",
                "image": "http://localhost:3366/assets/user-icon-white.svg",
                "level": 1
            },
            "child_left": {
                "user": {
                    "id": 49,
                    "usernname": "nftmaster",
                    "plan": "Star 4",
                    "image": "http://localhost:3366/assets/user-icon-white.svg",
                    "level": 2
                },
                "child_left": {},
                "child_center": {},
                "child_right": {},
                "last_node": true
            }
    }
}

Este endpoint devuelve los miembros de la matriz de un usuario.

Petición HTTP

GET {{HOST}}/api/v1/matrixs/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrá la matriz.































Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "errors": {
        "user_id": [
            "user_id doesn't exist."
        ]
    }
}

Category Resources

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/category_resources' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": 1,
            "title": "Photos",
            "icon": "fas fa-file-image"
        },
        {
            "id": 2,
            "title": "Videos",
            "icon": "fas fa-file-video"
        },
        {
            "id": 3,
            "title": "Files",
            "icon": "fas fa-file-alt"
        },
        {
            "id": 4,
            "title": "Presentations",
            "icon": "fas fa-file-powerpoint"
        },
        {
            "id": 5,
            "title": "PDFs",
            "icon": "fas fa-file-pdf"
        },
        {
            "id": 6,
            "title": "Documents",
            "icon": "fas fa-file-word"
        },
        {
            "id": 7,
            "title": "Spreadsheets",
            "icon": "fas fa-file-excel"
        }
    ]
}

Este endpoint devuelve las categorías de recursos disponibles.

Petición HTTP

GET {{HOST}}/api/v1/category_resources

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Resources

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/resources/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": 1,
            "title": "Disruptive Logo",
            "description": "Test.",
            "video": "",
            "file": "https://dev-bitsyte.s3.us-west-2.amazonaws.com/homescnl/resources/5dc4a668-a88c-46e9-9296-4b044107a7ce_logo_horizontal_dark.svg"
        }
    ]
}

Este endpoint devuelve los recursos de una categoría.

Petición HTTP

GET {{HOST}}/api/v1/resources/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID de la categoría del cual se obtendrán los recursos.

Operaciones de tickets

Obtener Tickets de un usuario

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/user_tickets/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": 1,
            "subject": "Ticket ",
            "created_at": "2022-07-18T12:10:58.148-07:00",
            "status": "New"
        }
    ]
}

Este endpoint devuelve los tickets de un usuario.

Petición HTTP

GET {{HOST}}/api/v1/user_tickets/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del usuario del cual se obtendrán sus tickets.

Crear ticket a un usuario

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request POST '{{HOST}}/api/v1/user_tickets' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'user_id=8' \
--data-urlencode 'subject=Problemas APP' \
--data-urlencode 'comment=Tengo problemas con el cashout.'

Respuesta:

{
    "message": "Ticket created successfully."
}

Este endpoint permite crear un ticket a un usuario.

Petición HTTP

POST {{HOST}}/api/v1/user_tickets

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros del body

Parámetro Descripción
user_id ID del usuario el cual esta creando un ticket.
subject Titulo del ticket.
comment Comentario del ticket.

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que el usuario suministrado en la url no exista (HTTP 404):

{
    "errors": {
        "user_id": [
            "user_id doesn't exist."
        ]
    }
}

En el caso de que no se brinde algun parámetro requerdio (HTTP 404):

{
    "errors": {
        "user_id": [
            "can't be blank",
            "user_id doesn't exist."
        ],
        "subject": [
            "can't be blank"
        ],
        "comment": [
            "can't be blank"
        ]
    }
}

Operaciones de threads

Obtener threads de un ticket

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/threads/{{ID}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": 1,
            "content": "<div>Tengo dudas del cashout.</div>",
            "created_at": "2022-07-18T12:10:58.173-07:00"
        }
    ]
}

Este endpoint devuelve los hilos de conversación de un ticket.

Petición HTTP

GET {{HOST}}/api/v1/threads/{{ID}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
ID ID del ticket del cual se obtendrán los mensajes de un ticket.

Crear thread a un ticket

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request POST '{{HOST}}/api/v1/threads' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'ticket_id=1162' \
--data-urlencode 'content=test'

Respuesta:

{
    "message": "Ticket thread created successfully."
}

Este endpoint permite crear una respuesta a un ticket de un usuario.

Petición HTTP

POST {{HOST}}/api/v1/threads

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros del body

Parámetro Descripción
ticket_id ID del ticket.
content Mensaje que sera añadido.

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que brindemos el id de un ticket que no existe:

{
    "errors": {
        "ticket_id": [
            "ticket_id doesn't exist."
        ]
    }
}

En el caso de que no suministremos algun parámetro requerido:

{
    "errors": {
        "ticket_id": [
            "can't be blank",
            "ticket_id doesn't exist."
        ],
        "content": [
            "can't be blank"
        ]
    }
}

Operaciones de wallets

Obtener transacciones de una wallet

Puedes usar este comando curl para pruebas, asegúrate de reemplazar las variables API_KEY, HOST y JWT_TOKEN con los valores requeridos:

curl --location --request GET '{{HOST}}/api/v1/wallets/{{WALLET_ID}}?user_id={{USER_ID}}&page={{PAGE}}' \
--header 'x-api-key: {{API_KEY}}' \
--header 'jwt-token: {{JWT_TOKEN}}'

Respuesta:

{
    "list": [
        {
            "id": 1,
            "amount": "10000.0",
            "balance": "10000.0",
            "description": "ABCD",
            "date": "2022-07-15T16:51:28.423-07:00"
        },
        {
            "id": 2,
            "amount": "-50.0",
            "balance": "9950.0",
            "description": "Sponsored Plan - Entrepreneur",
            "date": "2022-07-15T16:52:10.295-07:00"
        },
        {
            "id": 3,
            "amount": "0.0",
            "balance": "9950.0",
            "description": "Sponsored Plan - Free Plan",
            "date": "2022-07-17T16:16:33.272-07:00"
        }
    ],
    "total_pages": 1,
    "current_page": 1
}

Este endpoint devuelve todas las transacciones de una wallet, se tiene que dar el id del usuario, el id de la wallet y el número de página, cada página tiene 30 registros.

Petición HTTP

GET {{HOST}}/api/v1/wallets/{{WALLET_ID}}?user_id={{USER_ID}}&page={{PAGE}}

Headers

Parámetro Descripción
x-api-key Llave para ultilizar la API.
jwt-token Token que indica que el usuario esta autenticado en la API.

Parámetros de la URL

Parámetro Descripción
WALLET_ID ID de la wallet de la cual se consultará los saldos.
USER_ID ID del usuario del cual se consultará en su wallet cuanto saldo tiene.
PAGE Número de página (Cada página tiene 30 registros).

Mensajes de validación:

Este controlador posee estas validaciones.

En el caso de que no suministremos algun parámetro requerido:

{
    "errors": {
        "user_id": [
            "can't be blank"
        ],
        "page": [
            "can't be blank",
            "is not a number"
        ]
    }
}

Errores

La api tiene los siguientes códigos de errores:

Código de error Significado
400 Bad Request – Tu petición no tiene los párametros correctos.
401 Unauthorized – El token JWT no es válido.
403 Forbidden – Tu API key no es válida.
404 Not Found – El recurso no existe o el método no esta implementado.
500 Internal Server Error – Error interno de la aplicación.