frete
Version:
Modulo para consumo da API de frete dos correios brasileiros, com apenas node-soap como dependencia e consultando *apenas* a api dos correios, promises support.
439 lines (429 loc) • 18.1 kB
TypeScript
declare module 'frete' {
export interface CodigosServicoMapName {
'02259': 'MD COM GEOMARKETING POR REGIAO';
'02267': 'MD COM GEOMARKETING ENDERECADA';
'02275': 'MD COM GEOMARKETING ENDERECADA';
'04014': 'SEDEX A VISTA';
'04022': 'SEDEX ON LINE A VISTA';
'04030': 'PAC ON LINE A VISTA';
'04065': 'SEDEX A VISTA PGTO NA ENTREGA';
'04073': 'SPP A VISTA E A FATURAR';
'04081': 'SPP A VISTA E A FATURAR';
'04103': 'COMBO SEDEX A VISTA';
'04138': 'SEDEX CONTRATO GRAND FORMATOS';
'04146': 'SEDEX CONTR GRAND FORMATOS LM';
'04154': 'SEDEX CONTRATO AGENCIA LM';
'04162': 'SEDEX CONTRATO AGENCIA';
'04170': 'SEDEX REVERSO ESPELHO 04162';
'04189': 'SEDEX CONTR AGENCIA PAGTO ENTR';
'04197': 'COMBO SEDEX CONTRATO AGENCIA';
'04227': 'CORREIOS MINI ENVIOS CTR AG';
'04243': 'SEDEX REVERSO 04170 LM';
'04251': 'SEDEX CONTR AG PAGTO ENTREG LM';
'04278': 'SEDEX CONTRATO UO LM';
'04308': 'PAC CONTR AG PAGTO ENTREGA LM';
'04316': 'SEDEX CONTRATO - UO';
'04332': 'PAC CONTRATO UO LM';
'04340': 'COMBO SEDEX CONT AG AR ELET LM';
'04359': 'COMBO SEDEX CONTRATO AGENCI LM';
'04367': 'PAC CONTRATO AGENCIA LM';
'04375': 'PAC REVERSO 04677 LM';
'04383': 'PAC CONTR GRANDES FORMATOS LM';
'04405': 'SEDEX 12 SCADA A VISTA';
'04413': 'SEDEX 12 REVERSO SGPB A FATURA';
'04421': 'SEDEX 10 SCADA A VISTA';
'04430': 'SEDEX HOJE SCADA A VISTA FATU';
'04448': 'SEDEX HOJE REVERSO SGPB FATURA';
'04456': 'COMBO SEDEX 10 SCADA A VISTA';
'04464': 'COMBO SEDEX HOJE SCADA VIST FA';
'04472': 'COMBO SEDEX 12 SCADA A VISTA';
'04499': 'COMBO SEDEX 12 AR ELETR SCADA';
'04502': 'COMBO SEDEX 10 AR ELETR SCADA';
'04510': 'PAC A VISTA';
'04529': 'COMBO SEDEX HOJE AR ELET SCADA';
'04537': 'SEDEX CONTRATO GRANDES FORMATO';
'04553': 'SEDEX CONTRATO AGENCIA TA';
'04561': 'SEDEX CONT AG PAG ENT TA';
'04588': 'COMBO SEDEX CONT AG TA';
'04596': 'PAC CONTRATO AGENCIA TA';
'04600': 'PAC CONT AG PAG ENT TA';
'04618': 'PAC CONTRATO GRANDES FORMATOS';
'04669': 'PAC CONTRATO AGENCIA';
'04677': 'PAC REVERSO ESPELHO 04669';
'04685': 'PAC CONTRATO AGENCIA PAGTO ENT';
'04693': 'PAC CONTRATO GRANDES FORMATOS';
'04707': 'PAC A VISTA PAGTO NA ENTREGA';
'04715': 'COMBO PAC A VISTA';
'04812': 'PAC CONTRATO - UO';
'04839': 'COMBO SEDEX A VISTA AR ELETRON';
'04901': 'COMBO SEDEX A VISTA EMBALAGEM';
'04910': 'COMBO PAC A VISTA EMBALAGEM';
'04928': 'SEDEX REVERSO TA ESPELHO 04553';
'04936': 'PAC REVERSO TA ESPELHO 04596';
'10014': 'CARTA SIMPLES A VISTA';
'10022': 'CARTA SOCIAL';
'10030': 'CARTA REGISTRADA VISTA SELO SE';
'10057': 'CARTA FATURAR OP ACIMA 500 GR';
'10065': 'CARTA A FATURAR CHANCELA';
'10073': 'CARTA AGF OP';
'10081': 'CARTA REGISTRADA O3 ETIQ';
'10090': 'CARTA REGISTRADA PR1 SELO E SE';
'10120': 'CARTA SIMPLES ADMINISTRATIVA';
'10138': 'CARTA REG FAT ETIQ';
'10146': 'CARTA REG MOD FAT ETIQ';
'10154': 'CARTA REGISTRADA O1 ETIQ';
'10162': 'CARTA REGISTRADA O2 ETIQ';
'10189': 'E-CARTA A4 MON RG-FAIXA 1';
'10200': 'CARTA REGISTRADA PL3';
'10456': 'E-CARTA A4 MON RG ARD-FAIXA 1';
'10499': 'E-CARTA A4 MON RG ARD-FAIXA 5';
'10502': 'E-CARTA A4 MON RG ARD-FAIXA 6';
'10510': 'E-CARTA A4 MON RG ARD-FAIXA 7';
'10570': 'E-CARTA A4 MON RG ARD-FAIXA 13';
'10600': 'E-CARTA A4 MON RG ARD-FAIXA 15';
'10669': 'E-CARTA A4 MON RG ARD-FX 15';
'10707': 'CARTA COM REG CTR EP MÁQ FRAN';
'10715': 'CARTA COM SIMPLES CTO MÁQ FRAN';
'10723': 'CARTA COM REG MOD CTO EP MÁQ F';
'10987': 'REGISTRADO ADMINISTRATIVO';
'11711': 'CARTA REGISTRADA C AR B1';
'11720': 'CARTA REGISTRADA C AR PR1';
'11835': 'CARTA REGISTRADA O3';
'11843': 'CARTA REGISTRADA O4';
'11851': 'CARTA REGISTRADA PL1';
'11860': 'E-CARTA TABELA BASE ECD';
'11878': 'E-CARTA TABELA BASE ECR';
'11886': 'E-CARTA ECD 01';
'11894': 'E-CARTA ECD 02';
'11908': 'E-CARTA ECD 03';
'11916': 'E-CARTA ECD 04';
'11924': 'E-CARTA ECR 01';
'11932': 'E-CARTA ECR 02';
'11940': 'E-CARTA ECR 03';
'11959': 'E-CARTA ECR 04';
'11967': 'E-CARTA SIMPLES ECS 01';
'11975': 'E-CARTA SIMPLES ECS 02';
'11983': 'E-CARTA SIMPLES TB ECS';
'11991': 'POSTAL RESPOSTA';
'12165': 'POSTAL RESPOSTA DPVAT';
'12203': 'COMBO MDB LOCAL CHANCELA E PP';
'12211': 'COMBO MDB ESTADUAL CHANC E PP';
'12220': 'COMBO MDB NACIONAL CHANC E PP';
'12227': 'COMBO MDE LOCAL +PP FX2';
'12238': 'COMBO MDE LOCAL +PP FX1';
'12254': 'COMBO MDE ESTADUAL + PP FX1';
'12262': 'COMBO MDE NACIONAL +PP FX1';
'12289': 'COMBO MDE ESTADUAL +PP FX2';
'12297': 'COMBO MDE NACIONAL +PP FX2';
'12300': 'COMBO MDE LOCAL +PP FX3';
'12319': 'COMBO MDE ESTADUAL +PP FX3';
'12327': 'COMBO MDE NACIONAL +PP FX3';
'12335': 'COMBO MDE LOCAL +PP FX4';
'12351': 'COMBO MDE ESTADUAL +PP FX4';
'12360': 'COMBO MDE NACIONAL +PP FX4';
'12378': 'COMBO MDE LOCAL +PP FX5';
'12386': 'COMBO MDE ESTADUAL +PP FX5';
'12394': 'COMBO MDE NACIONAL +PP FX5';
'12416': 'COMBO MDE LOCAL +PP FX6';
'12424': 'COMBO MDE ESTADUAL +PP FX6';
'12432': 'COMBO MDE NACIONAL +PP FX6';
'12440': 'COMBO MDE LOCAL +PP FX7';
'12459': 'COMBO MDE ESTADUAL +PP FX7';
'12467': 'COMBO MDE NACIONAL +PP FX7';
'12483': 'CARTA REGISTRADA A VISTA';
'12491': 'CARTA REGISTRO MODICO A VISTA';
'12505': 'CARTA NAO COML REGISTRADA';
'12513': 'CARTA NAO COML REGISTRO MODICO';
'12556': 'CARTA A FATURAR SELO E SE';
'12637': 'CARTA NAO COMERCIAL A VISTA';
'12645': 'CARTA COMERCIAL A VISTA';
'14010': 'MALA DIRETA POSTAL NORMAL LOCA';
'14028': 'MALA DIRETA POSTAL URGENTE LOC';
'14036': 'MALA DIRETA POSTAL DOMICILIARI';
'14575': 'MDP BASICA-NACIONAL- A FATURAR';
'14591': 'MDP BASICA-NACIONAL- A VISTA';
'14745': 'MDP BASICA- LOCAL 1- A FATURAR';
'14753': 'MDP BASICA-ESTADUAL- A FATURAR';
'14761': 'MDP BASICA-LOCAL 1- A VISTA';
'14770': 'MDP BASICA-ESTADUAL- A VISTA';
'14877': 'MDPD NAO END (FATURAR)';
'15270': 'MDPE - URGENTE - LOCAL';
'15288': 'MDPE - URGENTE - ESTADUAL';
'15296': 'MDPE - URGENTE - NACIONAL';
'15300': 'MDPB ESTADUAL A FAT CHANCELA';
'15318': 'MDPB LOCAL A FAT CHANCELA';
'15326': 'MDPB NACIONAL A FAT CHANCELA';
'15350': 'MDB A VISTA CHANCELA NACIONAL';
'15547': 'MDB LOCAL PROMO DIA CLIENTE';
'15555': 'MDB EST PROMO DIA CLIENTE';
'15563': 'MDB NAC PROMO DIA CLIENTE';
'15571': 'MDB RCN ATE 20KG LOCAL CHANC';
'15580': 'MDB RCN ATE 20KG ESTADO CHANC';
'15598': 'MDB RCN ATE 20KG LOCAL FRANQ';
'15610': 'MDB RCN ATE 20KG NACIO FRANQ';
'15628': 'MDB RCN ATE 20KG NACIO CHANC';
'15636': 'MDB RCN ATE 20KG ESTADO FRANQ';
'15962': 'COMBO MD DOMICILIARIA PP FAT';
'16012': 'CARTÃO POSTAL NACIONAL';
'20010': 'IMPRESSO NACIONAL NORMAL';
'20109': 'IMPRESSO NAC URGENTE FAT CHANC';
'20125': 'IMPRESSO NACI NORMAL FAT CHANC';
'20141': 'IMPRESSO NAC URGENTE FAT MFD';
'20150': 'IMPRESSO NAC NORMAL FAT MFD';
'20206': 'IMPRESSO NORMAL _RCN_ATE 20KG';
'20214': 'IMPRESSO NACIONAL URGENTE';
'20354': 'IMPRESSO RCN ATE 20KG CHANCELA';
'20362': 'IMPRESSO REGISTRADO A VISTA';
'20370': 'IMPRESSO URGENTE REG A VISTA';
'20397': 'IMPRESSO URG REG MOD A VISTA';
'20419': 'IMPRESSO REG MODICO A VISTA';
'22012': 'CECOGRAMA NACIONAL';
'31100': 'SERVIÇOS BASICOS -OPERAÇÃO B -';
'31119': 'SERVIÇOS BASICOS-OPERAÇÃO B -';
'31127': 'SERVIÇOS BASICOS-OPER B -ANUAL';
'31135': 'SERVIÇOS BASICOS-OP B -ANUAL';
'31283': 'SERVIÇOS BASICOS -OPERAÇÃO B -';
'31291': 'SERVIÇOS BASICOS -OPERAÇÃO B -';
'35050': 'DISTRIBUIÇÃO DE REAVISOS-';
'35068': 'DISTRIB DE DOCUMENTOS DIVERSOS';
'35122': 'DISTRIBUIÇÃO CONVENCIONAL DE';
'35130': 'DISTRIBUIÇÃO DE REAVISOS -';
'35149': 'DISTRIBUIÇÃO DE DOCUMENTOS';
'35173': 'DISTRIB DE CONTAS COM ENTREGA';
'35190': 'DISTRIB DE CONTAS COM ENTREGA';
'35220': 'DISTRIBUIÇÃO CONTAS ÁGUA/LUZ';
'35238': 'DISTRIBUIÇÃO CONTAS ÁGUA/LUZ';
'35246': 'DISTRIBUIÇÃO CONTAS ÁGUA/LUZ';
'35254': 'DISTRIBUIÇÃO CONTAS ÁGUA/LUZ';
'36080': 'REM ECON ORG TRANSITO EST S/AR';
'36099': 'REM ECON ORG TRANSITO EST C/AR';
'36102': 'REM ECON ORG TRANSITO NAC C/AR';
'36110': 'REMES ECON TALÃO CARTÃO';
'36129': 'REMES ECON TALÃO CARTÃO';
'36137': 'REMES ECON TALÃO CARTÃO';
'36145': 'REMES ECON TALÃO CARTÃO';
'36200': 'REMESSA ECON.TALAO/CARTAO';
'36250': 'REMESSA EXPRESSA BANRISUL';
'39012': 'SEDEX CORREIOS LOG';
'39217': 'PAC CORREIOS LOG';
'40010': 'SEDEX A VISTA SCADA';
'40045': 'SEDEX A COBRAR';
'40096': 'SEDEX (CONTRATO)';
'40126': 'SEDEX A COBRAR-ENCOMENDA';
'40150': 'SERVICO DE PROTOCOLO POSTAL -';
'40169': 'SEDEX 12 A FATURAR';
'40177': 'SEDEX ADMINISTRATIVO CSHOPPING';
'40215': 'SEDEX 10 A FATURAR';
'40223': 'SEDEX 10-ENCOMENDA';
'40290': 'SEDEX HOJE A FATURAR';
'40355': 'REM EXP CRVL/CRV/CNH E NOTIFIC';
'40380': 'SEDEX REVERSO 40096';
'40398': 'SEDEX REVERSO 40436';
'40436': 'SEDEX - CONTRATO';
'40444': 'SEDEX - CONTRATO';
'40517': 'SEDEX REVERSO 40444';
'40525': 'REMES EXP ÓRGÃOS DE TRÂNSITO -';
'40533': 'REMES EXP ÓRGÃOS DE TRÂNSITO-';
'40541': 'REMES EXP ÓRGÃOS DE TRÂNSITO-';
'40550': 'SEDEX ADMINISTRATIVO';
'40568': 'SEDEX - CONTRATO';
'40576': 'SEDEX REVERSO - CONTRATO';
'40584': 'SEDEX 10 REVERSO A FATURAR';
'40606': 'SEDEX - CONTRATO';
'40614': 'SEDEX REVERSO - CONTRATO';
'40622': 'REMESSA EXP TALAO DE CHEQUES-';
'40630': 'SEDEX PAGAMENTO NA ENTREGA -';
'40665': 'REMESSA EXP TALAO DE CHEQUES/';
'40673': 'REMESSA EXP TALAO DE CHEQUES/';
'40681': 'REMESSA EXP TALAO DE CHEQUES/';
'40690': 'REMESSA EXP TALAO DE CHEQUES/';
'40703': 'REMESSA EXP TALAO DE CHEQUES/';
'40711': 'REMESSA EXP TALAO DE CHEQUES/';
'40720': 'REMESSA EXP TALAO DE CHEQUES/';
'40738': 'REMESSA EXP TALAO DE CHEQUES/';
'40746': 'REMESSA EXP TALAO DE CHEQUES/';
'40754': 'REMESSA EXP TALAO DE CHEQUES/';
'40762': 'REMESSA EXP TALAO DE CHEQUES/';
'40789': 'SEDEX 10';
'40797': 'SEDEX 10 REVERSO';
'40819': 'SEDEX PAGAMENTO NA ENTREGA -';
'40878': 'SEDEX HOJE - ROLO E PACOTE';
'40886': 'SEDEX 10 - PACOTE E ROLO';
'40894': 'SEDEX 12- PACOTE E ROLO';
'40940': 'COMBO SEDEX 10 A FATURAR';
'40959': 'COMBO SEDEX A VISTA SCADA';
'40991': 'COMBO SEDEX HOJE A FATURAR';
'41068': 'PAC';
'41076': 'PAC REVERSO 4106-8';
'41106': 'PAC À VISTA SCADA';
'41203': 'PAC ADMINISTRATIVO';
'41211': 'PAC - CONTRATO';
'41220': 'PAC - REVERSO DO 4121-1';
'41238': 'PAC - PAGAMENTO NA ENTREGA -';
'41254': 'PAC ADMINISTRATIVO CSHOPPING';
'41262': 'PAC PAGAMENTO NA ENTREGA -';
'41270': 'SEDEX - GRANDES FORMATOS';
'41300': 'PAC GRANDES FORMATOS';
'41378': 'SEDEX GRANDES FORMATOS';
'41408': 'SEDEX REPOSTAGEM';
'41432': 'SEDEX PAGAMENTO NA ENTREGA';
'41440': 'SEDEX PAGAMENTO NA ENTREGA';
'41459': 'COMBO PAC A VISTA SCADA';
'41467': 'COMBO SEDEX CONTRATO';
'41483': 'COMBO SEDEX 12 A FATURAR';
'41491': 'PAC REPOSTAGEM';
'41530': 'PAC INTERM E-COMMERCE TAB41068';
'41548': 'SEDEX INTERM E-COMMERCE 40096';
'41556': 'SEDEX PRE PAGO VIA INTERNET';
'41564': 'SEDEX 10 PRE PAGO VIA INTERNET';
'41572': 'SEDEX 12 PRE PAGO VIA INTERNET';
'41599': 'SEDEX HOJE PRE PAGO VIA INTERN';
'41602': 'PAC PRE PAGO VIA INTERNET';
'41610': 'REMESSA AGRUPADA PAC';
'41629': 'REMESSA AGRUPADA PAC N POLIT';
'41637': 'COMBO SEDEX ELEICOES';
'41645': 'COMBO SEDEX HOJE ELEICOES';
'41653': 'COMBO SEDEX 10 ELEICOES';
'41661': 'COMBO PAC ELEICOES';
'41670': 'COMBO SEDEX 12 ELEICOES';
'41700': 'SEDEX REPOSTAGEM REVERSO';
'41726': 'PAC REPOSTAGEM REVERSO';
'43010': 'REEMB POSTAL NORMAL (C AVULSO)';
'44105': 'MALOTE';
'54658': 'TAXA DE ARMAZENAGEM';
'68233': 'CARTA VIA INTERNET';
'73881': 'ENTREGA EXPRESSA';
'74950': 'CARGA CONSOLIDADA EXPRESSA ES';
'75043': 'REMESSA SIMPLES LOCAL -';
'75078': 'DISTRIBUICAO DE CARNES';
'75159': 'DISTRIBUICAO DE CONTAS DE TELE';
'75329': 'DISTRIBUICAO DE NOTIFICACOES';
'75701': 'IMPRESSAO E DISTRIBUICAO DE EX';
'81019': 'E-SEDEX STANDARD';
'81027': 'E-SEDEX PRIORITARIO';
'81035': 'E-SEDEX EXPRESS';
'81043': 'E-SEDEX REVERSO';
'81108': 'E-SEDEX ADMINISTRATIVO CSHOP';
'81124': 'E-SEDEX INTERM E-COMMERCE';
'81833': 'E-SEDEX GRUPO II';
'81841': 'E-SEDEX REVERSO GRUPO II';
'81850': 'E-SEDEX TOCANTINS';
'81868': 'E-SEDEX GRUPO I';
'81876': 'E-SEDEX REVERSO GRUPO I';
'82015': 'FAC SIMPLES LOCAL';
'82023': 'FAC SIMPLES ESTADUAL';
'82031': 'FAC SIMPLES NACIONAL';
'82040': 'FAC SIMPLES LOC SEM DESC';
'82066': 'FAC SIMPLES ESTAD SEM DESC';
'82074': 'FAC SIMPLES SEM PRE REQUISITO';
'82082': 'FAC REG SEM PRE REQUISITO';
'82090': 'FAC REG COM AR SEM PRE REQUISI';
'82104': 'FAC REGISTRADO LOCAL';
'82112': 'FAC REGISTRADO ESTADUAL';
'82120': 'FAC REGISTRADO NACIONAL';
'82139': 'FAC REGISTRADO LOCAL COM AR';
'82147': 'FAC REGISTRADO ESTADUAL COM AR';
'82155': 'FAC REGISTRADO NACIONAL COM AR';
'82309': 'FAC SIMPLES LOCAL ACIMA 500 G';
'82317': 'FAC SIMPLES ESTAD ACIMA 500 G';
'82325': 'FAC SIMPLES NAC ACIMA 500 G';
'82333': 'FAC REGIST LOCAL ACIMA 500 G';
'82341': 'FAC REGISTRADO EST ACIMA 500 G';
'82350': 'FAC REGISTRADO NAC ACIMA 500 G';
'82368': 'FAC REG LOCAL C/ AR ACIMA 500G';
'82376': 'FAC REG EST C/ AR ACIMA 500 G';
'82384': 'FAC REG NAC C/ AR ACIMA 500 G';
'82392': 'FAC MONITORADO NACIONAL';
'82406': 'FAC MONITORADO ESTADUAL';
'82414': 'FAC MONITORADO LOCAL';
'82422': 'FAC SIMPLES NACI SEM DESC';
'85480': 'VENDA DE AEROGRAMA NACIONAL';
}
export type CodigosServico = keyof CodigosServicoMapName;
export type Formato = 1 | 2 | 3;
export interface FreteOptions {
cepOrigem: string;
sCepOrigem: string;
cepDestino: string;
sCepDestino: string;
maoPropria: 'S' | 'N';
sCdMaoPropria: 'S' | 'N';
avisoRecebimento: 'S' | 'N';
sCdAvisoRecebimento: 'S' | 'N';
dsSenha: string;
sDsSenha: string;
empresa: string;
nCdEmpresa: string;
servico: CodigosServico;
nCdServico: CodigosServico;
valorDeclarado: number;
nVlValorDeclarado: number;
peso: number;
nVlPeso: number;
formato: Formato;
nCdFormato: Formato;
comprimento: number;
nVlComprimento: number;
altura: number;
nVlAltura: number;
largura: number;
nVlLargura: number;
diametro: number;
nVlDiametro: number;
dtCalculo: string;
sDtCalculo: string;
dataCalculo: string;
strDataCalculo: string;
}
export type FretePropertiesPrototype = {
[K in keyof FreteOptions]: (value: FreteOptions[K]) => Frete;
}
export type Callback<T = any> = (err: any, response: T, body: any) => void;
export interface ApiFunction {
<T = any>(callback: Callback<T>): T;
<T = any>(cep: string): Promise<T>;
<T = any>(cep: string, callback: Callback<T>): T;
<T = any>(cep: string, options: Partial<FreteOptions>, callback: Callback<T>): T;
}
export interface Frete extends FretePropertiesPrototype {
prazo: ApiFunction;
prazoData: ApiFunction;
preco: ApiFunction;
precoData: ApiFunction;
precoFac: ApiFunction;
precoPrazo: ApiFunction;
precoPrazoData: ApiFunction;
precoPrazoRestricao: ApiFunction;
}
export interface FreteFunction extends FretePropertiesPrototype {
(opts?: Partial<FreteOptions>): Frete;
servicos: {
sedex: CodigosServico;
sedexCobrar: CodigosServico;
pac: CodigosServico;
pacCobrar: CodigosServico;
sedex10: CodigosServico;
sedex12: CodigosServico;
sedexHoje: CodigosServico;
names: CodigosServicoMapName;
};
codigos: {
sedex: CodigosServico;
sedexCobrar: CodigosServico;
pac: CodigosServico;
pacCobrar: CodigosServico;
sedex10: CodigosServico;
sedex12: CodigosServico;
sedexHoje: CodigosServico;
names: CodigosServicoMapName;
};
formatos: {
caixaPacote: Formato;
roloPrisma: Formato;
envelope: Formato;
};
defaultOptions: Partial<FreteOptions>;
}
const frete: FreteFunction;
export default frete;
}