{"id":41304,"library":"ixc-orm","title":"IXC-ORM","description":"IXC-ORM v2.3.5 is a TypeScript ORM for consuming data from the IXC Provedor API (IXCsoft). It simplifies CRUD operations with a model-based approach, query builder, and built-in resource endpoints for common actions like contract activation, temporary unblocking, and fetching boletos. The library is community-maintained, supports ESM only, and requires environment variables for authentication. It ships with TypeScript types and has a stable release cadence.","status":"active","version":"2.3.5","language":"javascript","source_language":"en","source_url":"https://github.com/fscarmo/ixc-orm","tags":["javascript","IXCSoft API","IXCsoft","IXC API","IXC Provedor","typescript"],"install":[{"cmd":"npm install ixc-orm","lang":"bash","label":"npm"},{"cmd":"yarn add ixc-orm","lang":"bash","label":"yarn"},{"cmd":"pnpm add ixc-orm","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only package; CommonJS require will fail. Use import syntax.","wrong":"const IxcOrm = require('ixc-orm')","symbol":"IxcOrm","correct":"import { IxcOrm } from 'ixc-orm'"},{"note":"Named export, not default. Must use destructured import.","wrong":"import Recurso from 'ixc-orm'","symbol":"Recurso","correct":"import { Recurso } from 'ixc-orm'"},{"note":"Type export for response handling. Common in query builder usage.","wrong":null,"symbol":"IxcResponse","correct":"import { IxcResponse } from 'ixc-orm'"},{"note":"Enum for sort direction (ASC/DESC).","wrong":null,"symbol":"Sort","correct":"import { Sort } from 'ixc-orm'"}],"quickstart":{"code":"import { IxcOrm, IxcResponse, Sort, Recurso } from 'ixc-orm';\n\n// Define a model for 'cliente_contrato'\nclass Contrato extends IxcOrm {\n  constructor() {\n    super('cliente_contrato');\n  }\n}\n\nasync function main() {\n  // Query example\n  const contrato = new Contrato();\n  const response: IxcResponse = await contrato\n    .where('data_ativacao')\n    .greaterThanEquals('2024-09-24')\n    .orderBy('data_ativacao', Sort.DESC)\n    .GET();\n  console.log(response.registros());\n\n  // Resource example: temporary unblock\n  const recursoResponse = await Recurso.liberacaoTemporaria({ id_contrato: 12345 });\n  console.log(recursoResponse);\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Defines a model class extending IxcOrm, performs a filtered query with sorting, and uses a built-in resource endpoint for temporary unblock."},"warnings":[{"fix":"Create a .env file with IXC_ACCESS_TOKEN=<your-token> and IXC_SERVER_DOMAIN=<your-domain> before using the library.","message":"Environment variables IXC_ACCESS_TOKEN and IXC_SERVER_DOMAIN must be set. If missing, the library throws a runtime error.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Use import syntax and ensure your project is configured for ES modules (type: 'module' in package.json).","message":"The library is ESM-only. Using require() results in a runtime error.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Verify the correct endpoint name in IXC Provedor API documentation.","message":"The model table name passed to the super() call must exactly match an API endpoint name (e.g., 'cliente_contrato'). Incorrect names result in 404 errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"N/A","message":"No deprecated features reported in the current version.","severity":"deprecated","affected_versions":">=2.3.5"}],"env_vars":null,"search_vec":"'action':41 'activ':44 'api':19,78,81 'approach':30 'authent':64 'base':29 'boleto':49 'builder':32 'built':35 'built-in':34 'cadenc':75 'common':40 'communiti':54 'community-maintain':53 'consum':13 'contract':43 'crud':23 'data':14 'endpoint':38 'environ':61 'esm':57 'fetch':48 'ixc':2,5,17,80,82 'ixc-orm':1,4 'ixcsoft':20,77,79 'javascript':76 'librari':51 'like':42 'maintain':55 'model':28 'model-bas':27 'oper':24 'orm':3,6,11 'provedor':18,83 'queri':31 'releas':74 'requir':60 'resourc':37 'ship':66 'simplifi':22 'stabl':73 'support':56 'temporari':45 'type':69 'typescript':10,68,84 'unblock':46 'v2.3.5':7 'variabl':62","created_at":"2026-06-04T18:51:45.733317+00:00","updated_at":"2026-06-04T18:51:45.733317+00:00","problems":[{"fix":"Run: npm install ixc-orm","cause":"Missing npm install.","error":"Error: Module not found: Can't resolve 'ixc-orm'"},{"fix":"Use: import { IxcOrm } from 'ixc-orm'","cause":"Using CommonJS require instead of ESM import.","error":"TypeError: IxcOrm is not a constructor"},{"fix":"Create .env file with IXC_ACCESS_TOKEN=your_token and IXC_SERVER_DOMAIN=your_domain","cause":"Missing environment variables in .env file.","error":"Error: IXC_ACCESS_TOKEN not defined in environment variables"},{"fix":"Double-check the exact endpoint name (e.g., 'cliente_contrato').","cause":"Incorrect table name in super() call.","error":"Error: Invalid or missing 'tabela' parameter"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/fscarmo/ixc-orm#readme","github":"https://github.com/fscarmo/ixc-orm","docs":null,"changelog":null,"pypi":null,"npm":"ixc-orm","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}