Treat ERP Bling's json callback in Laravel

0

I'm having trouble handling the following json return from ERP Bling on Laravel:

array (
  'data' => '{"retorno":{"pedidos":[{"pedido":{"desconto":"0","observacoes":"","observacaointerna":"","data":"2018-10-20","numero":"6462","vendedor":"Mauricio Liell","valorfrete":"0.00","totalprodutos":"31.00","totalvenda":"31.00","situacao":"Atendido","cliente":{"nome":"Mauricio","cnpj":"xxx.xxx.xxx-xx","ie":"","rg":"","endereco":"Av. Dxxxxxx e","numero":"xxx","complemento":"","cidade":"Bom Principio","bairro":"Centro","cep":"95.765-000","uf":"RS","email":"xxxxxxxxx","celular":"","fone":"(51) xxxxxxxx},"itens":[{"item":{"codigo":"1","descricao":"Cimento Todas as Obras Votoran 50 KG","quantidade":"1.0000","valorunidade":"31.0000000000","precocusto":"23.5600000000","descontoItem":"0.00","un":"Sc"}}],"pagamento":{"categoria":"Venda de Mercadorias"},"parcelas":[{"parcela":{"valor":"31.00","dataVencimento":"2018-10-20 00:00:00","obs":"","forma_pagamento":{"id":455687,"descricao":"Ficha Financeira","codigoFiscal":99}}}]}}]}}',
)  

What do I need to save the following order data: number, date, total sale, seller, situation, customer name.

I have the following code in the controller:

$json_string = $request->all();

$json_string = $json_string['data'];


        //Log::critical($json_string);


        foreach ($json_string['retorno']['pedidos'] as $data ) {


            $pedido = IndicadoresPedido::firstOrNew(array('numero_pedido' => $data['pedido']['numero']));


            $pedido->numero_pedido = $data['pedido']['numero'];
            $pedido->data =  $data['pedido']['data'];
            $pedido->valor_total = $data['pedido']['totalvenda'];
            $pedido->vendedor =  $data['pedido']['vendedor'];
            $pedido->situacao =  $data['pedido']['situacao'];
            $pedido->cliente =  $data['pedido']['cliente']['nome'];

            if ($pedido->save()){

                $sucesso[] = $pedido;
            };

        }

And I'm getting the error:

production.ERROR: Illegal string offset 'retorno' {"exception":"[object] (ErrorException(code: 0): Illegal string offset 'retorno' at /var/www/interno/app/Http/Controllers/apiController.php:33)

If anyone has any suggestions, thank you very much.

    
asked by anonymous 08.11.2018 / 03:48

0 answers