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.com.pe/v1/users/32.json",
  "id": 32,
  "firstName": "Alejandro",
  "lastName": "Herrera",
  "email": "ah@gmail.com",
  "state": 2,
  "office": {
    "href": "https://api.bsale.com.pe/v1/offices/2.json",
    "id": "2"
  }
}
  • 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.

####Parametros

  • 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": "https://api.bsale.com.pe/v1/users.json",
  "count": 121,
  "limit": 2,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.com.pe/v1/users/32.json",
      "id": 32,
      "firstName": "Alejandro",
      "lastName": "Herrera",
      "email": "ah@gmail.com",
      "state": 0,
      "office": {
        "href": "https://api.bsale.com.pe/v1/offices/2.json",
        "id": "2"
      }
    },
    {
      "href": "https://api.bsale.com.pe/v1/users/88.json",
      "id": 88,
      "firstName": "Andrés",
      "lastName": "Oyarzo",
      "email": "aoyarzo@gmail.com",
      "state": 1,
      "office": {
        "href": "https://api.bsale.com.pe/v1/offices/2.json",
        "id": "2"
      }
    }
  ],
  "next": "https://api.bsale.com.pe/v1/users.json?limit=2&offset=2"
}

GET un usuario

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

####Parametros

  • expand, permite expandir instancias y colecciones.

####Ejemplos

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

####Respuesta

{
  "href": "https://api.bsale.com.pe/v1/users/32.json",
  "id": 32,
  "firstName": "Alejandro",
  "lastName": "Herrera",
  "email": "ah@gmail.com",
  "state": 2,
  "office": {
    "href": "https://api.bsale.com.pe/v1/offices/2.json",
    "id": "2"
  }
}

GET resumen de ventas por usuario

  • GET /v1/users/sales_summary.json retorna las ventas de los usuarios dentro de un rango de fecha.

####Parametros

  • 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": 1438560000,
  "endDate": 1438560000,
  "total": 22882060,
  "sellers": [
    {
      "href": "https://api.bsale.com.pe/v1/users/113.json",
      "id": 113,
      "fullName": "Daniela Valdes",
      "subtotal": 255000,
      "taxSubtotal": 40714,
      "sales": {
        "href": "https://api.bsale.com.pe/v1/users/113/sales.json?startdate=1438560000&enddate=1438560000"
      },
      "returns": {
        "href": "https://api.bsale.com.pe/v1/users/113/returns.json?startdate=1438560000&enddate=1438560000"
      }
    },
    {
      "href": "https://api.bsale.com.pe/v1/users/114.json",
      "id": 114,
      "fullName": "Lara  Galan",
      "subtotal": 255000,
      "taxSubtotal": 40714,
      "sales": {
        "href": "https://api.bsale.com.pe/v1/users/114/sales.json?startdate=1438560000&enddate=1438560000"
      },
      "returns": {
        "href": "https://api.bsale.com.pe/v1/users/114/returns.json?startdate=1438560000&enddate=1438560000"
      }
    },
    {
      "href": "https://api.bsale.com.pe/v1/users/128.json",
      "id": 128,
      "fullName": "Luis Guzman",
      "subtotal": 60,
      "taxSubtotal": 9,
      "sales": {
        "href": "https://api.bsale.com.pe/v1/users/128/sales.json?startdate=1438560000&enddate=1438560000"
      },
      "returns": {
        "href": "https://api.bsale.com.pe/v1/users/128/returns.json?startdate=1438560000&enddate=1438560000"
      }
    },
    {
      "href": "https://api.bsale.com.pe/v1/users/105.json",
      "id": 105,
      "fullName": "Maximo Mancilla",
      "subtotal": 22372000,
      "taxSubtotal": 3572000,
      "sales": {
        "href": "https://api.bsale.com.pe/v1/users/105/sales.json?startdate=1438560000&enddate=1438560000"
      },
      "returns": {
        "href": "https://api.bsale.com.pe/v1/users/105/returns.json?startdate=1438560000&enddate=1438560000"
      }
    }
  ]
}
  • 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.

####Parametros

  • 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.com.pe/v1/users/128/sales.json?startdate=1438560000&enddate=1438560000",
  "count": 2,
  "limit": 25,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.com.pe/v1/documents/6604.json",
      "id": 6604,
      "name": "Boleta",
      "number": 4535370
    },
    {
      "href": "https://api.bsale.com.pe/v1/documents/6606.json",
      "id": 6606,
      "name": "Boleta",
      "number": 4535372
    }
  ]
}

GET devoluciones por usuario

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

####Parametros

  • 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/128/returns.json?startdate=1438560000&enddate=1438560000

####Respuesta

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