frete
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.4 • Public • Published

    Frete

    frete-sheriff npm npm

    NPM


    Modulo para consumo da API dos correios de calculo remoto de precos e prazos:

    Implementação de todos os metodos disponiveis na API, com acessores simples e fáceis. :)

    Para ganharmos um pouco de performance, usamos o wsdl salvo no folder ./correios-data/CalcPrecoPrazo.xml, ao invés de fazermos o request inicial para isso.

    Também mantemos uma lista de todos os serviços disponíveis pelos correio em ./correios-data/listaServicos.json, você pode atualizar essa lista juntamente com as definiçōes de TypeScript rodando o arquivo ./scripts/dump-services.js

    Todas as opções do wsdl estao disponíveis via os mesmos comandos, e os metodos estão disponíveis nos mesmos nomes mas em camelCase e sem o prefixo Calc, (e.g. .precoPrazo()).

    Para maiores detalhes de usage, você pode checar os nossos tests em frete.spec.js

    Exemplos

    Calculo simples de prazo usando promises:

    const frete = require('frete');
    
    (async function() {
        const results = await frete()
            .cepOrigem('13467460')
            .servico(frete.servicos.sedex)
            .prazo('13466321');
    
            console.log(results);
    })();
    

    Calculo simples de prazo:

    const frete = require('frete');
    
    frete()
        .cepOrigem('13467460')
        .servico(frete.servicos.sedex)
        .prazo('13466321', function (err, results) {
            console.log(err);
            console.log(results);
        })

    Calculo simples de preco:

    const frete = require('frete');
    
    frete()
        .cepOrigem('13467460')
        .peso(1)
        .formato(frete.formatos.caixaPacote)
        .comprimento(16)
        .altura(2)
        .largura(11)
        .diametro(1)
        .maoPropria(frete.maoPropria.nao)
        .valorDeclarado(50)
        .avisoRecebimento(frete.avisoRecebimento.sim)
        .servico(frete.servicos.sedex)
        .preco('13466321', function (err, results) {
            console.log(err);
            console.log(results);
        });

    Calculo simples de preco e prazo:

    const frete = require('frete');
    
    frete()
        .cepOrigem('13467460')
        .peso(1)
        .formato(frete.formatos.caixaPacote)
        .comprimento(16)
        .altura(2)
        .largura(11)
        .diametro(1)
        .maoPropria(frete.maoPropria.nao)
        .valorDeclarado(50)
        .avisoRecebimento(frete.avisoRecebimento.sim)
        .servico(frete.servicos.sedex)
        .precoPrazo('13466321', function (err, results) {
            console.log(err);
            console.log(results);
        });

    Default options:

    const frete = require('frete');
    frete.cepOrigem('13467460').servico([ frete.servicos.sedex, frete.servicos.pac ]);
    
    frete().prazo('13466321', function (err, results) {
        console.log(err);
        console.log(results);
    
        frete().prazo('13466321', function (err, results) {
            console.log(err);
            console.log(results);
        });
    });

    Objeto as config / More usages

    const frete = require('frete');
    frete.cepOrigem('13467460').servico([ frete.servicos.sedex, frete.servicos.pac ]);
    
    frete({
        cepDestino: '13466321',
        peso: 1,
        formato: frete.formatos.caixaPacote,
        comprimento: 16,
        altura: 2,
        largura: 11,
        diametro: 1,
        maoPropria: frete.maoPropria.nao,
        valorDeclarado: 50,
        avisoRecebimento: frete.avisoRecebimento.sim
    }).prazo(function(err, result) {
        console.log(err);
        console.log(result);
    });

    Utilities

    const frete = require('frete');
    
    console.log(frete.servicos.list);
    console.log(frete.servicos.search('sedex'));
    console.log(frete.servicos.byCode[81876]);

    Dependency

    Install

    npm i frete

    DownloadsWeekly Downloads

    84

    Version

    0.4.4

    License

    MIT

    Unpacked Size

    169 kB

    Total Files

    12

    Last publish

    Collaborators

    • deividy