Usuarios

Listar usuarios creados en Bsale.

Listar ventas y devoluciones por usuario

Estructura JSON

Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:

{
    "href": "https://api.bsale.cl/v1/users.json",
    "count": 2,
    "limit": 25,
    "offset": 0,
    "items": [
        {
            "href": "https://api.bsale.cl/v1/users/2.json",
            "id": 2,
            "firstName": "Gabriel",
            "lastName": "Seguel",
            "email": "gseguel@imaginex.cl",
            "state": 0,
            "office": {
                "href": "https://api.bsale.cl/v1/offices/1.json",
                "id": "1"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/users/1.json",
            "id": 1,
            "firstName": "Soporte ",
            "lastName": "bsale",
            "email": "mmunoz@imaginex.cl",
            "state": 0,
            "office": {
                "href": "https://api.bsale.cl/v1/offices/1.json",
                "id": "1"
            }
        }
    ]
}
  • href, url del usuario (String).
  • id, identificador único del usuario (Integer).
  • firstName, nombre del usuario (String).
  • lastName, apellido del usuario (String).
  • email, correo electrónico del usuario (String).
  • state, estado del usuario indica si esta activo(0) o inactivo (1) (Boolean).
  • office, nodo que indica la sucursal por defecto configurada para la usuario.

GET lista de usuarios

  • GET /v1/users.json retornara todos los usuarios.

Parámetros

  • limit, limita la cantidad de items de una respuesta JSON, por defecto el limit es 25, el máximo permitido es 50.
  • offset, permite paginar los items de una respuesta JSON, por defecto el offset es 0.
  • fields, solo devolver atributos específicos de un recurso
  • expand, permite expandir instancias y colecciones.
  • firstname, filtra los usuarios por nombre.
  • lastname, filtra los usuarios por apellido.
  • email, filtra los usuarios por email.
  • officeid, recupera los usuarios por la sucursal que tienen asignada.
  • state, boolean (0 o 1) indica si los usuarios están activos(0) inactivos (1).

Ejemplos

  • GET /v1/users.json?limit=10&offset=0
  • GET /v1/users.json?fields=[firstname,lastname]
  • GET /v1/users.json?officeid=1
  • GET /v1/users.json?expand=[office]
  • GET /v1/users.json?state=0

Respuesta

{
  "href": "http://localhost:9292/v1/users.json",
  "count": 121,
  "limit": 2,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.cl/v1/users/32.json",
      "id": 32,
      "firstName": "Alejandro",
      "lastName": "Herrera",
      "email": "ah@gmail.com",
      "state": 0,
      "office": {
        "href": "https://api.bsale.cl/v1/offices/2.json",
        "id": "2"
      }
    },
    {
      "href": "https://api.bsale.cl/v1/users/88.json",
      "id": 88,
      "firstName": "Andrés",
      "lastName": "Oyarzo",
      "email": "aoyarzo@gmail.com",
      "state": 1,
      "office": {
        "href": "https://api.bsale.cl/v1/offices/2.json",
        "id": "2"
      }
    }
  ],
  "next": "https://api.bsale.cl/v1/users.json?limit=2&offset=2"
}

GET un usuario

  • GET /v1/users/32.json retornara un usuario específico.

Parámetros

  • expand, permite expandir instancias y colecciones.

Ejemplos

  • GET /v1/clients/32.json?expand=[office]

Respuesta

{
    "href": "https://api.bsale.cl/v1/users/1.json",
    "id": 1,
    "firstName": "Juan",
    "lastName": "Otto",
    "email": "ottoj@gmail.com",
    "state": 0,
    "office": {
        "href": "https://api.bsale.cl/v1/offices/1.json",
        "id": "1"
    }
}

GET resumen de ventas por usuario

  • GET /v1/users/sales_summary.json retorna las ventas de los usuarios dentro de un rango de fecha. (Requiere uso de filtro)

Parámetros

  • userid, recupera las ventas para un usuario específico (Integer).
  • startdate, fecha de inicio de ventas , por defecto es la fecha del dia de la petición (Integer).
  • enddate, fecha fin de ventas, por defecto es la fecha del dia de la petición (Integer).

Ejemplos

  • GET /v1/users/sales_summary.json?userid=113
  • GET /v1/users/sales_summary.json?startdate=1438560000&enddate=1438560000
  • GET /v1/users/sales_summary.json?startdate=1438560000&enddate=1438560000&userid=113

Respuesta

{
    "startDate": 1576022400,
    "endDate": 1576022400,
    "total": 22500.0,
    "sellers": [
        {
            "href": "https://api.bsale.cl/v1/users/2.json",
            "id": 2,
            "fullName": "Gabriel Seguel",
            "subtotal": 7500.0,
            "taxSubtotal": 1197.0,
            "sales": {
                "href": "https://api.bsale.cl/v1/users/2/sales.json?startdate=1576022400&enddate=1576022400"
            },
            "returns": {
                "href": "https://api.bsale.cl/v1/users/2/returns.json?startdate=1576022400&enddate=1576022400"
            }
        },
        {
            "href": "https://api.bsale.cl/v1/users/1.json",
            "id": 1,
            "fullName": "Soporte  bsale",
            "subtotal": 15000.0,
            "taxSubtotal": 2395.0,
            "sales": {
                "href": "https://api.bsale.cl/v1/users/1/sales.json?startdate=1576022400&enddate=1576022400"
            },
            "returns": {
                "href": "https://api.bsale.cl/v1/users/1/returns.json?startdate=1576022400&enddate=1576022400"
            }
        }
    ]
}
  • startDate, fecha de inicio de las ventas (Integer).
  • endDate, fecha fin de las ventas (Integer).
  • total, total vendido (Float).
  • sellers, nodo que representa a los usuarios que generaron documentos en la fecha de la consulta.
  • subtotal, total vendido por el usuario (ventas menos devoluciones), puede incluir impuesto depende la configuración de Bsale (Float).
  • taxSubtotal, total de impuestos generados por el usuario (Float).
  • sales, nodo que representa a los documentos de venta generados por el usuario.
  • returns, nodo que representa las devoluciones asignadas al usuario.

GET ventas por usuario

  • GET /v1/users/128/sales.json retorna los documentos de venta asignados al usuario.

Parámetros

  • startdate, fecha de inicio de ventas , por defecto es la fecha del dia de la petición (Integer).
  • enddate, fecha fin de ventas, por defecto es la fecha del dia de la petición (Integer).

Ejemplos

  • GET /v1/users/128/sales.json?startdate=1438560000&enddate=1438560000

Respuesta

{
    "href": "https://api.bsale.cl/v1/users/1/sales.json?startdate=1576022400&enddate=1576022400",
    "count": 1,
    "limit": 25,
    "offset": 0,
    "items": [
        {
            "href": "https://api.bsale.cl/v1/documents/83.json",
            "id": 83,
            "name": "BOLETA MANUAL (no valido al SII)",
            "number": 39
        }
    ]
}

GET devoluciones por usuario

  • GET /v1/users/128/returns.json retorna los documentos de venta asignados al usuario.

Parámetros

  • startdate, fecha de inicio de las devoluciones , por defecto es la fecha del dia de la petición (Integer).
  • enddate, fecha fin de devoluciones, por defecto es la fecha del dia de la petición (Integer).

Ejemplos

  • GET /v1/users/2/returns.json?startdate=1570884055000&enddate=1576154470

Respuesta

  "href": "https://api.bsale.cl/v1/users/128/returns.json?startdate=1438560000&enddate=1438560000",
  "count": 2,
  "limit": 25,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.cl/v1/documents/6604.json",
      "id": 6604,
      "name": "Nota de crédito",
      "number": 50
    },
    {
      "href": "https://api.bsale.cl/v1/documents/6606.json",
      "id": 6606,
      "name": "Nota de crédito",
      "number": 60
    }
  ]
}