Advertisement
cesarMarcal

Untitled

Oct 10th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. ### Escrever backlog da alteração de status da tabela de preço
  2. > Toda AR, Projeto e Unidade, deve ter sempre uma tabela ativa.
  3. > Após uma tabela de preço ser cadastrada para cada um desses escopos, não deve ser possível mais ter uma tabela inativa.
  4.  
  5. Regras:
  6. - Ao cadastrar a primeira tabela de preço de alguém, ela deve estar ativa como padrão
  7. - Ao cadastrar outras tabelas de preço, elas devem estar inativas.
  8. - Ao alterar o status de uma tabela de preço deve ser validado se:
  9. - Existe outra tabela de preço ativa.
  10. - Se sim, inativar esta.
  11. - Se não, ignorar.
  12. - Alterar status da tabela de preço de interesse para ativa.
  13.  
  14. endpoint: PATCH /prices/{id-da-tabela-de-preco}/activate
  15. payload: (sem payload)
  16. resposta: status 200 em caso de sucesso
  17. validações:
  18. - se for uma tabela de preço de AR (arId preenchido, projectId null e unityId null):
  19. - perfil do usuário logado precisa ser de AR (ou seja, o perfil deve ter a chave arId preenchida)
  20. - se for uma tabela de preço de Projeto ou de Unidade (arId preenchido, projectId preenchido)
  21. - perfil do usuário logado precisa ser de Projeto (projectId preenchido)
  22.  
  23. ### Escrever backlog de quais usuários do CCA podem ver quais unidades
  24.  
  25. endpoints:
  26. 1. GET /cca/{ccaId}/unities?page=1&pageSize=10&status="ATIVO"
  27. - retornar lista de unidades que o cca pode ver
  28. - exemplo de resposta:
  29. - {totalElements: 100, data: [{id: 0, name: "Nome da unidade", projeto: {id: 1, name: "Construtora MRV"}, address: { state: "MG", city: "Uberlândia"}}]}
  30. 2. POST /user/{userId}/unities
  31. - cadastrar quais unidades o usuário pode ver (será usado no futuro para limitar quais unidades o funcionário do caa pode ver na hora de criar o pedido)
  32. - exemplo de body:
  33. - { ccaId: 1, unitiesIds: [1, 2, 3, 4]}
  34.  
  35.  
  36. ### Escrever backlog de integração de certificados
  37.  
  38. - Criar um endpoint para integrar os pedidos da serpro com um período de início e fim
  39. - POST /serpro/integrate
  40. - body: {dateStart: "dd/mm/yyyy", dateEnd: "dd/mm/yyyy"} (validar se o período não é maior que 31 dias)
  41.  
  42. Como funciona a integração com o serpro:
  43. 1. Primeiro deve-se usar o período para buscar os pedidos APROVADOS: POST {{ _.baseUrl }}/v1/pedidos-de-certificado/aprovados/ar (endpoint do serpro)
  44. 2. Depois deve-se usar o endpoint de pedidos EMITIDOS: POST {{ _.baseUrl }}/certificados/emitidos/ar
  45.  
  46. O fluxo é baseado em sincronizar as informações da serpro com as informações de nossa base.
  47. A integração será feita sempre através do protocolo, e para sincronizar as pessoas físicas e jurídicas será identificado através do tipo do certificado e do documento (CPF ou CNPJ)
  48. Caso o protocolo recuperado no endpoint da serpro não existir em nossa base de dados, o pedido e a emissão devem ser criadas com a origem ("Integração")
  49. Caso o protocolo exista em nossa base, deve ser realizada uma atualização das informações da base, com objetivo de deixar as bases sincronizadas.
  50. É necessário verificar como os campos da serpro se relacionam com a nossa base de dados
  51. - Se algum campo estiver como obrigatório na nossa base e não ser retornado pela serpro, deve ser avaliado se pode ser preenchido com um valor padrão como "Indefinido" ou deixar a coluna da base como not null.
  52.  
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement