ixc-orm
v1.10.4
Published
ORM para consumo de dados da API do sistema IXC Provedor
Maintainers
Readme
IXC-ORM
Esse ORM foi criado com o intuito de facilitar o consumo de dados da API oficial do IXC Provedor.
Essa biblioteca não faz parte das bibliotecas oficiais da IXCsoft e foi desenvolvida de forma independente e sem fins lucrativos.
Download
npm install ixc-ormpnpm add ixc-ormyarn add ixc-ormComo utilizar
Para configurar a comunicação da biblioteca com seu servidor IXC Provedor, é necessário adicionar as seguintes variáveis de ambiente a um arquivo .env, que esteja localizado no diretório raiz do seu projeto.
[!NOTE]
Versão 1.10.4stable
- IXC_ACCESS_TOKEN Um token de API gerado dentro do IXC Provedor.
- IXC_SERVER_DOMAIN O domínio do seu servidor IXC Provedor.
IXC_ACCESS_TOKEN=conteúdo-do-token-gerado-dentro-do-ixc
IXC_SERVER_DOMAIN=www.dominio-do-seu-servidor-ixc.com.brVocê também poderá configurar para que o Docker carregue as variáveis, ao invés de carregá-las diretamente do arquivo .env, dessa forma:
services:
sua-aplicacao:
build: .
image: sua-imagem-docker
environment:
- IXC_ACCESS_TOKEN=${IXC_ACCESS_TOKEN}
- IXC_SERVER_DOMAIN=${IXC_SERVER_DOMAIN}
# Outras configurações do seu serviçoAs classes que representarão os diferentes tipos de registros no seu IXC Provedor, deverão herdar da classe IxcOrm (nova versão), como no exemplo a seguir:
[!NOTE]
Versão 1.10.4stable
import { IxcOrm } from 'ixc-orm';
class Contrato extends IxcOrm {
constructor() {
super('cliente_contrato');
}
}Após instanciar um objeto com o tipo que você criou (Contrato, como no exemplo a cima), você poderá acessar os métodos de construção da query de busca.
[!NOTE]
Versão 1.10.4stable
import { IxcResponse, Sort } from 'ixc-orm';
const contrato = new Contrato();
IxcResponse response = await contrato
.where('data_ativacao')
.greaterThanEquals('2024-09-24')
.orderBy('data_ativacao', Sort.DESC)
.GET();
const contratos = response.registros(); Recursos da API do IXC Provedor
Existem alguns endpoints que a API do IXC Provedor disponibiliza, a fim de "encurtar o caminho" para chegar até algumas informações. Como por exemplo, obter o arquivo PDF de uma fatura. Para isso, você não precisará se preocupar em criar uma classe Boleto que herde da classe IxcOrm, por exemplo, nem encadear chamadas de filtros. Basta fazer como no exemplo a seguir:
import { Recurso } from 'ixc-orm';
const id_contrato = 45852;
const response = await Recurso.desbloqueioDeConfianca({ id_contrato });Dos recursos disponibilizados pela API do IXC Provedor, essa biblioteca já possui as implementações de:
cliente_contrato_ativar_cliente,cliente_contrato_btn_lib_temp_24722,desbloqueio_confianca,get_boletoeradusuarios_25452.
Obs: Os nomes dos recursos estão de acordo com a API do IXC Provedor a fim de facilitar o estudo através da sua própria documentação oficial.
Contribuições
Contribuições são sempre bem-vindas!
Se você conhece uma maneira melhor de fazer algo, por favor, me avise!
Caso contrário, é sempre melhor fazer um PR na branch main.
At.te,
Felipe S. Carmo.
