Skip to content
EstebanBah edited this page Dec 31, 2019 · 12 revisions

https://apidoc.bsalelab.com/ ### Clic aquí para ir!

Estructura JSON

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

{
  "href": "https://api.bsale.cl/v1/document_types/1.json",
  "id": 1,
  "name": "NOTA VENTA",
  "initialNumber": 1,
  "codeSii": "",
  "isElectronicDocument": 0,
  "breakdownTax": 1,
  "use": 0,
  "isSalesNote": 1,
  "isExempt": 0,
  "restrictsTax": 0,
  "useClient": 1,
  "messageBodyFormat": null,
  "thermalPrinter": 1,
  "state": 0,
  "copyNumber": 3,
  "isCreditNote": 0,
  "continuedHigh": 0,
  "ledgerAccount": null,
  "ipadPrint": 0,
  "ipadPrintHigh": "0"
}
  • href, url del tipo de documento (String).
  • id, identificador único del tipo de documento (Integer).
  • name, nombre del del tipo de documento (String).
  • initialNumber, folio inicial del tipo de documento (Integer).
  • codeSii, código tributario del tipo de documento (String).
  • isElectronicDocument, indica si el tipo de documento es electrónico No(0) o Si(1) (Boolean).
  • breakdownTax, indica si el tipo de documento desglosa impuesto No(0) o Si(1) (Boolean).
  • use, indica si el uso que se le da al tipo de documento venta(0), devolución(1), despacho(2), liquidación(3) (Integer),
  • isSalesNote, indica si el tipo de documento es una nota de venta No(0) o Si(1) (Boolean).
  • isExempt, indica si el tipo de documento es exento No(0) o Si(1) (Boolean).
  • restrictsTax, indica si el tipo de documento restringe impuestos No(0) o Si(1) (Boolean).
  • useClient, indica si el tipo de documento requiere un cliente No(0) o Si(1) (Boolean).
  • messageBodyFormat, formato del tipo de documento (String).
  • thermalPrinter, indica si el tipo de documento es impreso en impresora térmica No(0) o Si(1) (Boolean).
  • state, estado del tipo de documento activo(0) o inactivo (1) (Boolean).
  • copyNumber, numero de copias del tipo de documento (Integer)
  • isCreditNote, indica si el tipo de documento es una nota de crédito No(0) o Si(1) (Boolean).
  • continuedHigh, indica si el tipo de documento se imprime con alto continuo No(0) o Si(1) (Boolean).
  • ledgerAccount, cuenta contable del tipo de documento (String).
  • ipadPrint, configuración para Ipad (Boolean).
  • ipadPrintHigh, configuración para Ipad (Boolean).

GET lista de tipos de documento

  • GET /v1/document_types.json retornara todos los tipos de documento.

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.
  • name, Permite filtrar por nombre del tipo de documento.
  • codesii, filtra por el código tributario del tipo de documento (String).
  • ledgeraccount, filtra por la cuenta contable del tipo de documento.
  • booktypeid, filtra por el tipo de libro que pertenece (Integer).
  • iselectronicdocument, permite filtrar si el tipo de documento es electrónico No(0) o Si(1) (Boolean).
  • issalesnote, permite filtrar si el tipo de documento es una nota de venta No(0) o Si(1) (Boolean).
  • state, boolean (0 o 1) indica si los tipos de documento están activos(0) inactivos(1).

Ejemplos

  • GET /v1/document_types.json?limit=10&offset=0
  • GET /v1/document_types.json?fields=[codesii,ledgeraccount,state]
  • GET /v1/document_types.json?expand=[book_type]
  • GET /v1/document_types.json?codesii=33

Respuesta

{
  "href": "https://api.bsale.cl/v1/document_types.json",
  "count": 3,
  "limit": 25,
  "offset": 0,
  "items": [
    {
      "href": "https://api.bsale.cl/v1/document_types/2.json",
      "id": 2,
      "name": "FACTURA EXENTA O NO AFECTA ELECTRONICA",
      "initialNumber": 1,
      "codeSii": "34",
      "isElectronicDocument": 1,
      "breakdownTax": 1,
      "use": 0,
      "isSalesNote": 0,
      "isExempt": 1,
      "restrictsTax": 0,
      "useClient": 1,
      "messageBodyFormat": "",
      "thermalPrinter": 1,
      "state": 0,
      "copyNumber": 2,
      "isCreditNote": 0,
      "continuedHigh": 0,
      "ledgerAccount": null,
      "ipadPrint": 0,
      "ipadPrintHigh": "0",
      "book_type": {
        "href": "https://api.bsale.cl/v1/book_types/1.json",
        "id": "1"
      }
    },
    {
      "href": "https://api.bsale.cl/v1/document_types/3.json",
      "id": 3,
      "name": "NOTA CREDITO ELECTRONICA",
      "initialNumber": 43,
      "codeSii": "61",
      "isElectronicDocument": 1,
      "breakdownTax": 1,
      "use": 1,
      "isSalesNote": 0,
      "isExempt": 0,
      "restrictsTax": 0,
      "useClient": 1,
      "messageBodyFormat": "",
      "thermalPrinter": 1,
      "state": 0,
      "copyNumber": 0,
      "isCreditNote": 1,
      "continuedHigh": 0,
      "ledgerAccount": null,
      "ipadPrint": 0,
      "ipadPrintHigh": "0",
      "book_type": {
        "href": "https://api.bsale.cl/v1/book_types/1.json",
        "id": "1"
      }
    },
    {
      "href": "https://api.bsale.cl/v1/document_types/1.json",
      "id": 1,
      "name": "NOTA VENTA",
      "initialNumber": 1,
      "codeSii": "",
      "isElectronicDocument": 0,
      "breakdownTax": 1,
      "use": 0,
      "isSalesNote": 1,
      "isExempt": 0,
      "restrictsTax": 0,
      "useClient": 1,
      "messageBodyFormat": null,
      "thermalPrinter": 1,
      "state": 0,
      "copyNumber": 3,
      "isCreditNote": 0,
      "continuedHigh": 0,
      "ledgerAccount": null,
      "ipadPrint": 0,
      "ipadPrintHigh": "0"
    }
  ]
}

GET un tipo de documento

  • GET /v1/document_types/1.json retornara un tipo de documento específico.

Parámetros

  • expand, permite expandir instancias y colecciones.

Ejemplos

  • GET /v1/document_types/1.json?expand=[book_type]

Respuesta

{
  "href": "https://api.bsale.cl/v1/document_types/1.json",
  "id": 1,
  "name": "NOTA VENTA",
  "initialNumber": 1,
  "codeSii": "",
  "isElectronicDocument": 0,
  "breakdownTax": 1,
  "use": 0,
  "isSalesNote": 1,
  "isExempt": 0,
  "restrictsTax": 0,
  "useClient": 1,
  "messageBodyFormat": null,
  "thermalPrinter": 1,
  "state": 0,
  "copyNumber": 3,
  "isCreditNote": 0,
  "continuedHigh": 0,
  "ledgerAccount": null,
  "ipadPrint": 0,
  "ipadPrintHigh": "0"
}

GET cantidad de tipos de documento

  • GET /v1/document_types/count.json

Parámetros

  • state, permite filtrar por estado, activos (0) inactivos (1).

Respuesta

{
  "count": 3
}

GET caf actual de un tipo de documento

  • GET /v1/document_types/caf.json

Parámetros

  • codesii, filtra por el código tributario del tipo de documento (String).
  • documenttypeid, filtra por el identificador del tipo de documento (Integer).
  • nextnumber, filtra por el próximo folio que se desea utilizar (integer).

Ejemplos

  • GET /v1/document_types/caf.json?codesii=33
  • GET /v1/document_types/caf.json?documenttypeid=1
  • GET /v1/document_types/caf.json?codesii=33&nextnumber=51

Respuesta

{
  "startDate": 1522292400,
  "expirationDate": 1546225200,
  "startNumber": 5,
  "endNumber": 5,
  "lastNumberUsed": 0,
  "numbersAvailable": 2,
  "expired": false
}
  • startDate, fecha en que inicia el caf (integer).
  • expirationDate, fecha en que vence el caf (integer).
  • startNumber, folio inicial del caf (integer).
  • endNumber, folio final del caf (integer).
  • lastNumberUsed, ultimo folio utilizado para el tipo de documento (integer).
  • numbersAvailable, folios disponibles para el tipo de documento (Integer).
  • expired, indica si el caf esta expirado (Boolean)

GET folios disponibles de un tipo de documento

  • GET /v1/document_types/number_availables.json

Parámetros

  • codesii, filtra por el código tributario del tipo de documento (String).
  • documenttypeid, filtra por el identificador del tipo de documento (Integer).

Ejemplos

  • GET /v1/document_types/number_availables.json?codesii=33
  • GET /v1/document_types/number_availables.json?documenttypeid=1

Respuesta

{
  "numbers_available": 2574,
  "last": 32119
}
  • numbers_available, folios disponibles para el tipo de documento (Integer).
  • last, ultimo folio utilizado para el tipo de documento (integer).
Clone this wiki locally