@nclabs/g5-senior-client
v2.0.6
Published
Biblioteca auxiliar para requisições aos webservices da Senior Sistemas (G5).
Downloads
558
Readme
g5-senior-client
Biblioteca auxiliar para requisições aos webservices da Senior Sistemas (G5).
- Facilita a indicação das cedenciais.
- Efetua o tratamento do retorno, lançando como exceção o parâmetro de retorno 'ErroExecucao'
- Efetuar a padronização do retorno de parâmetros do tipo tabela
Instalação
npm i @nclabs/g5-senior-client
Métodos
| Assinatura | Parâmetros (types) | Descrição |
|---------------------------------------------------------------|--------------------------------|-----------|
|registry(g5Registry: G5Registry)
| G5Registry | Atribui as credenciais e url base que serão usadas nas requisições ao G5 |
|config(config: G5Config)
| G5Config|Configura o acesso ao G5|
|request(request: G5Request, credential?: G5Credential)
| G5Request, G5Credential|Retorna um Observable da requisição ao webservice e executa quando subscrito. Quando informadas as credenciais no método, desconsidera o registro para a requisição e utiliza as credenciais informadas. |
|asyncRequest(request: G5Request, credential?: G5Credential)
| G5Request, G5Credential|Retorna uma Promise da requisição ao webservice. Quando informadas as credenciais no método, desconsidera o registro para a requisição e utiliza as credenciais informadas. |
Types
G5Credential
/**
* Credenciais para acesso dos webservices da G5
*
*/
G5Credential = {
/**
* Usuário do G5.
*/
username: string;
/**
* Senha do usuário na G5 ou token encriptado conforme Logon integrado com criptografia
*/
password: string;
/**
* Tipo de encriptação da senha do usuário:
*
* > 0 - sem encriptação (string com a senha do usuário) (default)
*
* > 2 - autenticação com token com criptografia
*
*/
encryption?: number;
}
G5Config
G5Config = {
/**
*
* URL base para as requisições (sem o nome do serviço).
*
* Ex.: http://servidor:1234/g5-senior-services/
*
* Opcionalmente o wsdl completo pode ser enviado em cada requisição.
*
*/
baseUrl: string;
}
G5Request
/**
* Requisição para os webservices da G5
*
*/
G5Request<DATA> = {
/**
* Nome do módulo do webservice G5. Não utilizado quando informado o wsdl.
*/
module: string;
/**
* Nome do webservice G5. Não utilizado quando informado o wsdl.
*
* Pode receber o nome do serviço com "." ou "_".
*
* > Ex.: `com.senior.cad...` e `com_senior_cad...` são equivalentes.
*/
webservice: string;
/**
* Nome da porta do webservice no G5
*/
port: string;
/**
* Parâmetros de execuçaõ do webservice.
*/
parameters: DATA;
/**
* Endereço completo do wsdl do serviço, exatamente como definido na documentação do G5 Senior.
*
* > Quando informado, sobrepoe os demas parâmetros
*/
wsdl?: string;
}
G5Registry
/**
* Registro
*
*/
G5Registry = {
credential: G5Credential
baseUrl?: string;
}
G5ClientException
/**
* Registro
*
*/
G5ClientException = {
code: number;
type: string;
message: string;
error?: string | object | unknown;
}
Detalhes
Registrar Credenciais
Registra as credenciais que serão utilizadas nas requisições.
Opcionalmente, as credenciais podem ser enviadas diretamente na requisição.
import { G5Credential, G5SeniorClient } from "g5-senior-client";
/**
* Credential
*/
const credential: G5Credential = {
username: "userName",
password: "my-pass",
encryption: 0
}
G5SeniorClient.registry({ credential });
Config
Permite definir a URL base para as requisições.
Ex.: http://servidor:1234/g5-senior-services/
Opcionalmente o wsdl completo pode ser enviado em cada requisição no atributo wsdl, omitindo o service.
import { G5Config, G5SeniorClient } from "g5-senior-client";
/**
* Base URL
*/
const config: G5Config = {
baseUrl: "http://servidor:1234/g5-senior-services/"
}
G5SeniorClient.config(config);
Parâmetros da Requisição
O atributo service pode receber o nome do serviço com "." ou "_". Ex.: com.senior.cad...
e com_senior_cad...
são equivalentes.
Opcionalmente pode-se enviar o wsdl completo (exatamente como indicado na documentação Senior), nesse caso o atributo service é desconsiderado. Exemplo no item Requisição sem registro prévio
import { G5Request } from "g5-senior-client";
/**
* Request Params
*/
const request: G5Request = {
module: "rubi",
service: "com.senior...",
port: "Gravar...",
parameters: {
codEmp: "1",
codFil: "1",
others: "...."
},
};
Requisição (Rxjs)
import { G5SeniorClient } from "g5-senior-client";
/**
* Request
*/
G5SeniorClient.request(request).subscribe({
// Handle Response
next: (res: any) => console.log(res),
// Handle Error
error: (err: any) => console.log(err),
});
Requisição (Promise)
import { G5SeniorClient } from "g5-senior-client";
/**
* Async Request
*/
G5SeniorClient.asyncRequest(request).then((res: any) => {
// Handle Response
console.log(res);
}).catch((err: any) =>
// Handle Error
console.log(err)
)