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

    Convenciones usadas es esta documentación.

    Para facilidad de uso y lectura de la documentación se han establecido algunas convenciones descritas a continuación:

    Host de la URL de consulta.

    # Obtiene la lista de paises en los cuáles Panda Exchange opera
    curl "https://$HOST/countries/"
    

    El host de la URL de consulta está establecido como una variable de entorno de la siguiente manera $HOST, en todas las referencias que se hagan a una URL de consulta se podrá ver algo como el ejemplo a la derecha. Esta variable de entorno debe ser reemplazada o tener como valor una de las direcciones de acceso a la API de Panda Exchange que se indican mas adelante.

    Token de autenticación.

    # Retorna el nivel de validación máximo que tiene el usuario.
    curl "https://$HOST/users/profile/max-level/"
    -H "Authorization: Token $TOKEN"
    

    El token de autenticación necesario para algunas consultas está establecido como una variable de entorno de la siguiente manera $TOKEN. el ejemplo a la derecha ilustra como se verá en está documentación. Esta variable de entorno debe ser reemplazada o tener como valor un Token válido de acceso a la API de Panda Exchange. Ver Autenticación.

    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 "https://$HOST/users/profile/max-level/"
    -H "Authorization: Token $TOKEN"
    

    La API de Panda Exchange brinda acceso a dos ambientes de trabajo, un ambiente de pruebas que permite realizar operaciones sin temor a romper nada y un ambiente de producción sobre el cuál se ejecutan operaciones que tienen efectos reales en la plataforma. El ambiente de producción debe ser manejado con sumo cuidado. Ambos ambientes tienen su URl de acceso particular, a saber:

    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 "https://$HOST/countries/"
    

    Esta consulta obtendrá una respuesta similar a esta:

    [
       {
            "flag": "https://elias.panda.exchange/media/flags/ca-icon-000.png",
            "code": "CA",
            "name": "Canada"
        },
        {
            "flag": "https://elias.panda.exchange/media/flags/co-icon-000.png",
            "code": "CO",
            "name": "Colombia"
        },
        {
            "flag": "https://elias.panda.exchange/media/flags/ic-icon-000.png",
            "code": "IC",
            "name": "International"
        },
    ]
    

    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 "https://$HOST/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 "https://$HOST/transactions/deposit/" 
    -H "Authorization: Token $TOKEN"
    -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 "https://$HOST/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 "https://$HOST/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 "https://$HOST/auth-token/"
    -H "Content-Type: application/json"
    -d '{
            "email": "12334",
            "password": "12345"
        }'
    

    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 "https://$HOST/auth-token/"
    -H "Content-Type: application/json"
    -d '{
            "email": "user@email.com",
            "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 "https://$HOST/auth-token/"
    -H "Content-Type: application/json"
    -d '{
            "email": "user.disabled@email.com",
            "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 "https://$HOST/auth-token/"
    -H "Content-Type: application/json"
    -d '{
            "email": "user.valid@email.com",
            "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 "https://$HOST/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.

    Logout

    # Obtener detalles del usuario.
    curl -X GET "https://$HOST/users/logout"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "success": "User was logged out."
    }
    

    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.

    Token activo

    # Permite saber si un token está activo o no
    curl -X POST "https://$HOST/users/is-login/"
    -H "Authorization: Token $TOKEN"
    -H "Content-Type: application/json"
    -d '{
            "token": "0bc404e9134a0f05ea03d83d62f3f9282565c392"
        }'
    

    Respuesta

    {
        "is_login": true
    }
    

    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 "https://$HOST/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.

    Lista de balances

    # Obtiene el listado de balances del usuario.
    curl -X GET "https://$HOST/balances/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "url": "https://$HOST/balances/43/",
            "available": "0.000000000000000000",
            "available_string": "0.00000000 BCH",
            "available_currency": "BCH",
            "locked": "0.000000000000000000",
            "locked_string": "0.00000000 BCH",
            "locked_currency": "BCH",
            "currency_symbol": "BCH",
            "user": "https://$HOST/users/6/"
        },
        {
            "url": "https://$HOST/balances/52/",
            "available": "0.000000000000000000",
            "available_string": "0 VEF",
            "available_currency": "VEF",
            "locked": "0.000000000000000000",
            "locked_string": "0 VEF",
            "locked_currency": "VEF",
            "currency_symbol": "BsF",
            "user": "https://$HOST/users/6/"
        },
        {
            "url": "https://$HOST/balances/51/",
            "available": "0.000000000000000000",
            "available_string": "0.00000000 ZNT",
            "available_currency": "ZNT",
            "locked": "0.000000000000000000",
            "locked_string": "0.00000000 ZNT",
            "locked_currency": "ZNT",
            "currency_symbol": "ZNT",
            "user": "https://$HOST/users/6/"
        },
    ]
    

    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.

    Detalle de balance

    # Obtiene el el detalle de un balance.
    curl -X GET "https://$HOST/balances/43"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "url": "https://$HOST/balances/43/",
            "available": "0.000000000000000000",
            "available_string": "0.00000000 BCH",
            "available_currency": "BCH",
            "locked": "0.000000000000000000",
            "locked_string": "0.00000000 BCH",
            "locked_currency": "BCH",
            "currency_symbol": "BCH",
            "user": "https://$HOST/users/6/"
        }
    

    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.

    Listar monedas

    # Obtiene el listado de monedas.
    curl -X GET "https://$HOST/currencies/?country=CO"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "name": "Pesos Colombianos",
            "code": "COP",
            "symbol": "$",
            "type": "fiat",
            "number_confirmations": 0,
            "countries": [
                "CO"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false
        },
        {
            "name": "Bitcoin",
            "code": "BTC",
            "symbol": "฿",
            "type": "crypto",
            "number_confirmations": 3,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false
        },
        {
            "name": "Bitcoin Cash",
            "code": "BCH",
            "symbol": "BCH",
            "type": "crypto",
            "number_confirmations": 0,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false
        },
    ]
    

    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 "https://$HOST/currencies/BTC/"
    -H "Authorization: Token $TOKEN"
    

    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.

    Listar histórico de balances

    # Obtiene el listado del histórico de balances.
    curl -X GET "https://$HOST/balance-tracking/COP,BTC,BCH,ETH,ZNT,LTC,XRP,XLM,ZEC,TUSD/?page_size=2"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "next": "http://$HOST/balance-tracking/COP,BTC,BCH,ETH,ZNT,LTC,XRP,XLM,ZEC,TUSD/?page=2&page_size=2",
        "previous": null,
        "count": 68613,
        "total_pages": 34307,
        "results": [
            {
                "before_available": "0.01662418",
                "before_available_string": "0.01662418 BCH",
                "before_locked": "0.27543939",
                "before_locked_string": "0.27543939 BCH",
                "after_available": "0.00000000",
                "after_available_string": "0.00000000 BCH",
                "after_locked": "0.29206357",
                "after_locked_string": "0.29206357 BCH",
                "amount": "0.01662418 BCH",
                "amount_formated": "0.01662418 BCH",
                "after_available_formated": "0.00000000",
                "after_locked_formated": "0.29206357",
                "before_available_formated": "0.01662418",
                "before_locked_formated": "0.27543939",
                "currency": "BCH",
                "currency_name": "Bitcoin Cash (ABC)",
                "created": "2019-09-25T23:07:01.785961Z",
                "transaction": "Limit",
                "transaction_status": "created",
                "transaction_id": 613683
            },
            {
                "before_available": "0.00000000",
                "before_available_string": "0.00000000 BCH",
                "before_locked": "0.29206357",
                "before_locked_string": "0.29206357 BCH",
                "after_available": "0.01662418",
                "after_available_string": "0.01662418 BCH",
                "after_locked": "0.27543939",
                "after_locked_string": "0.27543939 BCH",
                "amount": "0.01662418 BCH",
                "amount_formated": "0.01662418 BCH",
                "after_available_formated": "0.01662418",
                "after_locked_formated": "0.27543939",
                "before_available_formated": "0.00000000",
                "before_locked_formated": "0.29206357",
                "currency": "BCH",
                "currency_name": "Bitcoin Cash (ABC)",
                "created": "2019-09-25T23:07:01.181722Z",
                "transaction": "Limit",
                "transaction_status": "cancelled",
                "transaction_id": 613676
            }
        ]
    }
    

    Petición HTTP

    GET /balance-tracking/{currency}/?{country=}&{created=}&{start_date=}&{end_date=}

    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.
    created String Se filtra por fecha de creación.
    start_date Date Se filtra por fecha de creación posterior a la fecha dada.
    end_date Date Se filtra por fecha de creación anterior a la fecha dada.
    transaction String Se filtra por el tipo de transacción, deposit, withdrawal, Limit, etc.
    transaction_status String Se filtra por el status de la transacción.
    page Number Número de página a consultar.
    page_size Number Número de resultados mostrados en cada página, 20 por defecto y máximo 100.

    Respuesta exitosa

    Parámetro Tipo Descripción
    count Number Cantidad total de resultados en la consulta.
    previous String URL de la página previa.
    next String URL de la próxima página.
    total_pages Number Cantidad total de páginas en la consulta.
    results Array Arreglo con el resultado de la consulta según el page_size.

    El arreglo results contiene un listado con la siguiente estructura.

    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.
    amount_formated String Monto de la transacción en formato String con , como separador de miles y . separador de decimales.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Listar histórico de balances con paginación

    Retorna una lista de los cambios en los balances del usuario con paginación.

    Listar histórico de balances con paginación

    # Obtiene el listado del histórico de balances con paginación.
    curl -X GET "https://$HOST/balance-tracking-pages?pages=2&page_size=2"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "count": 5645,
        "previous": "https://$HOST/balance-tracking-pages/?page_size=2",
        "total_pages": 2823,
        "results": [
            {
                "before_available": "0.00000000",
                "before_available_string": "0.00000000 PIVX",
                "before_locked": "0.00000000",
                "before_locked_string": "0.00000000 PIVX",
                "after_available": "0.00070000",
                "after_available_string": "0.00070000 PIVX",
                "after_locked": "0.00000000",
                "after_locked_string": "0.00000000 PIVX",
                "amount": "0.00070000 PIVX",
                "amount_formated": "0.00070000 PIVX",
                "after_available_formated": "0.00070000",
                "after_locked_formated": "0.00000000",
                "before_available_formated": "0.00000000",
                "before_locked_formated": "0.00000000",
                "currency": "PIVX",
                "currency_name": "PIVX",
                "created": "2018-06-20T07:57:21.928305Z",
                "transaction": "deposit",
                "transaction_status": "approved",
                "transaction_id": 303
            },
            {
                "before_available": "0.00082530",
                "before_available_string": "0.00082530 ZEN",
                "before_locked": "0.00000000",
                "before_locked_string": "0.00000000 ZEN",
                "after_available": "0.00149082",
                "after_available_string": "0.00149082 ZEN",
                "after_locked": "0.00000000",
                "after_locked_string": "0.00000000 ZEN",
                "amount": "0.00066552 ZEN",
                "amount_formated": "0.00066552 ZEN",
                "after_available_formated": "0.00149082",
                "after_locked_formated": "0.00000000",
                "before_available_formated": "0.00082530",
                "before_locked_formated": "0.00000000",
                "currency": "ZEN",
                "currency_name": "Horizen",
                "created": "2018-06-20T15:27:22.874661Z",
                "transaction": "deposit",
                "transaction_status": "approved",
                "transaction_id": 301
            }
        ],
        "next": "https://$HOST/balance-tracking-pages/?page=3&page_size=2"
    }
    

    Petición HTTP

    GET /balance-tracking-pages/{currency}/?{country=}&{created=}&{start_date=}&{end_date=}&{page=}&{page_size=}

    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.
    created String Se filtra por fecha de creación.
    start_date Date Se filtra por fecha de creación posterior a la fecha dada.
    end_date Date Se filtra por fecha de creación anterior a la fecha dada.
    page Number Número de página a consultar.
    page_size Number Número de resultados mostrados en cada página, 20 por defecto y máximo 100.

    Respuesta exitosa

    Parámetro Tipo Descripción
    count Number Cantidad total de resultados en la consulta.
    previous String URL de la página previa.
    next String URL de la próxima página.
    total_pages Number Cantidad total de páginas en la consulta.
    results Array Arreglo con el resultado de la consulta según el page_size.

    El arreglo results contiene un listado con la siguiente estructura.

    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.
    amount_formated String Monto de la transacción en formato String con , como separador de miles y . separador de decimales.

    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.

    Detalle de profundidad de un mercado

    # Obtiene el detalle de profundidad de un mercado.
    curl -X GET "https://$HOST/depth/btc-eur/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "ask": [
            {
                "amount": "0.00100000",
                "rate": "5248.72",
                "total": "5.22",
                "sum": "5.22"
            },
            {
                "amount": "0.00250000",
                "rate": "5612.00",
                "total": "13.96",
                "sum": "19.18"
            },
            {
                "amount": "0.00100000",
                "rate": "5616.13",
                "total": "5.59",
                "sum": "24.77"
            },
            {
                "amount": "0.00100000",
                "rate": "5616.13",
                "total": "5.59",
                "sum": "30.36"
            }
        ],
        "amount": {
            "ask": "BTC",
            "bid": "EUR"
        },
        "total": 6011.14,
        "bid": [
            {
                "amount": "8.49",
                "rate": "5470.15",
                "total": "0.00154427",
                "sum": "0.00154427"
            },
            {
                "amount": "10.00",
                "rate": "5417.77",
                "total": "0.00183655",
                "sum": "0.00338082"
            },
            {
                "amount": "10.00",
                "rate": "5248.72",
                "total": "0.00189570",
                "sum": "0.00527652"
            }
        ],
        "rate": "EUR"
    }
    

    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.

    Listar mercados

    # Obtiene la lista de mercados.
    curl -X GET "https://$HOST/markets/?country=CO"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "name": "BCH / COP",
            "slug": "bch-cop",
            "maintenance": false
        },
        {
            "name": "BTC / COP",
            "slug": "btc-cop",
            "maintenance": false
        },
        {
            "name": "ETH / COP",
            "slug": "eth-cop",
            "maintenance": false
        },
        {
            "name": "LTC / COP",
            "slug": "ltc-cop",
            "maintenance": false
        },
        {
            "name": "TUSD / COP",
            "slug": "tusd-cop",
            "maintenance": false
        },
    ]
    

    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.
    maintenance Boolean Indica si el mercado se encuentra en mantenimiento.

    Respuesta con error

    Código Tipo
    3003 not_authenticated

    Listar mercado

    Retorna una lista con información de mercados.

    Listar mercados

    # Obtiene la lista de mercados.
    curl -X GET "https://$HOST/market/PA"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "items": [
                {
                    "Ask": "769.23",
                    "Bid": "885.03",
                    "Spread": -15.053763440860216,
                    "Ticker": "BCHUSD",
                    "name": "BCH/USD"
                },
                {
                    "Ask": "4115.05",
                    "Bid": "4734.51",
                    "Spread": -15.053763440860216,
                    "Ticker": "BTCUSD",
                    "name": "BTC/USD"
                },
                {
                    "Ask": "100.30",
                    "Bid": "115.40",
                    "Spread": -15.053763440860216,
                    "Ticker": "DASHUSD",
                    "name": "DASH/USD"
                },
                {
                    "Ask": "119.72",
                    "Bid": "137.74",
                    "Spread": -15.053763440860216,
                    "Ticker": "ETHUSD",
                    "name": "ETH/USD"
                },
                {
                    "Ask": "30.46",
                    "Bid": "35.04",
                    "Spread": -15.053763440860216,
                    "Ticker": "LTCUSD",
                    "name": "LTC/USD"
                },
                {
                    "Ask": "1.11",
                    "Bid": "1.27",
                    "Spread": -15.053763440860216,
                    "Ticker": "PIVXUSD",
                    "name": "PIVX/USD"
                },
                {
                    "Ask": "0.20",
                    "Bid": "0.22",
                    "Spread": -15.053763440860216,
                    "Ticker": "XLMUSD",
                    "name": "XLM/USD"
                },
                {
                    "Ask": "0.41",
                    "Bid": "0.47",
                    "Spread": -15.053763440860216,
                    "Ticker": "XRPUSD",
                    "name": "XRP/USD"
                },
                {
                    "Ask": "208.47",
                    "Bid": "239.85",
                    "Spread": -15.053763440860216,
                    "Ticker": "ZECUSD",
                    "name": "ZEC/USD"
                }
            ],
            "coin": "USD"
        },
        {
            "items": [
                {
                    "Ask": "0.17384616",
                    "Bid": "0.17048535",
                    "Spread": 1.9332066851486969,
                    "Ticker": "BCHBTC",
                    "name": "BCH/BTC"
                },
                {
                    "Ask": "0.02392848",
                    "Bid": "0.02608067",
                    "Spread": -8.994270425869091,
                    "Ticker": "DASHBTC",
                    "name": "DASH/BTC"
                },
                {
                    "Ask": "0.02705716",
                    "Bid": "0.07193902",
                    "Spread": -165.8779452962239,
                    "Ticker": "ETHBTC",
                    "name": "ETH/BTC"
                },
                {
                    "Ask": "0.00688437",
                    "Bid": "0.01287298",
                    "Spread": -86.98845638995513,
                    "Ticker": "LTCBTC",
                    "name": "LTC/BTC"
                },
                {
                    "Ask": "0.00025011",
                    "Bid": "0.00028777",
                    "Spread": -15.053763440860216,
                    "Ticker": "PIVXBTC",
                    "name": "PIVX/BTC"
                },
                {
                    "Ask": "0.00004351",
                    "Bid": "0.00005005",
                    "Spread": -15.053763440860216,
                    "Ticker": "XLMBTC",
                    "name": "XLM/BTC"
                },
                {
                    "Ask": "0.00009162",
                    "Bid": "0.00010542",
                    "Spread": -15.053763440860216,
                    "Ticker": "XRPBTC",
                    "name": "XRP/BTC"
                },
                {
                    "Ask": "0.04711500",
                    "Bid": "0.05420758",
                    "Spread": -15.053763440860216,
                    "Ticker": "ZECBTC",
                    "name": "ZEC/BTC"
                },
                {
                    "Ask": "0.00666688",
                    "Bid": "0.00767050",
                    "Spread": -15.053763440860216,
                    "Ticker": "ZNTBTC",
                    "name": "ZNT/BTC"
                }
            ],
            "coin": "BTC"
        }
    ]
    

    Petición HTTP

    GET /market/{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
    coin String Código de moneda.
    items Array Arreglo con información de los pares.

    A su vez items retorna la siguiente estructura.

    Parámetro Tipo Descripción
    Ask String Precio de compra.
    Bid String Precio de compra.
    Spread Number Diferencial de compra y venta.
    Ticker String Código
    name String Nombre del

    Respuesta con error

    Ninguna.

    Monedas disponibles

    Retorna una lista de las monedas para intercambio por país y moneda.

    Listar monedas

    # Obtiene la lista de monedas.
    curl -X GET "https://$HOST/markets/available-currencies/IC/currency/BCH"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "name": "Bitcoin",
            "code": "BTC",
            "symbol": "฿",
            "type": "crypto",
            "number_confirmations": 3,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC",
                "EU",
                "PE",
                "BR"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false,
            "market_maintenance": false
        },
        {
            "name": "DASH",
            "code": "DASH",
            "symbol": "DASH",
            "type": "crypto",
            "number_confirmations": 4,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false,
            "market_maintenance": false
        },
        {
            "name": "Ether",
            "code": "ETH",
            "symbol": "Ξ",
            "type": "crypto",
            "number_confirmations": 100,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC",
                "EU",
                "PE",
                "BR"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false,
            "market_maintenance": false
        },
        {
            "name": "Horizen Testnet",
            "code": "ZNT",
            "symbol": "ZNT",
            "type": "crypto",
            "number_confirmations": 6,
            "countries": [
                "CO",
                "VE",
                "IC",
                "PT",
                "MX",
                "CA",
                "PA",
                "QC",
                "EU",
                "PE",
                "BR"
            ],
            "maintenance_deposit": false,
            "maintenance_withdrawal": false,
            "market_maintenance": false
        }
    ]
    

    Petición HTTP

    GET markets/available-currencies/{country}/currency/{currency}

    Parámetros

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

    Respuesta exitosa

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

    Parámetro Tipo Descripción
    name String Nombre de la moneda.
    code String Código de la moneda.
    symbol String Símbolo de la moneda.
    type String Tipo de moneda.
    number_confirmations String Número de confirmaciones.
    countries Array Arreglo con código de paises donde está disponible.
    maintenance_deposit Boolean indica si la moneda está en mantenimiento para depósito.
    maintenance_withdrawal Boolean indica si la moneda está en mantenimiento para retiro.
    market_maintenance Boolean indica si el mercado está en mantenimiento.

    Respuesta con error

    Código Tipo
    2002 invalid
    3003 not_authenticated

    Orders

    Permite hacer operaciones relativas a órdenes.

    Crear orden

    Permite la creación de una orden.

    Crear orden

    # Crear una orden de tipo límite
    curl -X POST "https://$HOST/orders/limit/"
    -H "Authorization: Token $TOKEN"
    -H "Content-Type: application/json"
    -d '{
            "from": "VEF",
            "to": "BTC",
            "amount": "1500000",
            "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
    2014 maintenance
    3003 not_authenticated
    3022 user_has_not_enough_validation_lvl

    Listar órdenes

    Retorna una lista de las órdenes pertenecientes al usuario. Por defecto se retornan las órdenes con status ´created´, ´pending´, ´matching´. Para retornar todas la órdenes sin importar el status se puede usar el parámetro all

    Listar órdenes

    # Permite obtener un listado de órdenes.
    curl -X GET "https://$HOST/orders/pages/?page=2&page_size=2"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
        "count": 8,
        "previous": "https://$HOST/orders/pages/?page_size=2",
        "total_pages": 4,
        "results": [
            {
                "id": 7,
                "amount": "20000.000000000000000000",
                "commission": 0,
                "amount_string": "20000.00 COP",
                "rate": "19306564.820000000000000000",
                "rate_string": "19306564.82 COP",
                "type": 3,
                "type_slug": "instant",
                "side": "bid",
                "market": 2,
                "market_name": "btc-cop",
                "from_currency": "COP",
                "to_currency": "BTC",
                "total": 0.00103592,
                "country": "CO",
                "status": "executed",
                "created": "2018-11-12T16:09:23.069469Z",
                "modified": "2018-11-12T20:09:23.069469Z"
            },
            {
                "id": 6,
                "amount": "0.001000000000000000",
                "commission": 0.005,
                "amount_string": "0.00100000 BTC",
                "rate": "0.072192510000000000",
                "rate_string": "0.07219251 BTC",
                "type": 1,
                "type_slug": "limit",
                "side": "bid",
                "market": 13,
                "market_name": "eth-btc",
                "from_currency": "BTC",
                "to_currency": "ETH",
                "total": 0.013782593235780276,
                "country": "IC",
                "status": "executed",
                "created": "2018-10-30T14:34:34.897769Z",
                "modified": "2018-10-30T19:09:23.069469Z"
            }
        ],
        "next": "https://$HOST/orders/pages/?page=3&page_size=2"
    }
    ]
    

    Petición HTTP

    GET /orders/?{status=}&{start_date=}&{end_date=}&{page=}&{page_size=}&{market__slug}&{country}&{all}

    Parámetros

    Parámetro Tipo Descripción
    status String Estatus de la orden, puede ser ´created´, ´pending´, ´matching´, ´executed´, ´cancelled´
    start_date Date Se muestran las órdenes con fecha de creación posterior a la fecha dada.
    end_date Date Se muestran las órdenes con fecha de creación anterior a la fecha dada.
    market__slug String Muestra las órdenes según el slug de mercado.
    all String Cuando está presente se muestran todas las órdenes registradas con cualquier status. Si no está presente la respuesta retorna las órdenes con status ´created´, ´pending´, ´matching´.
    page Number Número de página a consultar.
    page_size Number Número de resultados mostrados en cada página, 20 por defecto y máximo 100.
    country String Código de dos caracteres que representa el país.

    Respuesta exitosa

    La respuesta contiene la siguiente estructura.

    Parámetro Tipo Descripción
    count Number Cantidad total de resultados en la consulta.
    previous String URL de la página previa.
    next String URL de la próxima página.
    total_pages Number Cantidad total de páginas en la consulta.
    results Array Arreglo con el resultado de la consulta según el page_size.

    El arreglo results 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.
    country String Código de dos caracteres que representa el país.
    status String Estado de la orden.
    created String Fecha de creación.
    modified String Fecha de modificación.

    Respuesta con error

    Código Tipo
    3003 not_authenticated
    3002 not_found

    Listar órdenes por página

    Retorna una lista de las órdenes pertenecientes al usuario con paginación.

    Listar órdenes con paginación

    # Permite obtener un listado de órdenes.
    curl -X GET "https://$HOST/orders/pages/?page=2&page_size=2"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
        "count": 8,
        "previous": "https://$HOST/orders/pages/?page_size=2",
        "total_pages": 4,
        "results": [
            {
                "id": 7,
                "amount": "20000.000000000000000000",
                "commission": 0,
                "amount_string": "20000.00 COP",
                "rate": "19306564.820000000000000000",
                "rate_string": "19306564.82 COP",
                "type": 3,
                "type_slug": "instant",
                "side": "bid",
                "market": 2,
                "market_name": "btc-cop",
                "from_currency": "COP",
                "to_currency": "BTC",
                "total": 0.00103592,
                "country": "CO",
                "status": "executed",
                "created": "2018-11-12T16:09:23.069469Z",
                "modified": "2018-11-12T20:09:23.069469Z"
            },
            {
                "id": 6,
                "amount": "0.001000000000000000",
                "commission": 0.005,
                "amount_string": "0.00100000 BTC",
                "rate": "0.072192510000000000",
                "rate_string": "0.07219251 BTC",
                "type": 1,
                "type_slug": "limit",
                "side": "bid",
                "market": 13,
                "market_name": "eth-btc",
                "from_currency": "BTC",
                "to_currency": "ETH",
                "total": 0.013782593235780276,
                "country": "IC",
                "status": "executed",
                "created": "2018-10-30T14:34:34.897769Z",
                "modified": "2018-10-30T19:09:23.069469Z"
            }
        ],
        "next": "https://$HOST/orders/pages/?page=3&page_size=2"
    }
    ]
    

    Petición HTTP

    GET /orders/pages/?{status=}&{start_date=}&{end_date=}&{page=}&{page_size=}&{market__slug}

    Parámetros

    Parámetro Tipo Descripción
    status String Estatus de la orden, puede ser ´created´, ´pending´, ´matching´, ´executed´, ´cancelled´
    start_date Date Se muestran las órdenes con fecha de creación posterior a la fecha dada.
    end_date Date Se muestran las órdenes con fecha de creación anterior a la fecha dada.
    page Number Número de página a consultar.
    page_size Number Número de resultados mostrados en cada página, 20 por defecto y máximo 100.
    market__slug String Muestra las órdenes según el slug de mercado.

    Respuesta exitosa

    La respuesta contiene la siguiente estructura.

    Parámetro Tipo Descripción
    count Number Cantidad total de resultados en la consulta.
    previous String URL de la página previa.
    next String URL de la próxima página.
    total_pages Number Cantidad total de páginas en la consulta.
    results Array Arreglo con el resultado de la consulta según el page_size.

    El arreglo results 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.
    country String Código de dos caracteres que representa el país.
    status String Estado de la orden.
    created String Fecha de creación.
    modified String Fecha de modificación.

    Respuesta con error

    Código Tipo
    3003 not_authenticated
    3002 not_found

    Listar órdenes por tipo

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

    Listar órdenes por tipo

    # Permite obtener un listado de órdenes por tipo.
    curl -X GET "https://$HOST/orders/instant/type/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    [
        {
            "id": 7,
            "amount": "20000.000000000000000000",
            "commission": 0.0,
            "amount_string": "20000.00 COP",
            "rate": "19306564.820000000000000000",
            "rate_string": "19306564.82 COP",
            "type": 3,
            "type_slug": "instant",
            "side": "bid",
            "market": 2,
            "market_name": "btc-cop",
            "from_currency": "COP",
            "to_currency": "BTC",
            "total": 0.00103592,
            "country": "CO",
            "status": "executed",
            "created": "2018-11-12T16:09:23.069469Z",
            "modified": "2018-11-12T20:09:23.069469Z"
        }
    ]
    

    Petición HTTP

    GET /orders/{type}/type/?{country=}&{status=}&{start_date=}&{end_date=}&{market__slug}

    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.
    status String Estatus de la orden, puede ser ´created´, ´pending´, ´matching´, ´executed´, ´cancelled´
    start_date Date Se muestran las órdenes con fecha de creación posterior a la fecha dada.
    end_date Date Se muestran las órdenes con fecha de creación anterior a la fecha dada.
    market__slug String Muestra las órdenes según el slug de mercado.

    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.
    country String Código de dos caracteres que representa el país.
    status String Estado de la orden.
    created String Fecha de creación.
    modified String Fecha de modificación.

    Respuesta con error

    Código Tipo
    3002 not_found
    3003 not_authenticated

    Tasa de cambio

    Retorna la tasa de cambio entre monedas.

    Tasa de cambio

    # Obtiene la tasa de cambio entre monedas.
    curl -X GET "https://$HOST/orders/COP/until/BTC/type/limit/price/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "rate": {
            "currency": "COP",
            "amount": 18043518.52,
            "string": "18043518.52 COP"
        },
        "fee": {
            "percentage": 0.5,
            "amount": 90217.59
        },
        "market_maintenance": false
    }
    

    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.
    market_maintenance Boolean Indica si el mercado se encuentra en mantenimiento.

    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.

    Precio de conversión

    # Obtiene la tasa de cambio entre monedas.
    curl -X GET "https://$HOST/orders/COP/until/BTC/type/limit/price/50000.00/?rate=18043518.52"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "rate": {
            "currency": "COP",
            "amount": 18043518.52,
            "string": "18043518.52 COP"
        },
        "fee": {
            "percentage": 0.5,
            "amount": 90217.59
        },
        "market_maintenance": false,
        "result": {
            "currency": "BTC",
            "amount": "0.00275722",
            "string": "0.00275722 BTC"
        }
    }
    

    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.
    market_maintenance Boolean Indica si el mercado se encuentra en mantenimiento.

    El arreglo rate contiene:

    Parámetro Tipo Descripción
    currency String Código de moneda.
    amount Number Monto del cambio.a
    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.

    Cancelar orden

    # Cancela una orden.
    curl -X DELETE "https://$HOST/orders/8/"
    -H "Authorization: Token $TOKEN"
    

    Responde 204 No Content

    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

    Cancelar todas las órdenes

    Cancela todas las órdenes asociadas a un usuario. No se pueden cancelar órdenes en status matching cancelled o executed.

    Cancelar todas las órdenes

    # Cancela todas las órdenes.
    curl -X DELETE "https://$HOST/orders/cancel-all/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "success": true
    }
    

    Petición HTTP

    DELETE /orders/cancel-all/

    Respuesta exitosa

    Parámetro Tipo Descripción
    success String Mensaje de cancelación exitosa.

    Respuesta con error

    Código Tipo
    2002 invalid
    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 "https://$HOST/transactions/deposit/"
    -H "Authorization: Token $TOKEN"
    -H "Content-Type: application/json"
    -d '{
            "account": "159753456987321",
            "currency": "VEF",
            "amount": "3000000",
            "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.

    Cuota disponible para depósito

    # Retorna la cuota disponible para el usuario realizar un depósito
    curl -X GET "https://$HOST/transactions/limits/deposit/CO/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        "available_quota": 10000
    }
    

    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.

    Lista de depósitos

    # Retorna una lista de depósitos registrados por el usuario en la plataforma
    curl -X GET "https://$HOST/transactions/deposits/EUR/"
    -H "Authorization: Token $TOKEN"
    

    Respuesta

    {
        {
            "external_commission": "0.010000000000000000",
            "amount": "5.000000000000000000",
            "amount_string": "5.00 EUR",
            "currency": "EUR",
            "currency_name": "Euro",
            "currency_type": "fiat",
            "method": null,
            "reference": "LXWLKLSUYE",
            "reference_url": null,
            "wallet": null,
            "file": "http://localhost:8000/files/16/",
            "status": "approved",
            "created": "2018-06-29T18:55:08.189462Z",
            "account": 12,
            "call_back": "",
            "user": 6,
            "type": "deposit",
            "country": "IC"
        },
        {
            "external_commission": "0.010000000000000000",
            "amount": "10.000000000000000000",
            "amount_string": "10.00 EUR",
            "currency": "EUR",
            "currency_name": "Euro",
            "currency_type": "fiat",
            "method": null,
            "reference": "ITPSYXOKIA",
            "reference_url": null,
            "wallet": null,
            "file": "http://localhost:8000/files/13/",
            "status": "approved",
            "created": "2018-06-29T16:19:51.573401Z",
            "account": 10,
            "call_back": "",
            "user": 6,
            "type": "deposit",
            "country": "IC"
        },
    }
    

    Petición HTTP

    GET /transactions/deposits/{currency}/?{country=}&{created=}&{status=}&{start_date=}&{end_date=}

    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.
    created String Se filtra por fecha de creación.
    status String Se filtra por status (initial, approved, rejected, cancelled, sending, verifying).
    start_date Date Se filtra por fecha de creación posterior a la fecha dada.
    end_date Date Se filtra por fecha de creación anterior a la fecha dada.

    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 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).
    method String Método usado para realizar el depósito.
    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 hará el retiro en el caso de cripto.
    file Binary Voucher de depósito.
    status String Estado del depósito.
    created 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 (deposit).
    country String Código de dos caracteres que representa al país.
    instant_send Boolean Indica si la transacción se ejecuta de inmediato.
    number_confirmations Integer Es el número de confirmaciones que debe tener el depósito para hacerse efectivo.
    number_confirmations_made Integer Es el número de confirmaciones que lleva el depósito.

    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.

    # Retorna el monto mínimo requerido para realizar intercambios en el mercado
    curl -X GET "https://$HOST/settings/minimum-market/COP/until/BTC/type/instant/" 
    -H "Authorization: Token $TOKEN"
    

    Esta consulta obtendrá una respuesta similar a esta:

    {
        "url": "https://$HOST/settings/minimum_cop/",
        "value": 20000,
        "type": "decimal"
    }
    

    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 GET "https://$HOST/ticker?market=btc-vef&interval=1d"
    -H "Authorization: Token $TOKEN"
    

    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.