NAV Navbar
shell
  • Generalidades
  • Autenticación
  • Users
  • Balances
  • Currencies
  • Balance Tracking
  • Depth
  • Markets
  • Orders
  • Transactions
  • Settings
  • Ticker
  • Generalidades

    Acceso a la API

    Ejemplo de petición con cabecera de autenticación:

    # Retorna el nivel de validación máximo que tiene el usuario.
    curl "http://localhost:8000/users/profile/max-level/"
    -H "Authorization: Token 53613bad306e076c682178f86a56655b0904ab30"
    

    Algunos recursos en la plataforma de Panda Exchange requieren autenticación para poder trabajar sobre ellos, para esto es necesario tener un token de autenticación. Ver Autenticación.

    Al tener un token de autenticación se debe agregar a la cabecera de cada petición de la siguiente manera:

    Authorization: Token {token}

    Formato de respuesta

    # Obtiene la lista de paises en los cuáles Panda Exchange opera
    curl "http://localhost:8000/countries/"
    

    Esta consulta obtendrá una respuesta similar a esta:

    [
       {
          "code" : "IC",
          "name" : "International"
       },
       {
          "code" : "CO",
          "name" : "Colombia"
       },
       {
          "code" : "VE",
          "name" : "Venezuela"
       }
    ]
    

    Si por el contrario se especifica una cabecera Accept que no sea application/json:

    # Obtiene la lista de paises en los cuáles Panda Exchange opera
    curl "http://localhost:8000/countries/" -H "Accept: text/html"
    

    La consulta obtendrá una respuesta de error similar a esta:

    {
        "status_code": 406,
        "errors": [
            {
                "field": "None",
                "message": "Could not satisfy the request Accept header.",
                "code": "3017"
            }
        ]
    }
    

    Las respuestas de la API, por ahora, siempre vendrán en formato JSON. Por lo tanto no será necesario especificar el formato de respuesta en la cabecera Accept de la consulta, si aún así especifica un formato que no sea aplication/json entonces el API responderá con un mensaje indicando que el formato no es aceptado.

    Respuesta exitosa

    Cuando una respuesta sea exitosa se obtendrá un JSON válido con la información solicitada. No hay un formato específico para una respuesta exitosa, todo dependerá de la consulta realizada y los filtros que puedan aplicarse.

    El código de estado http dependerá del método usado para la consulta. Ver códigos de respuesta http.

    Respuesta de error

    Tomemos de ejemplo el siguiente caso

    # Crea un nuevo depósito en la plataforma
    curl -X POST "http://localhost:8000/transactions/deposit/" 
    -H "Authorization: Token a8f2f76420676583a738978fa5fb889025819382"
    -F "currency=CURRENCY"
    

    La respuesta de error será la siguiente:

    {
        "status_code": 400,
        "errors": [
            {
                "field": "currency",
                "message": "Not valid currency.",
                "code": 2002
            }
        ]
    }
    

    Cuando la API no pueda procesar la consulta correctamente entonces responderá con un mensaje de error. Los mensajes de error tienen un formato bien definido que permiten manejarlos y entenderlos facilmente.

    Todos los mensajes de error tienen la misma estructura JSON descrita a continuación:

    Cada item dentro de errors consta de:

    Cuando una respuesta de error no involucra un campo específico entonces el campo field tendrá el valor None, así:

    # Obtiene la lista de paises en los cuáles Panda Exchange opera
    curl "http://localhost:8000/countries/" -H "Accept: text/html"
    

    La consulta obtendrá una respuesta de error similar a esta:

    {
        "status_code": 406,
        "errors": [
            {
                "field": "None",
                "message": "Could not satisfy the request Accept header.",
                "code": "3017"
            }
        ]
    }
    

    Códigos de estado HTTP

    La API de Panda Exchange trata en todo lo posible de ser coherente con los códigos de estado HTTP, por lo que mantiene su significado original para el que fueron creados.

    A continuación puedes ver un listado de los códigos de estado HTTP más comunes que encontrarás en nuestra API.

    Código Significado
    200 OK -- Es la respuesta estándar para peticiones de tipo GET y OPTIONS.
    201 Created -- Es la respuesta estándar para peticiones de tipo POST que crean un nuevo recurso en la API de Panda Exchange
    204 No Content -- Es la respuesta estándar para peticiones de tipo DELETE.
    400 Bad Request -- Es la respuesta estándar para una petición inválida.
    401 Unauthorized -- Es la respuesta estándar cuando un recurso no es público y solo permite ser accedido por usuarios con privilegios suficientes. Generalmente se trata de que el usuario no tiene un token válido.
    403 Forbidden -- Es la respuesta estándar cuando un recurso es denegado para un usuario, así el usuario se encuentre autenticado.
    404 Not Found -- Es la respuesta estándar cuando un recurso no se puede encontrar en el servidor.
    405 Method Not Allowed -- Es la respuesta estándar cuando se intenta acceder a un recurso con un método HTTP no permitido.
    406 Not Acceptable -- Es la respuesta estándar cuando se hace una petición con la cabecera Accept distinta de application/json.
    413 Request Entity Too Large -- La petición del navegador es demasiado grande y por ese motivo el servidor no la procesa.
    500 Internal Server Error -- Es la respuesta estándar cuando ocurre un problema en el servidor y no puede ser solventado por el usuario.

    Métodos HTTP permitidos.

    Método Uso
    OPTIONS Permite obtener un listado de los métodos HTTP aceptados por un recurso.
    GET Usado para consultar un recurso, es de solo lectura.
    POST Usado para crear un nuevo recurso en el servidor.
    PUT Usado para modificar un recurso en el servidor.
    DELETE Usado para borrar un recurso del servidor.

    Códigos de error Panda Exchange

    Ejemplo de error 2001 required

    # Obtiene el token de autenticación
    curl -X POST "http://localhost:8000/auth-token/"
    

    La respuesta de error será la siguiente:

    {
       "status_code" : 400,
       "errors" : [
          {
             "code" : 2001,
             "message" : "This field is required.",
             "field" : "password"
          },
          {
             "field" : "email",
             "message" : "This field is required.",
             "code" : 2001
          }
       ]
    }
    

    Ejemplo de error 2002 invalid

    # Obtiene el token de autenticación
    curl -X POST "http://localhost:8000/auth-token/" -F "email=12334" -F "password=1234"
    

    La respuesta de error será la siguiente:

    {
        "status_code": 400,
        "errors": [
            {
                "field": "email",
                "message": "Enter a valid email address.",
                "code": 2002
            }
        ]
    }
    

    Ejemplo de error 2004 blank

    # Obtiene el token de autenticación
    curl -X POST "http://localhost:8000/auth-token/" -F "email=user@email.com" -F "password= "
    

    La respuesta de error será la siguiente:

    {
        "status_code": 400,
        "errors": [
            {
                "field": "password",
                "message": "This field may not be blank.",
                "code": 2004
            }
        ]
    }
    

    Ejemplo de error 2010 disabled

    # Obtiene el token de autenticación
    curl -X POST "http://localhost:8000/auth-token/" -F "email=user.disabled@email.com" 
    -F "password=12345"
    

    La respuesta de error será la siguiente:

    {
        "status_code": 400,
        "errors": [
            {
                "field": "email",
                "message": "User account is disabled.",
                "code": 2010
            }
        ]
    }
    

    Ejemplo de error 3001 authentication_failed

    # Obtiene el token de autenticación
    curl -X POST "http://localhost:8000/auth-token/" -F "email=user.valid@email.com" 
    -F "password=12345"
    

    La respuesta de error será la siguiente:

    {
        "status_code": 400,
        "errors": [
            {
                "field": "None",
                "message": "Unable to log in with provided credentials.",
                "code": 3001
            }
        ]
    }
    

    Ejemplo de error 3003 not_authenticated

    # Retorna el nivel de validación máximo que tiene el usuario.
    curl "http://localhost:8000/users/profile/max-level/"
    

    La respuesta de error será la siguiente:

    {
        "status_code": 401,
        "errors": [
            {
                "field": "None",
                "message": "Authentication credentials were not provided.",
                "code": 3003
            }
        ]
    }
    
    Código Significado
    2001 required -- Generalmente indica que un campo (field) es requerido.
    2002 invalid - Indica que una petición es inválida, sucede generalmente cuando un campo tiene un valor inválido.
    2003 null -- La petición contiene valores nulos, sucede generalmente cuando un campo tiene el valor nulo.
    2004 blank -- La petición contiene valores en blanco, sucede generalmente cuando un campo tiene uno o varios espacios en blanco únicamente.
    2005 min_length -- Generalmente indica que el valor deun campo no contiene el mínimo de caracteres.
    2006 max_length -- Generalmente indica que el valor de un campo sobrepasa el máximo de caracteres.
    2007 min_value -- Generalmente indica que el valor (numerico) de un campo es menor al mínimo permitido.
    2008 max_value -- Generalmente indica que el valor (numerico) de un campo es mayor al máximo permitido.
    2009 does_not_exist -- Indica que un recurso no existe en el servidor.
    2010 disabled -- Indica que un recurso está deshabilitado o no activo.
    2011 already_exists -- Indica que un recurso ya existe.
    2012 already_validate -- Indica que un recurso ya fue validado.
    2013 unique -- Generalmente indica que el valor de un campo debe ser único.
    2014 maintenance -- Indica que el recurso se encuentra en mantenimiento.
    3001 authentication_failed -- Indica que la petición de autenticación falló.
    3002 not_found -- Indica que un recurso no pudo ser encontrado
    3003 not_authenticated -- Indica que el usuario que realiza la petición no se encuentra autenticado.
    3004 unknown_error -- Indica que ocurrió un error desconocido en el servidor.
    3014 method_not_allowed -- El método HTTP usado para la petición no está permitido.
    3015 user_already_token -- El usuario ya tiene un token activo y no podrá solicitar otro token hasta que el actual termine.
    3016 invalid_phone_number -- El número telefónico no es un número válido.
    3017 not_aceptable -- Indica que se hizo una petición con la cabecera Accept distinta de application/json.
    3018 incorrect_type -- Indica que un tipo de dato es incorrecto.
    3021 ip_not_in_white_list -- Indica que una dirección IP no está en la lista de IP's validadas del usuario.
    3022 user_has_not_enough_validation_lvl -- Indica que el usuario no tiene suficente nivel de validación.

    Autenticación

    En general los recursos en Panda Exchange están disponibles a usuarios con credenciales dentro de la plataforma, por lo que en la mayoría de los casos es necesaria la autenticación. Panda Exchange usa un tipo de autenticación por token, para obtener ese token el usuario debe solicitarlo a la plataforma usando su usuario y contraseña.

    Solicitud de token privado

    En caso de necesitar un Token para desarrollo puedes obtenerlo de manera sencilla solicitándolo en tu cuenta en Panda Exchange, allí podrás configurar el Token para que tenga ciertos permisos como sólo lectura, solo escritura y un tiempo de duración, entre otros.

    Users

    Logout

    Permite desconectar del API al usuario que está realizando la petición.

    Petición HTTP

    GET /users/logout/

    Parámetros

    No tiene parámetros.

    Respuesta exitosa

    Parámetro Tipo Descripción
    success String Mensaje que indica que el usuario salió de la plataforma.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Token activo

    Permite saber si un usuario (token) está activo en la plataforma.

    Petición HTTP

    POST /users/is-login/

    Parámetros

    Parámetro Tipo Descripción
    token String El token que se desea consultar.

    Respuesta exitosa

    Parámetro Tipo Descripción
    is_login Boolean True el token está activo, False el token no está activo.

    Respuesta con error

    Código Tipo
    2001 required

    Level del usuario

    Retorna el nivel de validación que tiene actualmente el usuario en el país que está consultando.

    Level del usuario

    # Retorna el nivel de validación que tiene actualmente
    # el usuario en el país que está consultando.
    curl "http://localhost:8000/users/profile/current-level/CO/"
    

    Respuesta

    {
        "current_level": "level-2-CO"
    }
    

    Petición HTTP

    GET /users/profile/current-level/{country}/

    Parámetros

    Parámetro Tipo Descripción
    country String El código de dos caracteres que representa al país.

    Respuesta exitosa

    Parámetro Tipo Descripción
    current_level String Indica el nivel de validación que tiene el usuario en el país consultado.

    Respuesta con error

    Código Tipo
    3011 user_has_not_validation_lvl
    3003 not_authenticated

    Balances

    Permite hacer operaciones relativas a balances.

    Listar balances

    Retorna una lista de los balances del usuario.

    Petición HTTP

    GET /balances/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    country String Código de dos caracteres que representa el país.

    Respuesta exitosa

    La respuesta contiene una lista de balances con la siguiente estructura.

    Parámetro Tipo Descripción
    url String Url para acceder directamente al recurso.
    available Number Monto disponible.
    available_string String Monto disponible en formato string.
    available_currency String Código que representa la moneda.
    locked Number Monto bloqueado.
    locked_string String Monto bloqueado en formato string.
    locked_currency String Código que representa la moneda.
    currency_symbol String Código que representa la moneda.
    user String Url para acceder al usuario.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Detalle de balance

    Retorna el detalle de un balance del usuario.

    Petición HTTP

    GET /balances/{id}/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    id Number Id del balance a consultar.
    country String Código de dos caracteres que representa el país.

    Respuesta exitosa

    Parámetro Tipo Descripción
    url String Url para acceder directamente al recurso.
    available Number Monto disponible.
    available_string String Monto disponible en formato string.
    available_currency String Código que representa la moneda.
    locked Number Monto bloqueado.
    locked_string String Monto bloqueado en formato string.
    locked_currency String Código que representa la moneda.
    currency_symbol String Código que representa la moneda.
    user String Url para acceder al usuario.

    Respuesta con error

    Código Tipo
    3002 not_found
    3003 not_authenticated

    Currencies

    Permite hacer operaciones relativas a monedas.

    Listar monedas

    Retorna una lista de las moneadas registradas en la plataforma.

    Petición HTTP

    GET /currencies/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    country String Código de dos caracteres que representa el país en el que puede operar la moneda.

    Respuesta exitosa

    Parámetro Tipo Descripción
    name String Nombre de la moneda.
    code String Código que identifica la moneda.
    symbol String Símbolo que identifica la moneda.
    type String El tipo de moneda (fiat, crypto).
    number_confirmations Number Número de confirmaciones que necesita una transacción en caso de ser cripto o token.
    countries Array Lista de países en los que puede operar la moneda.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Obtener moneda

    Retorna información sobre una moneda o token en específico.

    Obtener moneda

    # Retorna información sobre una moneda o token en específico.
    # Ejemplo para Bitcoin
    curl -X GET "http://localhost:8000/currencies/BTC/"
    -H "Authorization: Token a8f2f76420676583a738978fa5fb889025819382"
    

    Respuesta

    {
        "name": "Bitcoin",
        "code": "BTC",
        "symbol": "฿",
        "type": "crypto",
        "number_confirmations": 0,
        "countries": [
            "CO",
            "VE",
            "IC"
        ]
    }
    

    Petición HTTP

    GET /currencies/{code}/

    Parámetros

    Parámetro Tipo Descripción
    code String Código que representa la moneda o token.

    Respuesta exitosa

    Parámetro Tipo Descripción
    name String Nombre de la moneda.
    code String Código que identifica la moneda.
    symbol String Símbolo que identifica la moneda.
    type String El tipo de moneda (fiat, crypto).
    number_confirmations Number Número de confirmaciones que necesita una transacción en caso de ser cripto o token.
    countries Array Lista de países en los que puede operar la moneda.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Balance Tracking

    Listar histórico de balances

    Retorna una lista de los cambios en los balances del usuario.

    Petición HTTP

    GET /balance-tracking/{currency}/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    currency String Código de moneda, acepta una lista separada por comas.
    country String Código de dos caracteres que representa el país.

    Respuesta exitosa

    Parámetro Tipo Descripción
    before_available String Monto disponible antes de la transacción.
    before_available_string String Monto disponible antes de la transacción en formato String.
    before_locked String Monto bloqueado antes de la transacción.
    before_locked_string String Monto bloqueado antes de la transacción en formato String.
    after_available String Monto disponible después de la transacción.
    after_available_string String Monto disponible después de la transacción en formato String.
    after_locked String Monto bloqueado después de la transacción.
    after_locked_string String Monto bloqueado después de la transacción en formato String.
    amount String Monto de la transacción en formato String.
    currency String Código de moneda.
    currency_name String Nombre de la moneda.
    created String Fecha de creación.
    transaction String El tipo de transacción.
    transaction_status String Estado de la transacción.
    transaction_id Number Id de la transacción.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Depth

    Permite visualizar la profundidad de un mercado.

    Profundidad de mercado

    Retorna el detalle de profundidad de un mercado.

    Petición HTTP

    GET /depth/{market}/

    Parámetros

    Parámetro Tipo Descripción
    market String Mercado a consultar.

    Respuesta exitosa

    Parámetro Tipo Descripción
    ask Array Lista con los precios de compra.
    amount Array Indica las monedas usadas en el precio de compra y precio de venta.
    bid Array Lista con los precios de venta
    rate String Código de moneda de la tarifa.

    Los arreglos ask y bid tienen la siguiente estructura:

    Parámetro Tipo Descripción
    amount Number Monto.
    rate Number Tarifa.
    total Number Total.
    suma Number Suma.

    Respuesta con error

    Código Tipo
    2002 invalid

    Markets

    Permite hacer operaciones relativas a mercados.

    Listar mercados

    Retorna una lista de los mercados.

    Petición HTTP

    GET /markets/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    country String Código de dos caracteres que representa el país donde opera el mercado.

    Respuesta exitosa

    La respuesta contiene una lista de mercados con la siguiente estructura.

    Parámetro Tipo Descripción
    name String Nombre del mercado.
    slug String Slug del mercado.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Orders

    Permite hacer operaciones relativas a órdenes.

    Crear orden

    Permite la creación de una orden.

    Crear orden

    # Permite la creación de una orden.
    # Crear una orden de tipo límite
    curl -X POST "http://localhost:8000/orders/limit/"
    -H "Authorization: Token a8f2f76420676583a738978fa5fb889025819382"
    -F "from=VEF" -F "to=BTC" -F "amount=1500000"
    -F "rate=6661721363.64"
    

    Respuesta

    {
        "id":1,
        "amount":"1000000.000000000000000000",
        "commission":0.008,
        "amount_string":"1000000.00 VEF",
        "rate":"6661721363.640000000000000000",
        "rate_string":"6661721363.64 VEF",
        "type":1,
        "type_slug":"limit",
        "side":"bid",
        "market":1,
        "market_name":"btc-vef",
        "from_currency":"VEF",
        "to_currency":"BTC",
        "total":0.00014891,
        "status":"created",
        "created":"2018-05-24T21:43:08.767005Z"
    }
    

    Petición HTTP

    POST /orders/{type}/

    Parámetros

    Parámetro Tipo Descripción
    type String Tipo de orden que se desea crear.
    from String Código de moneda de origen.
    to String Código de moneda de destino.
    rate String Monto por unidad al que se desea intercambiar.
    amount Number Monto de la orden

    El parámetro type acepta tres valores definidos: limit, market, instant.

    Respuesta exitosa

    Parámetro Tipo Descripción
    id Number Id de la orden.
    amount Number Monto de la orden.
    amount_string String Monto de la orden en formato String.
    commission Number Comision que se cargó a la orden.
    rate Number Monto de la tarifa aplicada.
    rate_string String Monto de la tarifa en formato String.
    type Number Id del tipo de orden.
    type_slug String Slug del tipo de orden.
    side String Indica si es una compra o venta (ask, bid)
    market Number Id del mercado.
    market_name String Nombre del mercado.
    from_currency String Código de moneda de origen.
    to_currency String Código de moneda de destino.
    total Number Total de la orden.
    status String Estado de la orden.
    created String Fecha de creación.

    Respuesta con error

    Código Tipo
    2001 required
    2002 invalid
    2003 null
    2004 blank
    2007 min_value
    2008 max_value
    3003 not_authenticated
    3022 user_has_not_enough_validation_lvl

    Listar órdenes

    Retorna una lista de las órdenes pertenecientes al usuario.

    Petición HTTP

    GET /orders/

    Parámetros

    Ninguno.

    Respuesta exitosa

    La respuesta contiene una lista de órdenes con la siguiente estructura.

    Parámetro Tipo Descripción
    id Number Id de la orden.
    amount Number Monto de la orden.
    amount_string String Monto de la orden en formato String.
    commission Number Comision que se cargó a la orden.
    rate Number Monto de la tarifa aplicada.
    rate_string String Monto de la tarifa en formato String.
    type Number Id del tipo de orden.
    type_slug String Slug del tipo de orden.
    side String Indica si es una compra o venta (ask, bid)
    market Number Id del mercado.
    market_name String Nombre del mercado.
    from_currency String Código de moneda de origen.
    to_currency String Código de moneda de destino.
    total Number Total de la orden.
    status String Estado de la orden.
    created String Fecha de creación.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Listar órdenes por tipo

    Retorna una lista de las órdenes pertenecientes al usuario filtradas por tipo.

    Petición HTTP

    GET /orders/{type}/type/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    type String Tipo de orden que se desea consultar.
    country String Código de dos caracteres que representa el país.

    El parámetro type acepta tres valores definidos: limit, market, instant. En este caso particular se acepta un cuarto valor history el cuál retorna un histórico de órdenes ejecutadas y canceladas.

    Respuesta exitosa

    La respuesta contiene una lista de órdenes con la siguiente estructura.

    Parámetro Tipo Descripción
    id Number Id de la orden.
    amount Number Monto de la orden.
    amount_string String Monto de la orden en formato String.
    commission Number Comision que se cargó a la orden.
    rate Number Monto de la tarifa aplicada.
    rate_string String Monto de la tarifa en formato String.
    type Number Id del tipo de orden.
    type_slug String Slug del tipo de orden.
    side String Indica si es una compra o venta (ask, bid)
    market Number Id del mercado.
    market_name String Nombre del mercado.
    from_currency String Código de moneda de origen.
    to_currency String Código de moneda de destino.
    total Number Total de la orden.
    status String Estado de la orden.
    created String Fecha de creación.

    Respuesta con error

    Código Tipo
    3002 not_found
    3003 not_authenticated

    Tasa de cambio

    Retorna la tasa de cambio entre monedas.

    Petición HTTP

    GET /orders/{since}/until/{until}/type/{type}/price/

    Parámetros

    Parámetro Tipo Descripción
    since String Código de moneda de origen.
    until String Código moneda de destino.
    type String Tipo de orden.

    Respuesta exitosa

    Parámetro Tipo Descripción
    rate Array Tarifa de cambio.
    fee Array Comisión aplicada.

    El arreglo rate contiene:

    Parámetro Tipo Descripción
    currency String Código de moneda.
    amount Number Monto del cambio.
    string String Monto en formato String.

    El arreglo fee contiene:

    Parámetro Tipo Descripción
    percentaje String Porcentaje de fee.
    amount Number Monto de fee.

    Respuesta con error

    Código Tipo
    2002 invalid
    3002 not_found

    Precio de conversión

    Retorna el precio de conversión entre monedas.

    Petición HTTP

    GET /orders/{since}/until/{until}/type/{type}/price/{amount}/?{rate=}

    Parámetros

    Parámetro Tipo Descripción
    since String Código de moneda de origen.
    until String Código moneda de destino.
    type String Tipo de orden.
    amount Number Monto que se desea convertir.
    rate Number Tasa de conversión.

    Respuesta exitosa

    Parámetro Tipo Descripción
    rate Array Tarifa de cambio.
    fee Array Comisión aplicada.
    result Array Resultado de la conversión.

    El arreglo rate contiene:

    Parámetro Tipo Descripción
    currency String Código de moneda.
    amount Number Monto del cambio.
    string String Monto en formato String.

    El arreglo fee contiene:

    Parámetro Tipo Descripción
    percentaje String Porcentaje de fee.
    amount Number Monto de fee.

    El arreglo result contiene:

    Parámetro Tipo Descripción
    currency String Código de moneda.
    amount Number Monto de conversión.
    string String Monto de conversión en formato String.

    Respuesta con error

    Código Tipo
    2002 invalid
    3002 not_found

    Cancelar orden

    Cancela una orden. No se pueden cancelar órdenes en status matching cancelled o executed.

    Petición HTTP

    DELETE /orders/{id}/

    Parámetros

    Parámetro Tipo Descripción
    id Number Id de la orden.

    Respuesta exitosa

    Se responde con código HTTP 204 No Content.

    Respuesta con error

    Código Tipo
    2002 invalid
    3002 not_found
    3003 not_authenticated

    Transactions

    Permite hacer operaciones relativas a transacciones como depósitos o retiros.

    Crear un depósito

    Permite al usuario registrar un depósito en la plataforma.

    Crear un depósito

    # Permite al usuario registrar un depósito en la plataforma.
    # Ejemplo para depósito de moneda FIAT
    curl -X POST "http://localhost:8000/transactions/deposit/"
    -H "Authorization: Token a8f2f76420676583a738978fa5fb889025819382"
    -F "account=159753456987321" -F "currency=VEF"
    -F "amount=3000000" -F "reference=CMRNUYRSVQ"
    

    Respuesta

    {
        "external_commission":"0.010000000000000000",
        "amount":"3000000.000000000000000000",
        "amount_string":"3000000 VEF",
        "currency":"VEF",
        "currency_name":"Bolivares Fuertes",
        "currency_type":"fiat",
        "reference":"CMRNUYRSVQ",
        "reference_url":null,
        "wallet":null,
        "file":null,
        "status":"initial",
        "created":"2018-05-24T21:11:44.129182Z",
        "account":"159753456987321",
        "call_back":"",
        "user":4,
        "type":"deposit"
    }
    

    Petición HTTP

    POST /transactions/deposit/

    Parámetros

    Parámetro Tipo Descripción
    currency String Código de moneda.
    reference String Referencia para el voucher de depósito.
    account String Cuenta bancaria desde donde se realizará el depósito.
    amount String Monto del depósito.
    new_wallet Boolean Solo valido para ETH y Tokens ERC20, solicita una nueva wallet para depositar este tipo de activos.

    Respuesta exitosa

    Parámetro Tipo Descripción
    external_commission Number Comisión externa que se cobra por la transacción.
    amount Number Monto a ser depositado.
    amount_string String Monto en formato String.
    currency String Código de moneda.
    currency_name String Nombre de la moneda.
    currency_type String Tipo de moneda (fiat, crypto).
    reference String Referencia para el voucher de depósito.
    reference_url String Referencia del voucher de depósito en el caso de cripto moneda.
    wallet String Dirección de la wallet a la cuál se debe depositar en el caso de cripto.
    file Binary Archivo del voucher de depósito que sirve para validar su autenticidad.
    status String Estado del depósito.
    create String Fecha de creación.
    account String Cuenta bancaria desde donde se realizará el depósito.
    call_back String Url para retornar información cuando el depósito cambie de estado.
    user Number Id del usuario.
    type String Tipo de transacción (withdrawal).

    Respuesta con error

    Código Tipo
    2001 required
    2002 invalid
    2003 null
    2004 blank
    2007 min_value
    2008 max_value
    2009 does_not_exist
    2013 unique
    2014 maintenance
    3002 not_found
    3003 not_authenticated
    3022 user_has_not_enough_validation_lvl

    Cuota disponible para depósito

    Retorna la cuota disponible para el usuario realizar un depósito.

    Petición HTTP

    GET /transactions/limits/deposit/{country}/

    Parámetros

    Parámetro Tipo Descripción
    country String Código de dos caracteres que representa el país.

    Respuesta exitosa

    Parámetro Tipo Descripción
    available_quota Number Cuota disponible.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Listar depósitos

    Retorna una lista de depósitos registrados por el usuario en la plataforma.

    Petición HTTP

    GET /transactions/deposits/{currency}/?{country=}

    Parámetros

    Parámetro Tipo Descripción
    currency String Código que representa la moneda.
    country String Código de dos caracteres que representa al país.

    Respuesta exitosa

    La respuesta contiene una lista de depósitos con la siguiente estructura.

    Parámetro Tipo Descripción
    external_commission Number Comisión externa que se cobra por la transacción.
    amount Number Monto a ser retirado.
    amount_string String Monto en formato String.
    currency String Código de moneda.
    currency_name String Nombre de la moneda.
    currency_type String Tipo de moneda (fiat, crypto).
    reference String Referencia para el voucher de retiro.
    reference_url String Referencia del voucher de retiro en el caso de cripto moneda.
    wallet String Dirección de la wallet a la cuál se hará el retiro en el caso de cripto.
    file Binary No usado en retiros.
    status String Estado del retiro.
    create String Fecha de creación.
    account String Cuenta bancaria donde se realizará el retiro.
    call_back String Url para retornar información cuando el depósito cambie de estado.
    user Number Id del usuario.
    type String Tipo de transacción (withdrawal).

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Settings

    Permite consultar los settings de la plataforma.

    Obtener el mínimo del mercado

    Retorna el monto mínimo requerido para realizar intercambios en el mercado.

    Petición HTTP

    GET /settings/minimum-market/{since}/until/{until}/type/{type}

    Parámetros

    Parámetro Tipo Descripción
    since String Código de moneda de origen.
    until String Código moneda de destino.
    type String Tipo de orden.

    El parámetro type acepta tres valores definidos: limit, market, instant.

    Respuesta exitosa

    Parámetro Tipo Descripción
    url String Url para acceder directamente al recurso.
    value String Valor del setting.
    type String Tipo del valor.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Ticker

    Obtener información del mercado

    Muestra variada información del mercado como volumen, precio mas bajo, precio mas alto.

    Ticker

    # Muestra variada información del mercado.
    curl -X POST "http://localhost:8000/ticker?market=btc-vef&interval=1d"
    -H "Authorization: Token a8f2f76420676583a738978fa5fb889025819382"
    

    Respuesta

    [
        {
            "date":"2018-03-24T00:00:00",
            "open":"7517002981.98",
            "close":"7450568299.50",
            "low":"7382867357.04",
            "high":"7641843906.80",
            "volume":"0.000000000000000000"
        },
        {
            "date":"2018-03-25T00:00:00",
            "open":"7450322082.28",
            "close":"7168614406.88",
            "low":"6919820697.93",
            "high":"7492952835.51",
            "volume":"0.000000000000000000"
        },
        {
            "date":"2018-03-26T00:00:00",
            "open":"7168596819.94",
            "close":"6866365180.43",
            "low":"6816963453.61",
            "high":"7233721275.05",
            "volume":"0.000000000000000000"
        },
        {
            "date":"2018-03-27T00:00:00",
            "open":"6866312419.59",
            "close":"6999410414.81",
            "low":"6817227257.77",
            "high":"7138356069.04",
            "volume":"0.000000000000000000"
        },
    ]
    

    Petición HTTP

    GET /ticker?{market=}&{interval=}

    Parámetros

    Parámetro Tipo Descripción
    market String Nombre del mercado en par, ejemplo btc-vef.
    interval String Intervalo de la consulta, 5m, 15m, 30m, 1h, 2h, 3h, 4h, 6h, 12h, 1d, 3d, 1w.

    Respuesta exitosa

    La respuesta contiene una lista con la siguiente estructura.

    Parámetro Tipo Descripción
    date String Fecha de consulta.
    open Number Precio de apertura en el intervalo.
    close Number Precio de cierre en el intervalo.
    high Number Precio más alto en el intervalo.
    low Number Precio más bajo en el intervalo.

    Respuesta con error

    Ninguna.