{"id":15502038,"url":"https://github.com/prodis/correios-frete","last_synced_at":"2025-04-04T22:07:52.479Z","repository":{"id":1563862,"uuid":"1985755","full_name":"prodis/correios-frete","owner":"prodis","description":"Gem para cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices). ","archived":false,"fork":false,"pushed_at":"2022-03-07T21:32:10.000Z","size":748,"stargazers_count":132,"open_issues_count":7,"forks_count":54,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T21:07:42.727Z","etag":null,"topics":["correios","correios-frete","prodis","ruby","zipcode"],"latest_commit_sha":null,"homepage":"http://prodis.blog.br/correios-frete-gem-para-calculo-de-frete-dos-correios","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prodis.png","metadata":{"files":{"readme":"README.rdoc","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-07-01T22:27:29.000Z","updated_at":"2025-01-17T03:38:27.000Z","dependencies_parsed_at":"2022-08-26T17:01:44.523Z","dependency_job_id":null,"html_url":"https://github.com/prodis/correios-frete","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodis%2Fcorreios-frete","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodis%2Fcorreios-frete/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodis%2Fcorreios-frete/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodis%2Fcorreios-frete/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prodis","download_url":"https://codeload.github.com/prodis/correios-frete/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256112,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["correios","correios-frete","prodis","ruby","zipcode"],"created_at":"2024-10-02T09:07:18.271Z","updated_at":"2025-04-04T22:07:52.462Z","avatar_url":"https://github.com/prodis.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= correios-frete\n\nCálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).\n\nOs serviços de frete suportados são \u003cb\u003ePAC\u003c/b\u003e, \u003cb\u003eSEDEX\u003c/b\u003e, \u003cb\u003eSEDEX a Cobrar\u003c/b\u003e (necessário informar o valor declarado), \u003cb\u003eSEDEX 10\u003c/b\u003e, \u003cb\u003eSEDEX Hoje\u003c/b\u003e e \u003cb\u003ee-SEDEX\u003c/b\u003e. Para os serviços com contrato é necessário informar código de empresa e senha.\n\nhttp://prodis.net.br/images/ruby/2011/correios_logo.png\n\n\n== Instalando\n\n=== Gemfile\n  gem 'correios-frete'\n\n=== Instalação direta\n  $ gem install correios-frete\n\n\n== Usando\n\n  require 'correios-frete'\n\n  frete = Correios::Frete::Calculador.new :cep_origem =\u003e \"04094-050\",\n                                          :cep_destino =\u003e \"90619-900\",\n                                          :peso =\u003e 0.3,\n                                          :comprimento =\u003e 30,\n                                          :largura =\u003e 15,\n                                          :altura =\u003e 2\n\nCálculo de vários serviços ao mesmo tempo:\n\n  servicos = frete.calcular :sedex, :pac\n\n  servicos[:sedex].nome          # =\u003e \"SEDEX\"\n  servicos[:sedex].descricao     # =\u003e \"SEDEX sem contrato\"\n  servicos[:sedex].valor         # =\u003e 26.2\n  servicos[:sedex].prazo_entrega # =\u003e 1\n\n  servicos[:pac].nome          # =\u003e \"PAC\"\n  servicos[:pac].descricao     # =\u003e \"PAC sem contrato\"\n  servicos[:pac].valor         # =\u003e 10.0\n  servicos[:pac].prazo_entrega # =\u003e 5\n\nCálculo de um serviço de frete passando o serviço para parâmetro:\n\n  servico = frete.calcular :sedex\n  servico.nome          # =\u003e \"SEDEX\"\n  servico.descricao     # =\u003e \"SEDEX sem contrato\"\n  servico.valor         # =\u003e 26.2\n  servico.prazo_entrega # =\u003e 1\n\n  servico = frete.calcular :pac\n  servico.nome          # =\u003e \"PAC\"\n  servico.descricao     # =\u003e \"PAC sem contrato\"\n  servico.valor         # =\u003e 10.0\n  servico.prazo_entrega # =\u003e 5\n\nCálculo de um serviço de frete chamando o método direto do serviço:\n\n  servico = frete.calcular_sedex\n  servico.nome          # =\u003e \"SEDEX\"\n  servico.descricao     # =\u003e \"SEDEX sem contrato\"\n  servico.valor         # =\u003e 26.2\n  servico.prazo_entrega # =\u003e 1\n\n  servico = frete.calcular_pac\n  servico.nome          # =\u003e \"PAC\"\n  servico.descricao     # =\u003e \"PAC sem contrato\"\n  servico.valor         # =\u003e 10.0\n  servico.prazo_entrega # =\u003e 5\n\nVerificação de sucesso e erro:\n\n  frete.altura = 100\n\n  servico = frete.calcular_sedex\n  servico.sucesso? # =\u003e false\n  servico.erro?    # =\u003e true\n  servico.msg_erro # =\u003e \"A altura nao pode ser maior que o comprimento.\"\n\nUsando a interface pública em inglês:\n\n  servicos = frete.calculate :sedex, :pac\n\n  servico = frete.calculate_sedex\n  servico.success? # =\u003e true\n  servico.error?   # =\u003e false\n\n\n=== Usando pacotes\n\nVocê pode \"montar\" um pacote com vários itens. Com o cálculo do volume dos itens adicionados, o pacote único será gerado em formato de cubo.\n\n  item1 = Correios::Frete::PacoteItem.new :peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2\n  item2 = Correios::Frete::PacoteItem.new :peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3\n\n  pacote = Correios::Frete::Pacote.new\n  pacote.adicionar_item(item1)\n  pacote.adicionar_item(item2)\n\n  pacote.peso        # =\u003e 1.0\n  pacote.comprimento # =\u003e 18.32138799447962\n  pacote.largura     # =\u003e 18.32138799447962\n  pacote.altura      # =\u003e 18.32138799447962\n  pacote.volume      # =\u003e 6150.0\n  pacote.formato     # =\u003e :caixa_pacote\n  pacote.itens.size  # =\u003e 2\n\nCaso alguma dimensão do pacote montado seja menor que o tamanho mínimo exigido pelos Correios, o valor mínimo será atribuído à dimensão.\n\n  item1 = Correios::Frete::PacoteItem.new :peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2\n  item2 = Correios::Frete::PacoteItem.new :peso =\u003e 0.7, :comprimento =\u003e 40, :largura =\u003e 10, :altura =\u003e 3\n\n  pacote = Correios::Frete::Pacote.new\n  pacote.adicionar_item(item1)\n  pacote.adicionar_item(item2)\n\n  pacote.comprimento # =\u003e 16.0\n  pacote.largura     # =\u003e 12.80579164987494\n  pacote.altura      # =\u003e 12.80579164987494\n\nMontado o pacote, basta passá-lo pelo parâmetro \u003cb\u003eencomenda\u003c/b\u003e no construtor de Correios::Frete::Calculador.\n\n  frete = Correios::Frete::Calculador.new :cep_origem =\u003e \"04094-050\",\n                                          :cep_destino =\u003e \"90619-900\",\n                                          :encomenda =\u003e pacote\n\n  servicos = frete.calcular :sedex, :pac\n\n  servicos[:sedex].valor         # =\u003e 29.2\n  servicos[:sedex].prazo_entrega # =\u003e 1\n\n  servicos[:pac].valor         # =\u003e 13.3\n  servicos[:pac].prazo_entrega # =\u003e 5\n\n\u003cb\u003eObservação:\u003c/b\u003e Quando uma encomenda é fornecida ao calculador de frete, os parâmetros \u003cb\u003epeso\u003c/b\u003e, \u003cb\u003ecomprimento\u003c/b\u003e, \u003cb\u003elargura\u003c/b\u003e, \u003cb\u003ealtura\u003c/b\u003e e \u003cb\u003eformato\u003c/b\u003e serão ignorados, sendo utilizados os valores da encomenda.\n\nUsando a interface pública em inglês:\n\n  item1 = Correios::Frete::PacoteItem.new :peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2\n  item2 = Correios::Frete::PacoteItem.new :peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3\n\n  pacote = Correios::Frete::Pacote.new\n  pacote.add_item(item1)\n  pacote.add_item(item2)\n  pacote.items.size # =\u003e 2\n\n\n== Configurações\n\n=== Timeout\n\nPor padrão, o tempo de espera de resposta (timeout) para uma requisição ao Web Service dos Correios é de \u003cb\u003e10 segundos\u003c/b\u003e. Após isso, se o Web Service dos Correios não responder, uma exceção do tipo \u003cb\u003eTimeout::Error\u003c/b\u003e será lançada.\nVocê pode configurar esse tempo de espera usando o módulo \u003cb\u003eCorreios::Frete\u003c/b\u003e.\n\n  Correios::Frete.configure do |config|\n    config.request_timeout = 3  # Configura o tempo de espera para 3 segundos\n  end\n\n\n=== Log\n\nPor padrão, cada chamada ao Web Service dos Correios é logada em STDOUT, com nível de log \u003cb\u003e:info\u003c/b\u003e, usando a gem {LogMe}[http://github.com/prodis/log-me].\n\nExemplo de log:\n  I, [2011-10-01T00:26:16.864990 #5631]  INFO -- : Correios-Frete Request:\n  http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050\u0026sCepDestino=90619-900\u0026nVlPeso=0.3\u0026nVlComprimento=30\u0026nVlAltura=2\u0026nVlLargura=15\u0026nVlDiametro=0.0\u0026nCdFormato=1\u0026sCdMaoPropria=N\u0026sCdAvisoRecebimento=N\u0026nVlValorDeclarado=0,00\u0026nCdServico=04510\u0026nCdEmpresa=\u0026sDsSenha=\u0026StrRetorno=xml\n\n  I, [2011-10-01T00:26:17.121822 #5631]  INFO -- : Correios-Frete Response:\n  HTTP/1.1 200 OK\n  \u003c?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?\u003e\n  \u003cServicos\u003e\u003ccServico\u003e\u003cCodigo\u003e04510\u003c/Codigo\u003e\u003cValor\u003e10,00\u003c/Valor\u003e\u003cPrazoEntrega\u003e5\u003c/PrazoEntrega\u003e\u003cValorMaoPropria\u003e0,00\u003c/ValorMaoPropria\u003e\u003cValorAvisoRecebimento\u003e0,00\u003c/ValorAvisoRecebimento\u003e\u003cValorValorDeclarado\u003e0,00\u003c/ValorValorDeclarado\u003e\u003cEntregaDomiciliar\u003eS\u003c/EntregaDomiciliar\u003e\u003cEntregaSabado\u003eN\u003c/EntregaSabado\u003e\u003cErro\u003e0\u003c/Erro\u003e\u003cMsgErro\u003e\u003c/MsgErro\u003e\u003c/cServico\u003e\u003c/Servicos\u003e\n\nSe você configurar o nível de log como \u003cb\u003e:debug\u003c/b\u003e, serão logados também todos os cabeçalhos HTTP da resposta:\n  D, [2011-10-01T00:27:50.597961 #5631] DEBUG -- : Correios-Frete Request:\n  http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050\u0026sCepDestino=90619-900\u0026nVlPeso=0.3\u0026nVlComprimento=30\u0026nVlAltura=2\u0026nVlLargura=15\u0026nVlDiametro=0.0\u0026nCdFormato=1\u0026sCdMaoPropria=N\u0026sCdAvisoRecebimento=N\u0026nVlValorDeclarado=0,00\u0026nCdServico=04510\u0026nCdEmpresa=\u0026sDsSenha=\u0026StrRetorno=xml\n\n  D, [2011-10-01T00:27:50.812046 #5631] DEBUG -- : Correios-Frete Response:\n  HTTP/1.1 200 OK\n  date: Sat, 01 Oct 2011 03:27:55 GMT\n  server: Microsoft-IIS/6.0\n  x-powered-by: ASP.NET\n  x-aspnet-version: 1.1.4322\n  set-cookie: ASP.NET_SessionId=cnoejn3dpioxapejc0c3np55; path=/\n  cache-control: private\n  expires: Sat, 01 Oct 2011 03:27:55 GMT\n  content-type: text/xml; charset=iso-8859-1\n  content-length: 401\n  \u003c?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?\u003e\n  \u003cServicos\u003e\u003ccServico\u003e\u003cCodigo\u003e04510\u003c/Codigo\u003e\u003cValor\u003e10,00\u003c/Valor\u003e\u003cPrazoEntrega\u003e5\u003c/PrazoEntrega\u003e\u003cValorMaoPropria\u003e0,00\u003c/ValorMaoPropria\u003e\u003cValorAvisoRecebimento\u003e0,00\u003c/ValorAvisoRecebimento\u003e\u003cValorValorDeclarado\u003e0,00\u003c/ValorValorDeclarado\u003e\u003cEntregaDomiciliar\u003eS\u003c/EntregaDomiciliar\u003e\u003cEntregaSabado\u003eN\u003c/EntregaSabado\u003e\u003cErro\u003e0\u003c/Erro\u003e\u003cMsgErro\u003e\u003c/MsgErro\u003e\u003c/cServico\u003e\u003c/Servicos\u003e\n\nPara desabilitar o log, mudar o nível do log ou configurar um outro mecanismo de log, use o módulo \u003cb\u003eCorreios::Frete\u003c/b\u003e.\n\n  Correios::Frete.configure do |config|\n    config.log_enabled = false   # Desabilita o log\n    config.log_level = :debug    # Altera o nível do log\n    config.logger = Rails.logger # Usa o logger do Rails\n  end\n\n=== Exemplo de configuração\n\n  Correios::Frete.configure do |config|\n    config.log_level = :debug\n    config.logger = Rails.logger\n    config.request_timeout = 3\n  end\n\n== Informações adicionais\n\n=== Serviços suportados\n\n  :pac                         # 04510 - PAC sem contrato\n  :pac_com_contrato            # 41068 - PAC com contrato\n  :pac_com_contrato_2          # 04669 - PAC com contrato\n  :pac_gf                      # 41300 - PAC para grandes formatos\n  :sedex                       # 04014 - SEDEX sem contrato\n  :sedex_a_cobrar              # 40045 - SEDEX a Cobrar, sem contrato\n  :sedex_a_cobrar_com_contrato # 40126 - SEDEX a Cobrar, com contrato\n  :sedex_10                    # 40215 - SEDEX 10, sem contrato\n  :sedex_hoje                  # 40290 - SEDEX Hoje, sem contrato\n  :sedex_com_contrato_1        # 40096 - SEDEX com contrato\n  :sedex_com_contrato_2        # 40436 - SEDEX com contrato\n  :sedex_com_contrato_3        # 40444 - SEDEX com contrato\n  :sedex_com_contrato_4        # 40568 - SEDEX com contrato\n  :sedex_com_contrato_5        # 40606 - SEDEX com contrato\n  :sedex_com_contrato_6        # 04162 - SEDEX com contrato\n  :e_sedex                     # 81019 - e-SEDEX, com contrato\n  :e_sedex_prioritario         # 81027 - e-SEDEX Prioritário, com contrato\n  :e_sedex_express             # 81035 - e-SEDEX Express, com contrato\n  :e_sedex_grupo_1             # 81868 - (Grupo 1) e-SEDEX, com contrato\n  :e_sedex_grupo_2             # 81833 - (Grupo 2) e-SEDEX, com contrato\n  :e_sedex_grupo_3             # 81850 - (Grupo 3) e-SEDEX, com contrato\n\n=== Maneiras de configurar atributos no construtor de Correios::Frete::Calculador\n\n==== Com um hash\n  frete = Correios::Frete::Calculador.new :cep_origem =\u003e \"04094-050\",\n                                          :cep_destino =\u003e \"90619-900\",\n                                          :peso =\u003e 0.3,\n                                          :comprimento =\u003e 30,\n                                          :largura =\u003e 15,\n                                          :altura =\u003e 2\n\n==== Com um bloco\n  frete = Correios::Frete::Calculador.new do |f|\n    f.cep_origem = \"04094-050\"\n    f.cep_destino = \"90619-900\"\n    f.peso = 0.3\n    f.comprimento = 30\n    f.largura = 15\n    f.altura = 2\n  end\n\n=== Maneiras de adicionar itens em Correios::Frete::Pacote\n\n==== Pelo método adicionar_item passando instâncias de Correios::Frete::PacoteItem\n\n  item1 = Correios::Frete::PacoteItem.new :peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2\n  item2 = Correios::Frete::PacoteItem.new :peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3\n\n  pacote = Correios::Frete::Pacote.new\n  pacote.adicionar_item(item1)\n  pacote.adicionar_item(item2)\n\n==== Pelo construtor passando instâncias de Correios::Frete::PacoteItem\n\n  pacote = Correios::Frete::Pacote.new [\n    Correios::Frete::PacoteItem.new(:peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2),\n    Correios::Frete::PacoteItem.new(:peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3)\n  ]\n\n==== Pelo método adicionar_item passando parâmetros dos itens\n\n  pacote = Correios::Frete::Pacote.new\n  pacote.adicionar_item(:peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2)\n  pacote.adicionar_item(:peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3)\n\n==== Pelo construtor passando parâmetros dos itens\n\n  pacote = Correios::Frete::Pacote.new [\n    { :peso =\u003e 0.3, :comprimento =\u003e 30, :largura =\u003e 15, :altura =\u003e 2 },\n    { :peso =\u003e 0.7, :comprimento =\u003e 70, :largura =\u003e 25, :altura =\u003e 3 }\n  ]\n\n\n=== Atributos de Correios::Frete::Calculador\n\n==== String\n  cep_origem, cep_destino, codigo_empresa, senha\n==== Float\n  peso, comprimento, largura, altura, diametro, valor_declarado\n==== Boolean\n  mao_propria, aviso_recebimento\n==== Symbol\n  formato (:caixa_pacote, :rolo_prisma, :envelope)\n\n\n=== Atributos de Correios::Frete::Pacote\n\n==== Float\n  peso, comprimento, largura, altura, volume\n==== Array de Correios::Frete::PacoteItem\n  itens\n==== Symbol\n  formato (:caixa_pacote)\n\n=== Atributos de Correios::Frete::PacoteItem\n\n==== Float\n  peso, comprimento, largura, altura, volume\n\n\n=== Atributos de Correios::Frete::Servico\n\n==== String\n  codigo, erro, msg_erro, nome, descricao\n==== Float\n  valor, valor_mao_propria, valor_aviso_recebimento, valor_valor_declarado\n==== Fixnum\n  prazo_entrega\n==== Boolean\n  entrega_domiciliar, entrega_sabado\n==== Symbol\n  tipo (:pac, :pac_com_contrato, :pac_gf, :sedex, :sedex_a_cobrar, :sedex_a_cobrar_com_contrato, :sedex_10, :sedex_hoje, :sedex_com_contrato_1, :sedex_com_contrato_2, :sedex_com_contrato_3, :sedex_com_contrato_4, :sedex_com_contrato_5, :e_sedex, :e_sedex_prioritario, :e_sedex_express, :e_sedex_grupo_1, :e_sedex_grupo_2, :e_sedex_grupo_3)\n\n\n== Autor\n- {Fernando Hamasaki de Amorim (prodis)}[http://prodis.blog.br]\n\n== Colaboradores\n- {Daniel Konishi (dkonishi)}[https://github.com/dkonishi]\n- {Denis Tierno (detierno)}[https://github.com/detierno]\n- {Flavio Wuensche (fwuensche)}[https://github.com/fwuensche]\n- {Gui Albuk (guialbuk)}[https://github.com/guialbuk]\n- {Ian Obraczka (ianobraczka)}[https://github.com/ianobraczka]\n- {Paulo Henrique Sacramento (henriquesacramento)}[https://github.com/henriquesacramento]\n- {Rafael Barbolo (barbolo)}[https://github.com/barbolo]\n- {Rafael Souza (rafaelss)}[https://github.com/rafaelss]\n- {Ricardo Bernardelli (bernardelli)}[https://github.com/bernardelli]\n- {Rodolfo Ferreira (rodolfo42)}[https://github.com/rodolfo42]\n\n\n== Copyright\n\n(The MIT License)\n\n{Prodis a.k.a. Fernando Hamasaki de Amorim}[http://prodis.blog.br]\n\nCopyright (c) 2011-2017 Prodis\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodis%2Fcorreios-frete","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprodis%2Fcorreios-frete","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodis%2Fcorreios-frete/lists"}