Pular para o conteúdo principal

v1.3 — Cargos, jornada de trabalho e templates de tracking

Atualização do contrato idworks a partir das mudanças de comportamento dos handlers (baseline 09/07 → 18/07): novos endpoints de cargos (organograma), corpos de request modelados para endpoints de escrita, novos campos de resposta e correções de descrição/enum verificadas contra o handler e os CSVs de tipo. Sem quebras de compatibilidade.

✨ Added

  • GET /user/tag — lista as tags de acesso de usuário das empresas do token (filtro opcional IDAcess).
  • GET /user/jobtitle — lista os cargos (organograma) das empresas do token; filtros IDUserJobTitle e AllStatus.
  • POST /user/jobtitle — cria um cargo (UserJobTitleName obrigatório; IDUserJobPositionList, IDUserJobTitleUpper opcionais).
  • PUT /user/jobtitle/{idjobtitle} — atualiza um cargo (semântica de omissão: IDUserJobTitleUpper vazio desvincula o superior; omitido mantém).
  • DELETE /user/jobtitle/{idjobtitle} — remove um cargo.
  • O organograma de cargos e funções está no corpo de resposta dessas operações — a listagem traz a hierarquia montada, e a edição aceita o cargo superior.

🔄 Changed

  • Cadastro de UsuáriosPOST /user, GET/PUT /user/{iduser} e GET /user/menu: corpo e resposta foram ampliados com os dados profissionais (IDUserJobTitle, IDWorkScale, IDUserUpper, IDModuleCurrent e respectivos nomes, mais IDUserJobPositionCurrent); GET /user ganhou os filtros Tag e IDModule; PUT /user/{iduser} reconhece o modo DashboardConfig (resposta Dashboard salvo).
  • Templates de trackingGET/POST /carrier/tracking-template e PUT /carrier/tracking-template/{idcarriertrackingtemplate}: corpo e resposta ampliados com IDTypeEventTracking, DaysAfterDelivery e os campos WhatsAppTemplate*; o GET documenta o modo Type=WhatsAppTemplate (retorna um único template do provedor).
  • PUT /sku/resupply/{idstockkeepingunitresupplylist}: novo parâmetro de query Draft=1 (salva rascunho, resposta "sucesso") e enum IDTypeResupplyMode (1 Individual / 2 Agrupado / 3 Indireto) adicionado ao body — que antes não tinha enum.
  • POST /sku: o corpo ganhou o campo BestBeforeRequired (1 exige informar a data de validade nas movimentações do SKU).
  • POST /consumer/{idconsumer}/address: o corpo ganhou o campo ConsumerEmail.
  • GET /orders/tracking/{idorder}, GET /fulfillment/packing/picking-list/{idpickinglist} (campos de KIT nos itens) e GET /tax/{idtaxdepartment}: campos de resposta novos/ajustados.
  • GET /orders, GET /cte, POST /fulfillment/picking e GET /store-front/cashier/{idbankaccount}: descrição revisada para detalhar melhor o comportamento — sem novos parâmetros nem campos (contrato inalterado). No GET /cte, o parâmetro IDStatusShippingAuctionDif, o modo FreightConciliation=1 e o schema de resposta já existiam.
  • POST /type/order/type e PUT /type/order/type/{idordertype}: descrições e contrato ajustados.

🐛 Fixed

  • GET/POST /carrier/tracking-template e PUT /carrier/tracking-template/{idcarriertrackingtemplate}: rótulo do gatilho IDTypeEventTracking = 4 corrigido de "Pagamento aprovado" para "Pedido pronto para manuseio", e removida a menção incorreta a "pesquisa" no evento 3 (Pós-entrega) — conferido em TrackingTemplateModal.jsx.
  • GET /user: descrição de IDCompanyInvoice estava invertida — o parâmetro filtra a listagem de usuários por empresa faturadora, não a apuração de comissão. Corrigida.
  • PUT /user/{iduser}: removido jargão de tabela de log da descrição (histórico de alteração descrito em linguagem de contrato).
  • PUT /user/jobtitle/{idjobtitle}: descrição de IDUserJobPositionList corrigida para avisar que omitir/enviar vazio remove todas as funções vinculadas (evita perda de dados silenciosa).