FAQ
¿Qué es API?
Por definición podemos decir que API, es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, y evitando tener que programar todo desde el principio.
¿Cómo obtengo mi token de acceso?
Debes solicitarlo al mail ayuda@bsale.app, indicando el mail al que deseas asociar el token de acceso. No olvides que dicho mail debe tener acceso a Bsale.
¿Cómo obtengo datos de mi instancia?
Puedes apuntar tus credenciales https://credential.bsale.io/v1/instances/basic/:access_token.json (Reemplaza :access_token por tu token de acceso)
¿Se puede tener acceso a un ambiente de pruebas?
Por supuesto que SI!. Es lo primero que te podemos ofrecer, un ambiente para gastes todas las dudas y pruebas, sin límite de tiempo y con todas las características (no electrónicas) de un cliente normal.
¿Ambiente de pruebas, ambiente productivo?
Hay consideraciones a tomar en cuenta cuando finalizas tu proceso de pruebas, lo primero es comprender que el token de acceso cambiará, probablemente los id's de documentos, clientes, productos, clientes, etc cambiarán. Un ambiente en productivo, eventualmente estará conectado con SII.
La venta se genera, pero no resta cantidad de stock
Si estás enviado variantes creadas en Bsale y no glosas, verifica que estás enviado en parámetro "dispatch" en 1. (ver más)
¿Cómo se envían descuentos?
Los descuentos se trabajan de forma porcentual, en el detalle. No se soportan descuentos en el total ni montos negativos.
¿Cómo enviar Packs/Promoción por API?
Por API sólo se soportan envíos de pack creados por variante, y éstos se envían de igual forma que un producto normal, referenciando el "code" del pack y su cantidad.
¿Cómo debo enviar el rut de cliente?
Es muy importante que el rut lo envíes formateado y validado. Dado que la API almacena un string en dicho registro.
¿Cómo genero una boleta por API?
Puedes visitar nuestra documentación express para enfocarte sólo en el envío de una boleta, ejemplo enfocado en factura, guía y nota de crédito. Ver más.
¿Qué tipos de documentos se pueden enviar por API?
A modo general, los tipos son: Pre-Venta (ej Nota de venta, cotización), Venta (ej Factura, Boleta), Despacho (ej Guías), Devolución (ej nota de crédito) y anulación de devolución (ej nota de debito).
¿Que tipo de errores devuelve la API?
"error": invalid variant": Verifica variante, variante no existe
"error": "the json does not have reference document": Verifica la estructura JSON (reference)
"error": "invalid reference detail": Verifica la referencia del documento, que sea válida
"error": "invalid documentType": Verifica el documentType, que esté activo
"error": "Invalid net unit value, zero or negative values are not allowed for this type of document" : Verifica los valores en los netos
"error":"Sorry, this request can not be authenticated": Verifica el token de acceso
"error":"no implicit conversion of String into Integer": Verifica la estructura JSON
"error": "invalid price list": Verifica la lista de precios que está referenciando
"error":"7895470899376 is out of range for ActiveRecord::Type::Integer with limit 4"
"error":"invalid pack promo detail": Verifica que el pack promoción esté asociado por variantes
"error":"client attribute required : code,activity,address,city,municipality": Verifica los datos de cliente
"error": "the amount is higher than deposit available": Verifica el monto de pago
"error": "document amount is less than the minimum allowed"; Verifica el monto mínimo del documento. (FE 190)
"error": "does not have numbers available, check sii caf": Verifica los folios electrónicos
"error": "The quantity returned (1.0) is higher than the available (0.0) for detail: idDetail": Verifica la cantidad de la devolución
"error": "This document may not be removed because it was used" : Verifica que el documento de referencia esté con state 0
"error": "There is a problem with the available quantity for your products": Verifica la cantidad de stock
"error": "There are more than a client with the code {code}, client id: {clientId}" : Verifica que no exista un cliente con el mismo rut / mail
"error":"invalid exchange rate" : Verifica la lista de precios asignada a la sucursal
"error": "invalid quantity": Verifica que respetas la estructura de envío en el detalle (corchetes y comas)
"error": "insufficient stock": La cantidad que intentas usar no es suficiente, valida el stock
"error": "the return already been nullified": Verifica que la devolución esté disponible a anular
"error": "client blocked": Verifica el estado comercial dentro de tu panel de clientes
"error": "Invalid JSON object": Verifica que estás cerrando con coma (,) y comillas (") cada atributos que lo requiera
¿Tiene un entorno de homologación y un entorno de producción?
Si, el token de acceso define ambos ambientes. A considerar que los endpoints son los mismos tanto en producción como testing.
¿Qué zona horaria aplicar en las fechas?
La API no aplica zona horaria, dado que está en formato unix GMT, sin zona horaria. Ésto dado que cada instancia aplica la zona horaria correspondiente.
EJ: emissionDate, fecha de emisión del documento (Integer) (no se debe aplicar zona horaria, solo considerar la fecha).