Olá pessoal, alguém pode dar algumas dicas de como usar a API de subscription v3? Fiz uma requisição nesse endpoint, mas retorna “Invalid account name”:
fetch(“/api/rns/pub/subscriptions”, {
method: “GET”,
headers: {
“Content-Type”: “application/json”,
Accept: “application/json”
}}).then((response) => response.json())
.then((response) => console.log(response));

Documentação:
List subscriptions (vtex.com)
Um detalhe é que fazendo essa requisição no site antes da migração para o IO ela funciona, que seria o link “{accountname}.vtexcommercestable.com.br”. Será que não funciona para o IO?
Oi Willian! Bom dia, tudo bem por aí?
Então… O problema é nome da account que vocês estão utilizando, assim como o erro diz. Recomendou que vocês revejam qual o nome da account que estão usando e se não tem nenhum caractere, espaço ou qualquer errinho nesse campo.
Karina Mota
Field Software Engineer | VTEX
Olá Karina, primeiramente obridado pela resposta.
Mas no caso, estou utilizando uma URL relativa pra requisição, então seria o site mesmo + o endpoint: "cliente.com.br/api/rns/pub/subscriptions"
Não sei se isso teria algum problema.
Como eu disse, se usar a URL "cliente.vtexcommercestable.com.br/api/rns/pub/subscriptions", que seria a requisição em cima da url antiga, a requisição funciona.
Teria alguma outra sugestão do que pode estar ocorrendo?
Olá @willian.sato, tudo bem?
Acredito que nesse contexto precisará criar um middleware para fazer esta consulta usando a URL absoluta meamo, já que a VTEX precisa do accountName no início da rota como no exemplo:
{accountname}.vtexcommercestable.com.br/api/rns/pub/subscriptions
Tanto que se fizer um teste usando qualquer API Client como o Postman, você obterá como resposta um erro status 400 com o “Invalid AccountName” no body se enviarmos um request sem o accountname no início da rota, como no teu exemplo:
{dominioloja}.com.br/api/rns/pub/subscriptions
Abraços!
2 Likes
Olá @willian.sato concordo com o que o @andremiani citou aqui em cima, você precisa utilizar a rota exatamente no seguinte formato:
https://{{accountname}}.vtexcommercestable.com.br/api/rns/pub/subscriptions
Ou seja, pode ser que utilizar um middleware seja a solução mais adequada para o seu caso.
Karina Mota
Field Software Engineer | VTEX