Skip to content
This repository was archived by the owner on Dec 1, 2019. It is now read-only.

Commit 800883b

Browse files
committed
+ docs... Quase no fim!
1 parent ba03066 commit 800883b

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

README.md

+73
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,79 @@ Chave | Tipo | Descrição
290290
`msg_erro` | string | Mensagem de erro.
291291
`servico_descricao` | string | Descrição do serviço.
292292

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+
293366
####Tabela de serviços
294367

295368
Aqui estão alguns dos códigos e suas respectivas descrições para consulta:

0 commit comments

Comments
 (0)