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.
  • Schemas UserJobTitleListItem, UserJobTitleUpdate (e UserJobPositionRef reaproveitado) para o organograma de cargos e funções.

🔄 Changed

  • Cadastro de Usuários (/user, /user/{iduser}, /user/menu): os bodies UserCreate/UserUpdate e o retorno UserDetail 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 tracking (GET/POST/PUT /carrier/tracking-template): bodies TrackingTemplateCreate/TrackingTemplateUpdate e o retorno TrackingTemplateListItem ampliados com IDTypeEventTracking, DaysAfterDelivery e os campos WhatsAppTemplate*; GET documenta o modo Type=WhatsAppTemplate (retorna um único template do provedor).
  • PUT /sku/resupply/{...}: 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: SkuCreateBody ganhou o campo BestBeforeRequired (1 exige informar a data de validade nas movimentações do SKU).
  • POST /consumer/{idconsumer}/address: body ConsumerAddressCreateBody ganhou o campo ConsumerEmail.
  • GET /orders/tracking/{idorder} (schema OrderTrackingReceipt), GET /fulfillment/packing/... (campos de KIT em PackingPickingListItem) e GET /tax/{idtaxdepartment}: campos de resposta novos/ajustados.
  • GET /orders, GET /cte, POST /fulfillment/picking e GET /store-front/cashier/...: 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/PUT /type/order/type: descrições e contrato ajustados.

🐛 Fixed

  • GET/POST/PUT /carrier/tracking-template: 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).