feat: envia Validação Técnica ao deal do HubSpot #84

Merged
jhony75 merged 1 commit from feature/validation-hubspot-sync into develop 2026-10-14 17:34:26 -03:00
Owner

O que é

O Cockpit passa a enviar uma Validação Técnica ao HubSpot, no mesmo molde do sync de Report: sobe o PDF da validação pro File Manager, cria uma nota anexando esse PDF no deal vinculado e, opcionalmente, move o estágio do pipeline. Disparo manual, botão "Enviar ao HubSpot" na tela da validação.

Mudanças

  • POST /api/technical-validations/{id}/hubspot-sync ({"move_to_stage": "..."} opcional) e GET /api/technical-validations/{id}/hubspot-stages. Reaproveita hubspot_client.sync_report sem alterá-lo; router novo em routers/ (o módulo eeg_reports continua sem depender do hubspot_client).
  • Deal só pra validação: o link usado é hubspot_deal_url; um link que não seja de deal é recusado com 400. O campo de ticket sai das telas de criar/editar/ver a validação.
  • hubspot_ticket_url continua na API/banco só por compatibilidade, sem uso (remover a coluna exigiria migration; deixado de fora de propósito).
  • Report não mudou: segue com um único hubspot_url genérico (ticket ou deal).
  • Sem migration. Bruno, OpenAPI, tipos, INTEGRATIONS.md e BACKLOG.md atualizados.

Pendente fora do código

  • Nunca testado contra o HubSpot real (só com hubspot_client mockado, como o sync de Report): o token precisa dos scopes de escrita (notes, files e, para mover estágio, deals) e o primeiro envio real deve ser conferido num deal de teste.

Verificação

  • Backend: 302 passed (8 testes novos: sem deal, link de ticket recusado, campo legado ignorado, chamada ao client com PDF/nota/estágio, só nota, erros HubSpot, 404, estágios).
  • Frontend: tsc limpo, lint sem erros, 172 testes (4 novos), build ok.

🤖 Generated with Claude Code

## O que é O Cockpit passa a enviar uma Validação Técnica ao HubSpot, no mesmo molde do sync de Report: sobe o PDF da validação pro File Manager, cria uma nota anexando esse PDF no **deal** vinculado e, opcionalmente, move o estágio do pipeline. Disparo **manual**, botão "Enviar ao HubSpot" na tela da validação. ## Mudanças - `POST /api/technical-validations/{id}/hubspot-sync` (`{"move_to_stage": "..."}` opcional) e `GET /api/technical-validations/{id}/hubspot-stages`. Reaproveita `hubspot_client.sync_report` sem alterá-lo; router novo em `routers/` (o módulo `eeg_reports` continua sem depender do `hubspot_client`). - **Deal só pra validação:** o link usado é `hubspot_deal_url`; um link que não seja de deal é recusado com `400`. O campo de ticket sai das telas de criar/editar/ver a validação. - `hubspot_ticket_url` continua na API/banco só por compatibilidade, sem uso (remover a coluna exigiria migration; deixado de fora de propósito). - Report **não mudou**: segue com um único `hubspot_url` genérico (ticket ou deal). - Sem migration. Bruno, OpenAPI, tipos, `INTEGRATIONS.md` e `BACKLOG.md` atualizados. ## Pendente fora do código - Nunca testado contra o HubSpot real (só com `hubspot_client` mockado, como o sync de Report): o token precisa dos scopes de escrita (notes, files e, para mover estágio, deals) e o primeiro envio real deve ser conferido num deal de teste. ## Verificação - Backend: 302 passed (8 testes novos: sem deal, link de ticket recusado, campo legado ignorado, chamada ao client com PDF/nota/estágio, só nota, erros HubSpot, 404, estágios). - Frontend: tsc limpo, lint sem erros, 172 testes (4 novos), build ok. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat: envia Validacao Tecnica ao deal do HubSpot (nota + PDF + estagio opcional)
All checks were successful
EEG QA CI / Frontend (pull_request) Successful in 3m14s
EEG QA CI / Build e publicação de imagens (pull_request) Successful in 2m48s
EEG QA CI / Deploy production (pull_request) Has been skipped
EEG QA CI / Deploy development (pull_request) Has been skipped
EEG QA CI / Detectar o que mudou (pull_request) Successful in 6s
EEG QA CI / Backend (pull_request) Successful in 2m0s
5a3eb3490e
POST /api/technical-validations/{id}/hubspot-sync e GET .../hubspot-stages,
mesmo molde do sync de Report, disparo manual. A validacao so trabalha com deal:
link que nao seja de deal e recusado (400) e o campo de ticket sai da tela.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jhony75 merged commit 5c2f92581f into develop 2026-10-14 17:34:26 -03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jhony75/eeg-qa!84
No description provided.