VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa/API 4.0 (app móvel)

Blocos da home

Devolve de uma vez os banners, categorias, vitrines de produtos e sellers que o app desenha na tela inicial.

A tela inicial do app é montada a partir do layout que o administrador desenhou no painel (a mesma disposição da home da loja na web). Esta rota lê esse layout e devolve cada bloco já preenchido com o conteúdo: os banners com a imagem, as vitrines com os cartões de produto, as categorias e os sellers. O app só precisa desenhar.

A rota é anônima (a ekey é opcional). Com a ekey, os produtos seguem o preço e a visibilidade do grupo do cliente. A resposta nunca é guardada em cache (Cache-Control: private, no-store).

GET/api/4.0/sra_bm_layouts/{layoutID}/sra_bm_locations/{location}/sra_bm_blocksPública

Blocos de uma página do app

Devolve os blocos da página indicada, na ordem em que aparecem.

Parâmetros de caminho

layoutIDstringobrigatório
Sempre 2572. É um valor fixo que o app envia; qualquer outro responde 404. Não é o id de um layout da loja.
locationstringobrigatório
Código da página cujo layout você quer. A home é index.index. Páginas sem layout próprio caem nos blocos padrão.

Exemplo de requisição

bash
curl "$BASE_URL/api/4.0/sra_bm_layouts/2572/sra_bm_locations/index.index/sra_bm_blocks"

Resposta

200Blocos da home
json
{
  "blocks": {
    "banners": {
      "type": "banners",
      "name": "Banners",
      "order": 0,
      "content": {
        "items": [
          {
            "banner": "Campanha de inverno",
            "main_pair": {
              "icon": {
                "image_path": "https://minhaloja.io.venddor.com.br/uploads/banners/inverno.png?w=1200",
                "http_image_path": "https://minhaloja.io.venddor.com.br/uploads/banners/inverno.png?w=1200",
                "https_image_path": "https://minhaloja.io.venddor.com.br/uploads/banners/inverno.png?w=1200"
              }
            },
            "url": "https://minhaloja.io.venddor.com.br/uploads/banners/inverno.png?w=1200",
            "target_type": "category",
            "target_value": "878363454"
          }
        ]
      },
      "properties": { "delay": 5 }
    },
    "categories": {
      "type": "categories",
      "name": "Categorias",
      "order": 1,
      "content": {
        "items": [
          { "category": "Escritório", "category_id": "878363454", "parent_id": "0", "position": "0", "product_count": "305", "seo_name": "escritorio", "status": "A", "subcategories": [] }
        ]
      },
      "properties": { "delay": 5 }
    },
    "products": {
      "type": "products",
      "name": "Produtos",
      "order": 2,
      "content": { "items": [ { "product_id": "1585658495", "product": "Caneca Esmaltada 350ml", "price": 52.9, "...": "cartão de produto, veja Produtos" } ] },
      "properties": { "delay": 5 }
    },
    "vendors": {
      "type": "vendors",
      "name": "Vendedores",
      "order": 3,
      "content": { "items": [ { "company": "Loja Exemplo", "company_id": "496868694" } ] },
      "properties": { "delay": 5 }
    }
  }
}

Campos da resposta

blocksobject
Mapa de blocos. A chave é o id do bloco no layout; blocos criados pela plataforma usam o tipo como chave (banners, categories, products, vendors) ou bg-<nome> para imagens de fundo. Desenhe na ordem de order, não na ordem das chaves.
blocks.*.typestring
bannerscategoriesproductsproduct_showcasevendors
O que o bloco contém e como desenhar.
blocks.*.namestring
Título do bloco. Quando o layout não dá nome, vem o padrão do tipo (Banners, Categorias, Produtos, Vitrine, Vendedores).
blocks.*.orderinteger
Posição do bloco na tela, a partir de 0.
blocks.*.content.itemsarray
Os itens. Em banners: banner (nome), main_pair.icon (imagem), url (a imagem), target_type e target_value. Em categories: o objeto de Categorias. Em products e product_showcase: o cartão de Produtos. Em vendors: company, company_id e, quando há logotipo, logos.theme.image.
blocks.*.content.items[].target_typestring
productcategorymobile_pageexternal_link
Para onde o toque no banner leva. Vazio quando o banner não tem link.
blocks.*.content.items[].target_valuestring
Id do produto, id da categoria, slug da página do app ou endereço externo, conforme o target_type.
blocks.*.properties.delayinteger
Segundos entre uma imagem e outra num carrossel. Padrão 5.

Erros

StatusQuandoCorpo
401Authorization presente mas não é uma ekey válida{"error":"unauthorized"}
404layoutID diferente de 2572, ou location vazio{"error":"layout not found"}
500Falha ao montar os blocos{"error":"failed to get page layout","detail":"..."}
Blocos que não aparecem

Blocos vazios são omitidos. Blocos escondidos no layout, os desligados no celular e os de tipos que o app não conhece também não saem. Se a home da loja não tem produtos, categorias, sellers ou banners cadastrados, o bloco do tipo correspondente não vem. Quando o layout não tem um bloco de produtos, categorias ou sellers, a plataforma acrescenta um padrão (12 produtos mais recentes, as categorias e os sellers) para a tela nunca ficar vazia.

Veja também

  • Produtos
  • Categorias
  • Visão geral da API 4.0
Anterior
Produtos
Próxima
Sellers
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também