OpenTitleService
Visao Geral
O OpenTitleService fornece operacoes para buscar titulos em aberto no backend, incluindo consulta geral paginada e consulta filtrada por cliente.
Localizacao: services/open-title/open-title.service.ts
Endpoints
| Metodo | Endpoint | Descricao |
|---|---|---|
| GET | /titulosAberto | Lista titulos em aberto com paginacao |
| GET | /titulosAberto/cliente/{clientId} | Lista titulos em aberto de um cliente especifico |
Metodos
fetchRemote(params)
Busca titulos em aberto de forma geral.
Parametros
| Nome | Tipo | Obrigatorio |
|---|---|---|
params | { page?: number; size?: number; dataHora?: string } | Nao |
Retorno: Promise<OpenTitle[]>
Exemplo
const titles = await openTitleService.fetchRemote({
page: 0,
size: 999,
dataHora: "2026-04-01T00:00:00",
});
console.log(titles[0].cliente); // "Empresa Alfa"
Erros
| Status | Descricao |
|---|---|
| 4xx/5xx | Lanca Error: OpenTitleService.fetchRemote failed: {status} |
fetchRemoteByClient(clientId, params)
Busca titulos em aberto de um cliente especifico.
Parametros
| Nome | Tipo | Obrigatorio |
|---|---|---|
clientId | string | Sim |
params | { page?: number; size?: number } | Nao |
Retorno: Promise<OpenTitle[]>
Exemplo
const clientTitles = await openTitleService.fetchRemoteByClient(
"client-id-123",
{
page: 0,
size: 999,
},
);
console.log(clientTitles.length); // 10
Erros
| Status | Descricao |
|---|---|
| 4xx/5xx | Lanca Error: OpenTitleService.fetchRemoteByClient failed: {status} |
fetchRemoteErp(codParc)
Busca títulos em aberto no ERP para um parceiro específico.
Parâmetros
| Nome | Tipo | Obrigatório |
|---|---|---|
codParc | string | Sim |
Retorno: Promise<OpenTitleErp[]>
Exemplo
const erpTitles = await openTitleService.fetchRemoteErp("partner-code-123");
console.log(erpTitles.length); // 5
Erros
| Status | Descrição |
|---|---|
| 4xx/5xx | Lança Error: OpenTitleService.fetchRemoteErp failed: {status} |
Estruturas de Dados
OpenTitle
interface OpenTitle {
id: string;
idOrganization: string;
idExterno: string;
idCliente: string;
cliente: string;
idUsuario: string;
usuario: string;
idCabecalhoPedido: string;
valor: number;
numeroParcelas: string;
numeroDoc: number;
dataVenc: number;
dhBaixa: string;
provisao: string;
tipoTitulo: string;
vlrDesdob: number;
vlrJuro: number;
vlrMulta: number;
vlrBaixa: number;
codStatus: number;
codModnf: number;
nossoNum: string;
dhCriacao: string;
dhAlteracao: string;
}
PageResponse<T>
interface PageResponse<T> {
content: T[];
page?: number;
size?: number;
totalElements?: number;
}
OpenTitleErp
interface OpenTitleErp {
id: string;
idOrganization: string;
idExterno: string;
idCliente: string;
cliente: string;
idUsuario: string;
usuario: string;
idCabecalhoPedido: string;
valor: number;
numeroParcelas: string;
numeroDoc: number;
dataVenc: number;
dhBaixa: string;
provisao: string;
tipoTitulo: string;
vlrDesdob: number;
vlrJuro: number;
vlrMulta: number;
vlrBaixa: number;
codStatus: number;
codModnf: number;
nossoNum: string;
dhCriacao: string;
dhAlteracao: string;
}
Componentes Relacionados
| Componente | Descricao |
|---|---|
buildQueryParams | Helper para serializar parametros de query em requisicoes GET |
apiWithoutAccessToken | Instancia Axios sem token de autenticacao |
Casos de Uso
- Buscar todos os titulos em aberto para sincronizacao local
- Consultar pendencias financeiras em aberto de um cliente
Testes
Localizacao: services/open-title/open-title.service.test.ts
Principais cenarios
| Cenario | Resultado esperado |
|---|---|
fetchRemote status 200 | Retorna openTitleResponseMock.content |
fetchRemote status 400 | Lanca OpenTitleService.fetchRemote failed |
fetchRemoteByClient status 200 | Retorna openTitleResponseMock.content |
fetchRemoteByClient status 400 | Lanca OpenTitleService.fetchRemoteByClient failed |
Mocks
Localizacao: __mocks__/open-title.mock.ts
openTitleResponseMock- resposta paginada mockada com titulos em aberto
Instancia
Localizacao: services/open-title/open-title.service.instance.ts
import { openTitleService } from "@/services/open-title/open-title.service.instance";