Adueladocumentação

Loja online

A montra pública, o carrinho e o pagamento por referência.

Põe o catálogo na internet, com domínio próprio se o lojista o tiver. O pagamento confirma-se por sondagem ao agregador, e não por webhook: um webhook que se perde é uma encomenda paga que nunca chega, e perguntar de quinze em quinze minutos nunca perde nada.

O que a licença destranca

Este módulo exige a funcionalidade loja na licença. Sem ela, as rotas dele respondem 403 e o menu não o mostra.

Precisa de: armazem, comercial. Sem eles, este módulo não faz o que promete.

Aproveita: canais. Sem eles funciona, e faz menos.

Não se instala sem: armazem. É a ordem de arranque, e não a lista comercial.

O que se consegue ver a acontecer

  • A montra mostra o catálogo com o stock real, e esconde o que acabou
  • O carrinho aguenta uma sessão sem conta criada
  • O pagamento faz-se por referência multicaixa, e confirma-se sozinho
  • A encomenda paga entra como venda, e o stock desce

Os 41 endpoints

Saem da árvore de rotas montada, que é a mesma que serve os pedidos. A referência completa, com corpos e respostas, está em /api.

Método Caminho O que faz
GET /api/v1/loja/avisos Que avisos esta loja manda ao comprador, e por onde
PUT /api/v1/loja/avisos Liga e desliga os avisos da loja
GET /api/v1/loja/definicoes Lê a montra desta empresa
PUT /api/v1/loja/definicoes Cria ou atualiza a montra
DELETE /api/v1/loja/dominio Tira o endereço próprio
GET /api/v1/loja/dominio O endereço próprio desta montra
PUT /api/v1/loja/dominio Dá um endereço próprio à montra
POST /api/v1/loja/dominio/verificar Confere o registo TXT e liga o endereço
GET /api/v1/loja/encomendas As encomendas que entraram pela montra
GET /api/v1/loja/encomendas/:id Uma encomenda, com as linhas
POST /api/v1/loja/encomendas/:id/aceitar Aceita a encomenda, emite a venda e dá baixa do stock
POST /api/v1/loja/encomendas/:id/entregue Fecha a encomenda
POST /api/v1/loja/encomendas/:id/pronta Marca a encomenda como pronta a sair ou a levantar
POST /api/v1/loja/encomendas/:id/recusar Recusa a encomenda, com a razão
GET /api/v1/loja/entregas As formas de entrega desta loja, com zonas e horários
PUT /api/v1/loja/entregas Cria um método de entrega
DELETE /api/v1/loja/entregas/:id Apaga um método de entrega
PUT /api/v1/loja/entregas/:id Atualiza um método de entrega
PUT /api/v1/loja/entregas/:id/horarios Escreve os horários de levantamento de um método
PUT /api/v1/loja/entregas/:id/zonas Escreve as zonas de um método de entrega
DELETE /api/v1/loja/pagamento Tira as credenciais e desliga a cobrança online
GET /api/v1/loja/pagamento As credenciais de pagamento desta loja
PUT /api/v1/loja/pagamento Escreve, ou roda, as credenciais do agregador do lojista
DELETE /api/v1/loja/produtos/:id/publicar Tira um produto da montra
POST /api/v1/loja/produtos/:id/publicar Põe um produto na montra
GET /api/v1/loja/produtos/publicados Conta quantos produtos estão na montra
GET /api/v1/loja/publicacao As regras que decidem o que está na montra
PUT /api/v1/loja/publicacao Escreve as regras de publicação
POST /api/v1/loja/publicacao/arrumar Aplica as regras ao catálogo, agora
GET /api/v1/loja/textos Tudo o que o comprador lê nesta loja
PUT /api/v1/loja/textos Escreve os textos da loja, todos de uma vez
GET /api/v1/publico/loja/:slug A montra de uma loja
GET /api/v1/publico/loja/:slug/categorias As categorias que têm produtos publicados
POST /api/v1/publico/loja/:slug/encomendas Um comprador encomenda
GET /api/v1/publico/loja/:slug/encomendas/:referencia O estado de uma encomenda
GET /api/v1/publico/loja/:slug/encomendas/:referencia/pagamento O estado do pagamento de uma encomenda
POST /api/v1/publico/loja/:slug/encomendas/:referencia/pagamento Abre a cobrança de uma encomenda que espera pagamento
POST /api/v1/publico/loja/:slug/pagamentos/notificacao O agregador diz o que aconteceu ao dinheiro
GET /api/v1/publico/loja/:slug/produtos/:id Um produto da montra
GET /api/v1/publico/loja/encomenda/:referencia -
GET /api/v1/publico/loja/montra A loja do endereço em que o pedido chegou

Esta página é gerada a partir do código do módulo, com make docs-modulos. O que aqui está muda no mesmo commit em que o módulo muda.