@@ -290,6 +290,79 @@ Chave | Tipo | Descrição
290
290
` msg_erro ` | string | Mensagem de erro.
291
291
` servico_descricao ` | string | Descrição do serviço.
292
292
293
+ ####Calculando uma data de entrega
294
+
295
+ Lembra que o resultado da consulta traz um objeto? Ele tem alguns métodos
296
+ interessantes que podem te ajudar a manipular melhor os dados de retorno da
297
+ consulta de preço e prazo. Um destes métodos é o ` calculaEntrega ` . Com ele a
298
+ gente consegue ter uma data de estimativa de entrega. Veja:
299
+
300
+ ``` php
301
+ $entrega = $calculado[0]->calculaEntrega(new DateTime('now'));
302
+
303
+ print_r($entrega);
304
+ ```
305
+
306
+ Que resulta neste output:
307
+
308
+ ```
309
+ DateTime Object
310
+ (
311
+ [date] => 2015-05-18 00:00:00
312
+ [timezone_type] => 3
313
+ [timezone] => UTC
314
+ )
315
+ ```
316
+
317
+ Veja que o método recebe um objeto DateTime e retorna um objeto ` DateTime `
318
+ representando a data de entrega. O método vai levar em consideração se, a partir
319
+ da data de envio, a soma do prazo cai em algum dia do fim de semana, e ajusta
320
+ a data para o próximo dia útil seguinte, a não ser que a entrega caia num sábado
321
+ e o endereço de entrega possua o valor da chave ` entrega_sabado ` como ` true ` .
322
+
323
+ ####Formatando valores
324
+
325
+ Você também pode retornar facilmente os valores de envio já formatados. Veja:
326
+
327
+ ``` php
328
+ echo $calculado[0]->formataValor('valor');
329
+ ```
330
+
331
+ Que resulta neste output:
332
+
333
+ ```
334
+ R$ 15,50
335
+ ```
336
+
337
+ O valor será formatado de acordo com o padrão monetário brasileiro. Se você
338
+ quiser, pode omitir o prefixo "R$" passando ` false ` no segundo argumento:
339
+
340
+ ``` php
341
+ echo $calculado[0]->formataValor('valor', talse); //15,50
342
+ ```
343
+
344
+ ####Ajuste inteligente de pacotes
345
+
346
+ Nenhum dos valores de dimensões dos pacotes é obrigatório de ser preenchido.
347
+ Desta forma a biblioteca usa padrões que fazem sentido pra maioria dos envios e
348
+ deve retornar valores adequados. Se você quiser personalizar os valores das
349
+ dimensões, a biblioteca automaticamente ajusta estes valores caso eles estejam
350
+ fora dos padrões definidos pelos Correios. Existem diversas regras que definem
351
+ quais são as dimensões permitidas, inclusive para cada tipo de formato
352
+ diferente.
353
+
354
+ Sendo assim, a biblioteca vai verificar qual o formato definido, as regras para
355
+ este formato e vai tentar ajustar as dimensões para que o cálculo aconteça sem
356
+ errors.
357
+
358
+ Se você desejar que a biblioteca não faça este ajuste automaticamente, basta chamar
359
+ o método da seguinte forma:
360
+
361
+ ``` php
362
+ $config = []; //a configuração de sua chamada aqui...
363
+ $calculado = $correios->calculaFrete($config, false);
364
+ ```
365
+
293
366
####Tabela de serviços
294
367
295
368
Aqui estão alguns dos códigos e suas respectivas descrições para consulta:
0 commit comments