https://github.com/saulmoralespa/siigo-api-node
Siigo API Node SDK
https://github.com/saulmoralespa/siigo-api-node
colombia dian facturacion-electronica siigo siigo-nube
Last synced: 3 months ago
JSON representation
Siigo API Node SDK
- Host: GitHub
- URL: https://github.com/saulmoralespa/siigo-api-node
- Owner: saulmoralespa
- Created: 2025-05-01T16:16:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-01T18:56:15.000Z (5 months ago)
- Last Synced: 2025-06-04T01:48:52.520Z (4 months ago)
- Topics: colombia, dian, facturacion-electronica, siigo, siigo-nube
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/siigo-api-node
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Siigo API Node SDK
A Node.js SDK for interacting with the Siigo API.
## Features
- Authentication and token management
- CRUD operations for Products, Clients, Invoices
- Support for Taxes, Account Groups, Document Types, Payment Types, Users, Warehouses, Cost Centers, Price Lists
- Webhook subscription and management## Installation
```bash
npm install siigo-api-node
# or
pnpm add siigo-api-node
```## Environment Variables
Create file .env
```bash
touch .env
```Add variables
- SIIGO_USERNAME=your_siigo_username
- SIIGO_ACCESS_KEY=your_siigo_access_key## Usage
```typescript
import { Siigo } from "siigo-api-node";const siigo = new Siigo({
username: process.env.SIIGO_USERNAME!,
access_key: process.env.SIIGO_ACCESS_KEY!
});// Example: Get products
(async () => {
const products = await siigo.getProducts();
console.log(products);
})();
```## Available Methods
- Authentication: `getToken()`
- Products: `createProduct(payload)`, `getProducts(queries?)`, `updateProduct(id, payload)`, `deleteProduct(id)`
- Clients: `createClient(payload)`, `getClients(queries?)`, `getClientById(id)`, `updateClient(id, payload)`
- Users: `getUsers()`
- Invoices: `createInvoice(payload)`, `getInvoiceById(id)`, `updateInvoice(id, payload)`, `getPdfInvoiceById(id)`, `getErrorsInvoiceRejected(id)`, `deteleteInvoice(id)`, `annulInvoice(id)`
- Taxes: `getTaxes()`
- Account Groups: `getAccountGroups()`
- Document Types: `getDocumentTypes(queries?)`
- Payment Types: `getPaymentTypes(queries?)`
- Price Lists: `getPriceList()`
- Warehouses: `getWarehouses()`
- Cost Centers: `getCostCenter()`
- Webhooks: `subscribeWebhook(payload)`, `editWebhook(payload)`, `getWebhook()`, `deleteWebhook(id)`## Testing
Run all tests with:
```bash
pnpm test
```## License
[MIT](https://opensource.org/licenses/MIT)
---
For more details, see the [Siigo API documentation](https://siigoapi.docs.apiary.io/#reference).