Skip to content

Commit

Permalink
feat: atualizar para v304
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexandreBellas committed Sep 29, 2024
1 parent 00eb294 commit a71553f
Show file tree
Hide file tree
Showing 23 changed files with 910 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
Pacote de integração com a [API v3 do ERP Bling](https://developer.bling.com.br)
para Javascript/TypeScript. O mais completo existente.

Atualizado com a versão `v303` da API ([veja o registro de alterações](https://developer.bling.com.br/changelogs#2024-06-19)).
Atualizado com a versão `v304` da API ([veja o registro de alterações](https://developer.bling.com.br/changelogs#2024-07-04)).

**Atenção**: a versão 5.0.0+ do `bling-erp-api` para Javascript/TypeScript
utiliza a API v3 do Bling. Caso deseja utilizar a API v2 do Bling,
Expand Down Expand Up @@ -82,7 +82,7 @@ Quase todas as entidades do Bling atualmente são permitidas para interação. S
- [x] Produtos - Fornecedores (`.produtosFornecedores`)
- [x] Produtos - Lojas (`.produtosLojas`)
- [x] Produtos - Variações (`.produtosVariacoes`)
- [ ] Propostas Comerciais (`.propostasComerciais`)
- [x] Propostas Comerciais (`.propostasComerciais`)
- [x] Situações (`.situacoes`)
- [x] Situações - Módulos (`.situacoesModulos`)
- [x] Situações - Transições (`.situacoesTransicoes`)
Expand Down
7 changes: 7 additions & 0 deletions src/bling.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import { Usuarios } from './entities/usuarios'
import { Vendedores } from './entities/vendedores'
import { CanaisDeVenda } from './entities/canaisDeVenda'
import { OrdensDeProducao } from './entities/ordensDeProducao'
import { PropostasComerciais } from './entities/propostasComerciais'

const chance = Chance()

Expand Down Expand Up @@ -259,4 +260,10 @@ describe('Bling main module', () => {
OrdensDeProducao
)
})

it('should retrieve propostas comerciais entity', () => {
expect(createBling(chance.word()).propostasComerciais).toBeInstanceOf(
PropostasComerciais
)
})
})
10 changes: 10 additions & 0 deletions src/bling.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import { ProdutosEstruturas } from './entities/produtosEstruturas'
import { ProdutosFornecedores } from './entities/produtosFornecedores'
import { ProdutosLojas } from './entities/produtosLojas'
import { ProdutosVariacoes } from './entities/produtosVariacoes'
import { PropostasComerciais } from './entities/propostasComerciais'
import { Situacoes } from './entities/situacoes'
import { SituacoesModulos } from './entities/situacoesModulos'
import { SituacoesTransicoes } from './entities/situacoesTransicoes'
Expand Down Expand Up @@ -442,4 +443,13 @@ export default class Bling {
public get ordensDeProducao(): OrdensDeProducao {
return this.getModule(OrdensDeProducao)
}

/**
* Obtém a instância de interação com propostas comerciais.
*
* @return {PropostasComerciais}
*/
public get propostasComerciais(): PropostasComerciais {
return this.getModule(PropostasComerciais)
}
}
4 changes: 2 additions & 2 deletions src/entities/estoques/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export class Estoques extends Entity {
return await this.repository.show({
endpoint: 'estoques/saldos',
id: String(params.idDeposito),
params: { idsProdutos: params.idsProdutos }
params: { idsProdutos: params.idsProdutos, codigos: params.codigos }
})
}

Expand All @@ -51,7 +51,7 @@ export class Estoques extends Entity {
): Promise<IGetBalancesResponse> {
return await this.repository.index({
endpoint: 'estoques/saldos',
params: { idsProdutos: params.idsProdutos }
params: { idsProdutos: params.idsProdutos, codigos: params.codigos }
})
}

Expand Down
4 changes: 2 additions & 2 deletions src/entities/estoques/interfaces/find-balance.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ export interface IFindBalanceParams {
*/
idsProdutos: number[]
/**
* Código do produto
* Códigos dos produtos
*/
codigo?: string
codigos?: string[]
}

export interface IFindBalanceResponse {
Expand Down
4 changes: 2 additions & 2 deletions src/entities/estoques/interfaces/get-balances.interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ export interface IGetBalancesParams {
*/
idsProdutos: number[]
/**
* Código do produto
* Códigos dos produtos
*/
codigo?: string
codigos?: string[]
}

export interface IGetBalancesResponse {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default null

export const changeSituationRequest = {
situacao: 'A' as const
}
69 changes: 69 additions & 0 deletions src/entities/propostasComerciais/__tests__/create-response.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
export default {
data: {
id: 12345678
}
}

export const createRequestBody = {
data: "2024-04-29",
situacao: "Concluído",
numero: 13,
contato: {
id: 12345678
},
loja: {
id: 12345678
},
desconto: 10,
outrasDespesas: 11,
garantia: 3,
dataProximoContato: "2024-05-01",
observacoes: "Observações da proposta comercial",
observacaoInterna: "Observações internas da proposta comercial",
totalOutrosItens: 1,
aosCuidadosDe: "Nome do Contato",
introducao: "Introdução da proposta comercial",
prazoEntrega: "Prazo de entrega proposta comercial",
itens: [
{
produto: {
id: 12345678,
descricao: "Bolo"
},
codigo: "BLG-5",
unidade: "UN",
quantidade: 1.1,
desconto: 1.2,
valor: 3.1,
descricaoDetalhada: "Descrição detalhada do produto"
}
],
parcelas: [
{
numeroDias: 10,
dataVencimento: "2024-04-29",
valor: 10.55,
observacoes: "Observacao da forma de pagamento",
formaPagamento: [
{
id: 12345678
}
]
}
],
vendedor: {
id: 12345678
},
transporte: {
freteModalidade: 0 as const,
frete: 2.34,
quantidadeVolumes: 2.33,
prazoEntrega: 2,
pesoBruto: 2.4,
contato: {
id: 12345678,
nome: "Nome do transportador"
},
volumes: {}
}
}
30 changes: 30 additions & 0 deletions src/entities/propostasComerciais/__tests__/delete-many-response.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
export default {
data: {
alertas: [
{
error: {
type: "VALIDATION_ERROR",
message: "Não foi possível salvar a venda",
description: "A venda não pode ser salva, pois ocorreram problemas em sua validação.",
fields: [
{
code: 49,
msg: "Uma ou mais parcelas da venda possuem erros de validação",
element: "parcelas",
namespace: "VENDAS",
collection: [
{
index: 1,
code: 12,
msg: "Id da forma de pagamento inválido.",
element: "formaPagamento",
namespace: "VENDAS"
}
]
}
]
}
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export default null
70 changes: 70 additions & 0 deletions src/entities/propostasComerciais/__tests__/find-response.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
export default {
id: 123456789,
data: "2024-04-29",
situacao: "Concluído",
total: 251,
totalProdutos: 500,
numero: 13,
contato: {
id: 12345678
},
loja: {
id: 12345678
},
desconto: 10,
outrasDespesas: 11,
garantia: 3,
dataProximoContato: "2024-05-01",
observacoes: "Observações da proposta comercial",
observacaoInterna: "Observações internas da proposta comercial",
totalOutrosItens: 1,
aosCuidadosDe: "Nome do Contato",
introducao: "Introdução da proposta comercial",
prazoEntrega: "Prazo de entrega proposta comercial",
itens: [
{
produto: {
id: 12345678,
descricao: "Bolo"
},
codigo: "BLG-5",
unidade: "UN",
quantidade: 1.1,
desconto: 1.2,
valor: 3.1,
descricaoDetalhada: "Descrição detalhada do produto"
}
],
parcelas: [
{
numeroDias: 10,
dataVencimento: "2024-04-29",
valor: 10.55,
observacoes: "Observacao da forma de pagamento",
formaPagamento: [
{
id: 12345678
}
]
}
],
vendedor: {
id: 12345678
},
transporte: {
freteModalidade: 0 as const,
frete: 2.34,
quantidadeVolumes: 2.33,
prazoEntrega: 2,
pesoBruto: 2.4,
contato: {
id: 12345678,
nome: "Nome do transportador"
},
volumes: {
id: 12345678,
servico: "Correios PAC",
codigoRastreamento: "R56563A"
}
}
}
18 changes: 18 additions & 0 deletions src/entities/propostasComerciais/__tests__/get-response.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
export default {
data: [
{
id: 123456789,
data: "2024-04-29",
situacao: "Concluído",
total: 251,
totalProdutos: 500,
numero: 13,
contato: {
id: 12345678
},
loja: {
id: 12345678
}
}
]
}
Loading

0 comments on commit a71553f

Please sign in to comment.