GET /api/v1/calcular_frete

Retorna os produtos disponíveis com os seus respectivos valores através dos parâmetros cliente_chave, cep_destino e peso_gramas.

API URL

https://flashcalculador.com.br/api/v1/calcular_frete

Informações da Requisição

Formato do Resposta JSON
Requer Autenticação? Sim, através do parâmetro cliente_chave

Parâmetros

Sempre especificar uma cliente_chave, cep_destino e peso_gramas.

cliente_chave Chave fornecida pela Flash Courier.
obrigatório Valor de exemplo: f865a036e2f760aa2919b1ab22f094084071d786e1
cep_destino Número do CEP de destino no qual a encomenda será enviada.
obrigatório Valor de exemplo: 83090901
peso_gramas O peso em gramas da encomenda.
obrigatório Valor de exemplo: 1000

Exemplo de Requisição

GET

https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=83090901&peso_gramas=1000&cliente_chave=02ea748e93e42bc6ha23fd1866a145c89c5ad5ff7706

Resposta de exemplo

Em caso de sucesso

código HTTP 200 (Sucesso)

[
  {
    "products": [{ "Flash Log": "17.86" }, { "Flash Azul": "21.01" }],
    "message": "2 produtos encontrados para o CEP 24.220-003 e peso 1000 gramas",
    "success": true
  }
]

Em caso do CEP não existir

código HTTP 200 (Sucesso)

[
  {
    "products": [],
    "message": "CEP não atendido pela malha Flash Courier"
    "success": true
  }
]

Em caso do CEP não encontrar produto

código HTTP 200 (Sucesso)

[
  {
    "products": [],
    "message": "Nenhum produto encontrado"
    "success": true
  }
]

Em caso de o Peso ser maior do que a empresa aceita

código HTTP 200 (Sucesso)

[
  {
    "products": [],
    "message": "0 produtos encontrados para o CEP 24.220-003 e peso 99999999 gramas"
    "success": true
  }
]

Em caso da chave de cliente ser inválida

código HTTP 401 (Não autorizado)

[
  {
    "products": [],
    "message": "Chave de cliente inválida"
    "success": false
  }
]

Em caso de parâmetros faltando

código HTTP 400 (Bad Request)

[
  {
    "products": [],
    "message": "É necessário o parâmetro cep_destino",
    "success": false
  }
]

Em caso de ocorrer internal server error

código HTTP 500 (Internal Server Error)

[
  {
    "products": [],
    "message": "Erro interno do servidor.",
    "success": false
  }
]

Integração

Alguns exemplos de código de integração com API.

Ruby

require 'net/http'
require 'json'

uri = URI('https://flashcalculador.com.br/api/v1/calcular_frete')
params = { :cliente_chave => 'jfldjfd98f9d8f9d8f9', :cep_destino => '24220003', :peso_gramas => 1000 }
uri.query = URI.encode_www_form(params)

res = Net::HTTP.get_response(uri)
puts res.code
# => "200"
results = JSON.parse(res.body)
# => {"products"=>[{"Flash Log"=>"17.86"}, {"Flash Amarelo"=>"31.38"}, {"Flash Vermelho"=>"53.49"}, {"Flash Azul"=>"21.01"}, {"Pac"=>"14.62"}, {"Doc Mais"=>"15.98"}], "message"=>"6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.", "success"=>true}

Java

package javaapplication1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import org.json.JSONException;
import org.json.JSONObject;

public class JavaApplication1 {
  public static void main(String[] args) throws MalformedURLException, IOException, JSONException {
    URL url = new URL("https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=24220003&peso_gramas=1000&cliente_chave=fdsf9sd8f9ds8f9d8");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    System.out.println(conn.getResponseCode());
    // 200

    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = rd.readLine()) != null) {
      sb.append(line);
    }
    rd.close();
    conn.disconnect();

    System.out.println(sb.toString());
    // {"products":[{"Flash Log":"17.86"},{"Flash Amarelo":"31.38"},{"Flash Vermelho":"53.49"},{"Flash Azul":"21.01"},{"Pac":"14.62"},{"Doc Mais":"15.98"}],"message":"6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.","success":true}

    JSONObject jObject  = new JSONObject(sb.toString());
  }
}

Javascript

$.ajax({
    url: "https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=24220003&peso_gramas=1000&cliente_chave=fdf98f98df98d",
    success: function(response) {
      console.log(response);
    }
});

C#

using System;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;

namespace SampleAPi
{
  class MainClass
  {
    public static void Main (string[] args)
    {
      HttpWebRequest req = WebRequest.Create("https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=24220003&peso_gramas=1000&cliente_chave=fd898f9d8f9d8") as HttpWebRequest;
      string result = null;

      using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
      {
        StreamReader reader = new StreamReader(resp.GetResponseStream());
        result = reader.ReadToEnd();
      }

      Console.WriteLine (result);
      // {"products":[{"Flash Log":"17.86"},{"Flash Amarelo":"31.38"},{"Flash Vermelho":"53.49"},{"Flash Azul":"21.01"},{"Pac":"14.62"},{"Doc Mais":"15.98"}],"message":"6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.","success":true}

      JavaScriptSerializer j = new JavaScriptSerializer();
      object jsonData = j.Deserialize(result, typeof(object));
    }
  }
}

Python

from urllib2 import Request, urlopen, URLError
import json

request = Request("https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=24220003&peso_gramas=1000&cliente_chave=fdfd98f9d8f3")
response = urlopen(request)
result_string = response.read()
# '{"products":[{"Flash Log":"17.86"},{"Flash Amarelo":"31.38"},{"Flash Vermelho":"53.49"},{"Flash Azul":"21.01"},{"Pac":"14.62"},{"Doc Mais":"15.98"}],"message":"6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.","success":true}'

result_json = json.loads(result_string)
# {u'message': u'6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.', u'products': [{u'Flash Log': u'17.86'}, {u'Flash Amarelo': u'31.38'}, {u'Flash Vermelho': u'53.49'}, {u'Flash Azul': u'21.01'}, {u'Pac': u'14.62'}, {u'Doc Mais': u'15.98'}], u'success': True}

PHP

$url = "https://flashcalculador.com.br/api/v1/calcular_frete?cep_destino=24220003&peso_gramas=1000&cliente_chave=jfkdjkfjd90909fd";
$json = file_get_contents($url);

echo $json;
// {"products":[{"Flash Log":"17.86"},{"Flash Amarelo":"31.38"},{"Flash Vermelho":"53.49"},{"Flash Azul":"21.01"}, {"Pac":"14.62"},{"Doc Mais":"15.98"}],"message":"6 produtos encontrados para o CEP 24220003 e peso 1000 gramas.","success":true}

var_dump(json_decode($json));
/*
object(stdClass)#1 (3) {
  ["products"]=>
  array(6) {
    [0]=>
    object(stdClass)#2 (1) {
      ["Flash Log"]=>
      string(5) "17.86"
    }
    [1]=>
    object(stdClass)#3 (1) {
      ["Flash Amarelo"]=>
      string(5) "31.38"
    }
    [2]=>
    object(stdClass)#4 (1) {
      ["Flash Vermelho"]=>
      string(5) "53.49"
    }
    [3]=>
    object(stdClass)#5 (1) {
      ["Flash Azul"]=>
      string(5) "21.01"
    }
    [4]=>
    object(stdClass)#6 (1) {
      ["Pac"]=>
      string(5) "14.62"
    }
    [5]=>
    object(stdClass)#7 (1) {
      ["Doc Mais"]=>
      string(5) "15.98"
    }
  }
  ["message"]=>
  string(62) "6 produtos encontrados para o CEP 24220003 e peso 1000 gramas."
  ["success"]=>
  bool(true)
}
// */