Comunidade
Erro ao cotar frete de produto com quantidade maior que 100
Olá, boa tarde! Estou enfrentando um erro ao tentar cotar o frete de um produto com mais de 100 unidades.
Recebo o seguinte retorno:
```json
[
{
"company": {
"id":1,
"name":"Correios",
"picture":"https://melhorenvio.com.br/images/shipping-companies/correios.png"
},
"error":"Serviço indisponível no momento",
"id":1,
"name":"PAC"
}
]
```
Isso para todos os serviços, enviei o exemplo acima com o PAC apenas para demonstração. Segue exemplo da requisição sendo enviada:
URI: <https://www.melhorenvio.com.br/api/v2/me/shipment/calculate>
Body:
```json
{
"from": {
"postal_code": "95034970",
"address": "",
"number": "1"
},
"to": {
"postal_code": "97105120",
"address": "",
"number": "2"
},
"products": [
{
"id": "folha",
"weight": "0.0100",
"width": "11",
"height": "2",
"length": "16",
"quantity": 101,
"insurance_value": 0
}
],
"options": {
"receipt": "0",
"own_hand": "0",
"collect": false
},
"services": "1"
}
```
Importante destacar que se alterar o campo `quantity` para qualquer valor inferior ou igual a 100, tudo funciona corretamente.
Gostaria de saber se há alguma limitação em relação a este campo.
Posted by Matheus Delazeri 2 months ago
oauth token sem pre com resposatas negativas
ola eu estou desenvolvendo um sistema erp, e me cadastrei para utilizar a api, ja tem client_id o client_secret url de redirecionamento mas toda a vezes que eu tento autenticação me da não autorizado
{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}
ou
{
"error": "invalid_client",
"error_description": "Client authentication failed",
"message": "Client authentication failed"
}
estou m ambiente de teste
Posted by Alexandre henrique 3 months ago
Marketplace com melhor envio - um frete para cada loja de um pedido.
Olá pessoal! Tudo bem com vcs? Preciso de ajuda, preciso fazer um marketplace em que varias lojas possam ser cadastradas e que o cliente possa comprar produtos de varios fornecedores diferentes. Como eu faço para que calcule um frete para cada loja na hora do pagamento do pedido?
Posted by Fernanda Rocha Miranda 3 months ago
Homolog
Boa tarde. Eu estou desenvolvendo um e-commerce propio e estou usando a api de calcular frete. Precisa fazer o pedido de Homologação para essa api?
Posted by Deiby Michael 3 months ago
Erro ao adicionar um frete da LATAM no carrinho
Ao tentar adicionar um frete da LATAM no carrinho eu recebo o seguinte erro: "Envios sem solicitação de coleta requerem uma unidade LATAM Cargo válida selecionada".
Então eu acessei "<https://melhorenvio.com.br/api/v2/me/shipment/agencies"> para listar as agências, mas não encontrei nenhuma da LATAM, como eu resolvo isso?
Posted by Valdir 4 months ago
como obter access_token
Iniciei agora a integração para inicialmente somente obter o calculo de fretes, fiz o cadastro na sand box, porem estou tendo problemas em ter um exemplo de como ter o access_token, poderiam me ajudar? se tiver algo em C# me ajudaria bastante.
Posted by Marcio Santos 5 months ago
"has_grouped_volumes"
Na API de listagem de transportadoras (<https://melhorenvio.com.br/api/v2/me/shipment/companies>), existe este campo, que possui valor 0 ou 1.
Pelo nome do campo, dá a entender que ele indica se a transportadora aceita múltiplos volumes ("volumes agrupados") ao adicionar ao carrinho.
Nas documentações das APIs de compra de fretes e no fluxograma de integração da compra de fretes, só é citado que os Correios não aceitam múltiplos volumes de uma vez ao adicionar ao carrinho, porém, nesta API, outras transportadoras possuem este campo com o valor 0.
Como este campo (bem como outros campos desta mesma API) não está documentado, a minha dúvida é: este campo indica mesmo o que eu estou pensando que ele indica? É seguro confiar no valor deste campo para enviar diversos volumes de uma vez?
Posted by Hellyson R. Parteka 6 months ago
Obtenho sucesso na resposta porém o servidor me devolve null.
Sou desenvolvedor e estou consumindo a api usando Webclient - spring boot + java. Obtenho a resposta 200 ok. Porém no console eu obtenho:
MelhorEnvioResponse(id=null, name=null, price=null, customPrice=null, discount=null, currency=null, deliveryTime=null, deliveryRange=null, customDeliveryTime=null, customDeliveryRange=null, packages=null, dimensions=null)
Estou usando o token do sandbox;
Não estou usando refresh_token;
Segue os principais parâmetros...
```
@Service
public class MelhorEnvioService {
private final WebClient webClient;
public MelhorEnvioService() {
this.webClient = WebClient.builder()
.baseUrl(ApiTokenIntegracao.URL_MELHOR_ENVIO_SAND_BOX + "api/v2/me/shipment")
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
.defaultHeader(HttpHeaders.USER_AGENT, "[email protected]")
.build();
}
public Mono<MelhorEnvioResponse> calculateShipping() {
MelhorEnvioRequest request = new MelhorEnvioRequest();
try {
return webClient.post()
.uri("/calculate")
.header(HttpHeaders.AUTHORIZATION, "Bearer " + ApiTokenIntegracao.TOKEN_MELHOR_ENVIO)
.body(BodyInserters.fromValue(request))
.exchange()
.flatMap(response -> response.bodyToMono(MelhorEnvioResponse.class))
.doOnSuccess(response -> System.out.println(response.toString()));
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
}
```
```
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class MelhorEnvioRequest implements Serializable {
private From from;
private To to;
private List<ProductDto> products;
private Options options;
}
```
```
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class MelhorEnvioResponse implements Serializable {
private Integer id;
private String name;
private String price;
@JsonProperty(value = "custom_price")
private String customPrice;
private String discount;
private String currency;
@JsonProperty(value = "delivery_time")
private Integer deliveryTime;
@JsonProperty(value = "delivery_range")
private DeliveryRange deliveryRange;
private Integer customDeliveryTime;
private CustomDeliveryRange customDeliveryRange;
private Packages packages;
private Dimensions dimensions;
}
```
```
@RestController
@RequestMapping(value = "/shipment")
public class CalculateShipping {
@Autowired
private MelhorEnvioService service;
@PostMapping("/consult")
public Mono<ResponseEntity<MelhorEnvioResponse>> calculateShipping() {
return service.calculateShipping()
.map(response -> ResponseEntity.ok(response))
.onErrorResume(error -> Mono.just(ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build()));
}
}
```
Desde já agradeço a atenção;
Estou à disposição.
Posted by Jean Fernandine Santos 8 months ago
CORS - Problema
Passei a ter problemas na requisição dos resources dando erro de CORS. Not allowed Origin url.
Eu consigo gerar o token, tudo certinho, passo o redirect_uri, nas requisições. E tb adicionei o user Agent nas requisições, mas não consigo fazer funcionar as requisicoes.
Poderiam me dar uma orientação o que pode estar ocorrendo?
Posted by Rogerio Coelho 8 months ago
Codigo de autorização
onde consigo esse primeiro codigo de autorização?
estou tentando fazer uma requisição na api de Authorização e está faltando esse parametro code.
{"grant_type": "authorization_code",
"client_id": 1234,
"client_secret": "a3s2d1as3d21",
"redirect_uri": "<https://localhost.com/approve/">,
"code": "?????"
}
Posted by Plinio 9 months ago