AlexandreBellas / bling-erp-api-php

Módulo de integração com a API do Bling ERP em PHP.
MIT License
10 stars 5 forks source link

Erro com produtos com Estrutura vazias / Chamada de Modulo #20

Closed crodriguesmg closed 2 months ago

crodriguesmg commented 3 months ago

Quando um produto está sendo solicitado via "find" se o nó do array estrutura estiver com os dados vazio ele retorna erro, ou seja, seria como um KIT ou combo, se não tiver dados ele retorna erro no Entities/Produtos/Enum -> Situacao.php , TipoEstoque.php, lancamentoEstoque.php

Situacao.php ->Adicionar o case EXCLUIDO = 'E'; TipoEstoque.php e lancamentoEstoque.php -> case UNDEFINED = ''; // Caso para tratar valores vazios

definir esses case resolveram o problema me meu codigo

Outro problema está no arquivo Bling.php -> o modulo Canais de venda não foi adicionado.

Adicionar a seguinte linha na função __get 'CanaisDeVenda' => $this->getModule(CanaisDeVenda::class),

AlexandreBellas commented 3 months ago

Obrigado pelo feedback! Até este fim de semana estarei implementando as correções que você pontuou. Caso você precise das correções mais cedo, você pode abrir um PR com elas, o que você preferir. :smile:

AlexandreBellas commented 3 months ago

Lancei a versão v1.14.1 que adiciona as correções mencionadas.

Me avise caso alguma outra correção seja necessária. Se não houver, fecharei a issue. :pray:

crodriguesmg commented 2 months ago

Opa boa tarde. Perfeito meu amigo, baixei aqui e deu certo essa atualização.

Eu estou usando praticamente toda a biblioteca em um sistema interno da empresa, eu estou verificando estrutura e chegou outro erro

Quando consulto uma produto filho que está dentro da estrutura de um outro produto tenho esse seguinte errro Desabilitei essas três variaveis e deu certo, mas uma vez o problema está quando vem vazio agora o item componente:[] da estrutura public string $ordem, public Id $anexo, public Id $anexoVinculo, "success": false, "error": "Could not parse property \"ordem\" of type \"string\".", "message": "Error on Data" } <?php

namespace AleBatistella\BlingErpApi\Entities\Produtos\Schema\Find;

use AleBatistella\BlingErpApi\Entities\Shared\BaseResponseObject; use AleBatistella\BlingErpApi\Entities\Shared\DTO\Schema\Id;

readonly final class FindResponseDataMidiaImagensInternas extends BaseResponseObject { /**

On Sun, Aug 25, 2024 at 1:11 PM Alexandre Batistella Bellas < @.***> wrote:

Lancei a versão v1.14.1 https://github.com/AlexandreBellas/bling-erp-api-php/releases/tag/v1.14.1 que adiciona as correções mencionadas.

Me avise caso alguma outra correção seja necessária. Se não houver, fecharei a issue. 🙏

— Reply to this email directly, view it on GitHub https://github.com/AlexandreBellas/bling-erp-api-php/issues/20#issuecomment-2308909649, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7C5EVKTM6FFCQO5QZZYYTZTH62TAVCNFSM6AAAAABMYZAT4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBYHEYDSNRUHE . You are receiving this because you authored the thread.Message ID: @.***>

AlexandreBellas commented 2 months ago

Fico feliz que a biblioteca está sendo útil para a sua empresa! :smile:

Vou dar uma olhada neste último bug esta semana. Te dou um feedback assim que possível. Uma pena que a documentação do Bling não é tão clara quanto à possibilidade de vir string vazia na resposta. :melting_face:

Você chegou a ter esse erro em outros objetos também?

AlexandreBellas commented 2 months ago

Pelo o que vi no código, o atributo ordem de um objeto do array midia->imagens->internas não está vindo como parte do $attributes de BaseResponseObject, representando que a API não está retornando o valor de ordem preenchido. Ou seja, ele pode ser null.

Vou deixá-lo nullable para resolver seu problema. Uma pena que não podemos confiar tanto assim na documentação. rs

image

AlexandreBellas commented 2 months ago

Lancei a release v1.14.2 que torna os atributos nullable. Faça um teste com a nova versão e veja se isso corrige o seu caso. :pray:

crodriguesmg commented 2 months ago

Perfeito, inicialmente problema resolvido.

A grande questão do bling é que temos 2 pontos,

  1. Produto principal ou único que ja vem com esses dados tudo certinho,
  2. outro é por exemplo um kit, que acesso os produtos que estão na estrutura do produto principal, então o problema não estava dando no produto principal (pai), mas sim no produtos da composição.

Perfeito, obrigado!