Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Vantagens Modelo 1:
    • Mais objetiva e técnica – Evita informações desnecessárias para desenvolvedores que só precisam da API.
    • Fácil manutenção – Não precisa ser alterada caso a interface do produto mude.
    • Facilidade para integradores externos – Desenvolvedores que não usam o produto podem entender os dados sem precisar de contexto extra.
  • Desvantagens Modelo 1:
    • Desconexão com o produto – Quem usa o produto pode não saber como esses dados se refletem na interface.
    • Pouca usabilidade para equipes internas – Se um analista de suporte ou um gerente de produto precisar entender os dados da API, pode ter dificuldades.


2️⃣ Modelo da Doc da API 2: Relacionando os dados da API com o produto

...

  • Estrutura separado pelos tipos de dados, sendo que o PDVSync é separado por microsserviços
  • Em cada tipo de dados existe uma quantidade enorme de informações do PDV na primeira aba + as informações da API, pode ser tornar confuso para o usuário
    • Necessidade de dar foco para a API e foco para o PDV quando o usuario for procurar informações especificas
  • Ausência de processo de instalação do Sync
  • Ausência de processo Troubleshooting
  • Fluxos de subida de forma separada
  • Em cada fluxo precisa adicionar a informação do microsserviço, pois atualmente temos apenas o endPoint o que pode se tornar confuso na hora de montar uma requisição
  • Estudo de como implementar o processo online


Modelo da Doc de API geral

  • Toda documentação das API's subida, descida e online deve conter os seguintes dados:


A Regra Desconto Acréscimo poderá ter a seguintes informações:

Deck of Cards
iddk1



Card
labelComo integrar

Este método é responsável pela criação de uma regra de desconto

  • Endpoint: /api/retaguarda/v3/dadosdinamicos/down/59/{versão}
  • Método: Post
  • Autenticação: Bearer token
  • Permissão: Retaguarda
  • Microserviço: PDVSync.Core.Preco

Este endpoint recebe uma lista de regra de desconto e acrescimo, permitindo vários em uma mesma requisição.

Aviso

Para que a baixa da regra de desconto e acrescimo criado ocorra no PDV Omni é necessário realizar a abertura de um lote do tipo 59 = regradescontoacrescimo

É necessário que o inquilino tenha o parametro 59 - regradescontoacrescimo cadastrado no controle.

Deck of Cards
idversoes2
Card
labelV3.1

Requisição

Section
Column
width50%

Exemplo de body da requisição

[
    {
        "dataHoraVigenciaFinal": "2021-06-21T14:43:18.665Z",
        "dataHoraVigenciaInicial": "2021-06-21T14:43:18.665Z",
        "idInquilino": "string",
        "idProprietario": "string",
        "idRetaguarda": "string",
        "idRetaguardaCategoria": "string",
        "idRetaguardaCliente": 10,
        "idRetaguardaDepartamento": "string",
        "idRetaguardaFornecedor": "string",
        "idRetaguardaMarca": "string",
        "idRetaguardaPagamentoCondicao": "string",
        "idRetaguardaPraca": "string",
        "idRetaguardaProduto": "string",
        "idRetaguardaProdutoEmbalagem ": "string",
        "idRetaguardaRamoAtividade": "string",
        "idRetaguardaRede": "string",
        "idRetaguardaRegiao": "string",
        "idRetaguardaRestricaoPagamentoCondicao": "string",
        "idRetaguardaSecao": "string",
        "idRetaguardaSubCategoria": "string",
        "loteOrigem": "string",
        "prioritaria": true,
        "quantidadeFinal": 10,
        "quantidadeInicial": 10,
        "situacao": 10,
        "tipo": 10,
        "valor": "string"
    }
]

Column
width50%

Definições dos campos do body

Campo

Tipo

Descrição

Obrigatório

Observações

idInquilino

string

Identificador do inquilinoSim
idProprietariostringIdentificador do proprietárioSim
idRetaguardastringIdentificador do grupo na retaguardaSimTamanho máximo: 100 caracteres
dataHoraVigenciaInicialdatetimeData Inicial da vigência da regraSim
dataHoraVigenciaFinaldatetimeData Final da vigência da regraSim
loteOrigemstringIdentificador do loteSim
situacaoIntSituação do grupoSim0 - Inativo , 1 - ativo
tipoIntTipo da regra Sim0 - desconto, 1 - Acrescimo
valorstringValorSim
quantidadeInicialIntQuantidade InicialNão
quantidadeFinalIntQuantidade FinalNão
idRetaguardaPagamentoCondicaostringIdRetaguarda do pagamento condicaoNãoTamanho máximo: 100 caracteres
idRetaguardaRestricaoPagamentoCondicaostringIdRetaguarda da restrição pagamento condiçãoNãoTamanho máximo: 100 caracteres
idRetaguardaRegiaostringIdRetaguarda da Regiao Não
idRetaguardaPracastringIdRetaguarda da PracaNãoTamanho máximo: 100 caracteres
idRetaguardaRamoAtividadestringIdRetaguarda do Ramo de atividadeNão
idRetaguardaRedestringIdRetaguarda da RedeNãoTamanho máximo: 100 caracteres
idRetaguardaClientestringIdRetaguarda do Cliente Não
idRetaguardaProdutostringId Retaguarda do ProdutoNão
idRetaguardaFornecedorstringIdRetaguarda do fornecedorNãoTamanho máximo: 100 caracteres
idRetaguardaCategoriastringIdRetaguarda da categoriaNãoTamanho máximo: 100 caracteres
idRetaguardaSubCategoriastringIdRetaguarda subcategoriaNãoTamanho máximo: 100 caracteres
idRetaguardaDepartamentostringIdRetaguarda do departamentoNãoTamanho máximo: 100 caracteres
idRetaguardaProdutoEmbalagemstringidRetaguarda da embalagem do produtoNãoTamanho máximo: 100 caracteres
prioritariabooleanRegra prioritariaNão
idRetaguardaMarcastringIdRetaguarda da MarcaNãoTamanho máximo: 100 caracteres
idRetaguardaSecaostringIdRetaguarda da SecaoNãoTamanho máximo: 100 caracteres

Retorno

Deck of Cards
idretornos
Card
label200 - Ok
Column
width50%

Exemplo de body de retorno

{
    "data": null,
    "errors": null,
    "message": null,
    "numberOfRecords": 8,
    "success": true,
    "totalTime": 2061
}

Column
width50%

Definições dos campos do retorno

Campo

Tipo

Descrição

dataObjetoRetorno dos dados caso tenha
errorsObjeto

Objeto contendo todos os erros encontrados.

messageString

Descrição do erro

numberOfRecordsIntNúmero de arquivos processados
successBoolStatus da requisição
totalTimeIntTempo total
Card
label400 - Bad Request
Column
width50%

Exemplo de body de retorno

{
    "data": null,
    "errors": {
        "0": {
            "IdRetaguarda": [
                ""
            ]
        }
    },
    "message": null,
    "numberOfRecords": 9,
    "success": false,
    "totalTime": 4077
}

Column
width50%

Definições dos campos do retorno

Campo

Tipo

Descrição

dataObjetoRetorno dos dados caso tenha
errorsObjeto

Objeto contendo todos os erros encontrados.

Cada propriedade desse objeto é o índice do grupo enviado que está com erro.

messageString

Descrição do erro

numberOfRecordsIntNúmero de arquivos processados
successBoolStatus da requisição
totalTimeIntTempo total