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
yHOST
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
yJWT_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
yJWT_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. |
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
yJWT_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. |
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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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
yJWT_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. |