VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa

API 4.0 (app móvel)

Visão geral do contrato /api/4.0 usado pelo app móvel da loja, com os três níveis de acesso, o formato dos ids e do dinheiro e o mapa das rotas.

A API 4.0 (/api/4.0) é o contrato do app móvel da loja, herdado da plataforma Venddor 1.0. O app mostra a home com banners e vitrines, lista categorias e produtos, abre a ficha do seller e do produto, mostra as formas de pagamento e permite ao cliente pedir o cancelamento ou contestar um pedido. As respostas imitam o formato antigo: chaves no singular e no plural misturadas (sra_products devolve products), números como texto e dinheiro em reais.

Use a 4.0 quando você mantém um app que já foi escrito para ela.

Pontos-chave
  • Há três níveis de acesso: anônimo (catálogo, home, avaliações), cliente logado (sellers, avisos, cancelamento) e administrador (formas de pagamento).
  • O cliente logado usa o cabeçalho Authorization: Basic base64(<JWT do cliente>) seguido de :, a chamada ekey. Não é Bearer e não é e-mail e senha.
  • Dinheiro é número em reais (52.9), com uma cópia em texto em price_formatted.price ("52.90").
  • Os ids são inteiros decimais em texto, que cabem em 32 bits. Você também pode enviar o UUID do registro.
  • Erros têm o formato {"error":"mensagem"}. A paginação usa items_per_page e devolve params.

Como funciona

Um app típico começa anônimo e passa a usar a sessão do cliente depois do login.

  1. Monte a home

    Chame Blocos da home com o layout 2572. A resposta já traz banners, categorias, produtos e sellers prontos para desenhar.

  2. Navegue pelo catálogo

    Use Categorias para o menu e Produtos para as listas, a busca e a ficha do produto.

  3. Entre com o cliente

    Faça o login do cliente (Autenticação) e guarde o token de acesso (JWT). Ele vira a ekey das rotas do cliente.

  4. Use as rotas do cliente

    Com a ekey, chame Sellers, Avisos e Cancelamento e contestação.

Conceitos-chave

Os três níveis de acesso

NívelCabeçalhoRotas
AnônimoNenhumCategorias, produtos, home, avaliações, páginas do app, foto de contestação (assinada).
Cliente (ekey)Authorization: Basic <base64 do JWT do cliente>:Sellers, avisos, cancelamento e contestação.
AdministradorAuthorization: Basic <base64 de e-mail:chave_de_api>Formas de pagamento por empresa.

Atenção ao catálogo: as rotas de catálogo aceitam a ekey como opcional. Sem cabeçalho, a chamada é anônima. Com cabeçalho, ele precisa ser uma ekey válida de cliente da loja: um Bearer, um token vencido ou um token de outra loja responde 401 {"error":"unauthorized"}. Com a ekey, os preços e a visibilidade seguem o grupo do cliente.

A ekey monta-se assim: pegue o JWT do cliente, codifique em Base64 e acrescente : no fim do cabeçalho.

bash
EKEY="$(printf '%s' "$CUSTOMER_TOKEN" | base64 -w0):"
curl "$BASE_URL/api/4.0/CpNotifications/1" -H "Authorization: Basic $EKEY"

Só serve JWT de cliente (user_type cliente). Token de administrador ou de seller é recusado com 401.

Ids

Um id da 4.0 é um inteiro decimal escrito como texto ("1585658495"), sempre dentro do intervalo de 32 bits. Nas lojas migradas da plataforma 1.0 ele é o id antigo do registro; nas demais, é derivado do UUID. Os caminhos e filtros aceitam o id decimal ou o UUID. company_id é o seller; "0" é a própria loja.

Dinheiro, textos numéricos e imagens

  • Preços saem como número em reais (52.9) e em price_formatted.price como texto com duas casas ("52.90").
  • Contagens de categoria (product_count) e position saem como texto.
  • As imagens saem em três variantes (icon, detailed, icons), todas com URL absoluta. Os ícones são miniaturas (400 px).

Endpoints

MétodoCaminhoPara quêAcessoPágina
GET/api/4.0/sra_categoriesÁrvore de categoriasanônimoCategorias
GET/api/4.0/sra_categories/{id}Uma categoriaanônimoCategorias
GET/api/4.0/sra_productsListar e buscar produtosanônimoProdutos
GET/api/4.0/sra_products/{id}Ficha de um produtoanônimoProdutos
GET/api/4.0/sra_products_discountedProdutos em promoçãoanônimoProdutos
GET/api/4.0/categories/{id}/sra_productsProdutos de uma categoriaanônimoProdutos
GET/api/4.0/sra_bm_layouts/{layoutID}/sra_bm_locations/{location}/sra_bm_blocksBlocos da homeanônimoBlocos da home
GET/api/4.0/sra_vendorsListar sellersclienteSellers
GET/api/4.0/sra_vendors/{id}Ficha de um sellerclienteSellers
GET/api/4.0/sra_discussionAvaliações de um produtoanônimoAvaliações
GET/api/4.0/sra_mobile_pagesPáginas do appanônimoPáginas do app
GET/api/4.0/sra_mobile_pages/{id}Uma página do appanônimoPáginas do app
GET/api/4.0/payments_ext_aFormas de pagamentoadministradorFormas de pagamento
GET/api/4.0/CustomerCancelApiRegras de cancelamentoclienteCancelamento e contestação
POST/api/4.0/CustomerCancelApiCancelar ou contestar um pedidoclienteCancelamento e contestação
GET/api/4.0/CustomerCancelApi/{orderId}Situação da contestaçãoclienteCancelamento e contestação
GET/api/4.0/CustomerCancelApi/photos/{token}Foto de uma contestaçãolink assinadoCancelamento e contestação
GET/api/4.0/CpNotifications/{userId}Avisos do appclienteAvisos

Erros comuns

  • Mandar Bearer nas rotas de catálogo. Qualquer Authorization que não seja uma ekey válida derruba a chamada com 401, mesmo numa rota pública. Omita o cabeçalho para ir anônimo.
  • Esquecer o : no fim da ekey. O : depois do Base64 é opcional, mas o Base64 não pode conter o : dentro (não codifique token:).
  • Tratar product_count e position como número. Saem como texto.
  • Calcular em centavos. A 4.0 devolve reais, como número decimal. Se o seu sistema trabalha em centavos, multiplique por 100 e arredonde.
  • Guardar o id como inteiro de 64 bits ou como UUID. Guarde o texto devolvido e reenvie igual.
  • Esperar página de módulo ativa. Páginas do app só funciona se a loja ligou o recurso; senão responde 403 module_disabled.

Próximos passos

Blocos da home
Desenhe a home do app com uma chamada.
Produtos
Listas, busca, filtros e ficha.
Cancelamento e contestação
O cliente pede o cancelamento ou contesta.
Autenticação
Como obter o token do cliente.
Anterior
Pesquisas de campo
Próxima
Categorias
Nesta página
  • Como funciona
  • Conceitos-chave
  • Os três níveis de acesso
  • Ids
  • Dinheiro, textos numéricos e imagens
  • Endpoints
  • Erros comuns
  • Próximos passos