Um caso inventado para percorrer os avisos
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Gestoria Marlet é uma consultora inventada que quer assinar os seus contratos de serviço a partir do Odoo: com Yousign no dia a dia e com DocuSign para um cliente que o pede. A Laura, responsável administrativa, é manager do Signature Bridge; o Pau, da sua equipa, prepara os pedidos. Na empresa vigora a política EU-only que o módulo verifica. Acompanhamos o que lhes acontece e que mensagem surge em cada ponto. Os textos aparecem tal como o módulo os mostra, em inglês.
Quando o Pau mexe em algo reservado aos managers
O Pau abre a ficha do fornecedor DocuSign para alterar uma definição e recebe Only a Signature Bridge manager can do this on a provider. Não é uma falha: essa ação está reservada aos managers do Signature Bridge, por isso quem a faz é a Laura.
Com o estado da ponte acontece o mesmo: Only Signature Bridge managers can read its health. E com os indicadores: Only Signature Bridge managers can refresh the KPIs. Se alguém da equipa precisar dessas tarefas, é preciso dar-lhe o perfil de manager; caso contrário, fica a cargo de quem já o tem.
Se o tipo de fornecedor não for um dos que o módulo suporta, o aviso é Unsupported provider type: %s, com o tipo no lugar de %s.
A conta DocuSign: região, fornecedor de assinatura e DPA
O Pau tenta enviar o primeiro pedido pela DocuSign e o módulo trava-o com EU-only policy: the data center of %s is not known yet. Run "Test Connection" on the provider so DocuSign reports the region of the account. A própria mensagem diz o que fazer: a Laura executa Test Connection no fornecedor para que a DocuSign indique a região da conta.
Se a região devolvida estiver fora da UE, o aviso passa a ser EU-only policy: the %(provider)s account is hosted in region "%(region)s", outside the EU. Com a política EU-only, o módulo não deixa avançar com essa conta: é preciso confirmar com o fornecedor em que região está alojada.
Outro bloqueio da ficha: Choose the DocuSign %s signature provider of the account on the provider form (Test Connection lists them). A Laura escolhe na ficha do fornecedor o fornecedor de assinatura DocuSign da sua conta; Test Connection mostra-lhe os que existem.
Antes de enviar em produção aparece Confirm the Data Processing Agreement with %s before sending in production. O módulo pede que se confirme o acordo de tratamento de dados com esse fornecedor e, enquanto não estiver confirmado, não envia em produção.
Webhooks e a chave HMAC da DocuSign
Com a DocuSign, um dos avisos que a Laura vê é DocuSign webhooks are declared on every envelope (eventNotification); paste the Connect HMAC key in "Webhook Secret". Ou seja: com a DocuSign os webhooks são declarados em cada envelope e o que ela tem de fazer é colar a chave HMAC do Connect no campo Webhook Secret.
O outro aviso sobre a chave esclarece onde é criada: DocuSign Connect HMAC keys are generated in DocuSign (Settings > Connect > HMAC Keys): create a new key there and paste it in "Webhook Secret". A chave é gerada na DocuSign, em Settings > Connect > HMAC Keys, e colada em Webhook Secret.
Noutro momento o módulo pode pedir Register the webhook first. Registe o webhook e repita a ação. E se chegar um webhook com um conteúdo que não é JSON válido, o módulo rejeita-o com Invalid webhook JSON payload; verifique no fornecedor como está configurado esse webhook.

O Pau prepara o pedido
O Pau cria um pedido para um contrato de serviço. Ao guardá-lo sem signatários surge At least one signer is required. e, sem documento, At least one document attachment is required. Acrescenta o signatário e anexa o contrato.
O contrato está em Word e o pedido segue pela Yousign: Yousign signs PDF documents: %s is not a PDF. A Yousign assina documentos PDF, por isso o Pau converte-o e volta a anexá-lo.
Depois escolhe um nível que esse fornecedor não permite: Level %(level)s is not allowed on provider %(provider)s. Muda o nível ou o fornecedor. Para o cliente que pede QES aparece QES is not available on %s: run "Test QES Capability" on the provider. A Laura executa Test QES Capability no fornecedor.
O envio e o que vem depois
O Pau carrega em Send. Estes são os avisos desta fase:
Only draft requests can be sent.Só se enviam pedidos em rascunho.DocuSign answered without an envelopeId.eYousign answered without a signature request id.A resposta do fornecedor não trazia o identificador do envelope ou do pedido de assinatura. Veja na conta do fornecedor o que aconteceu a esse envio antes de o repetir.The level and the provider of a signature request are fixed once it is sent.Nível e fornecedor ficam fixos ao enviar: decida-os antes de carregar emSend.Only Send links a signature request to an envelope of the provider.A ligação ao envelope do fornecedor só é criada porSend.A signature request starts as a draft: only the provider moves its state.eOnly the provider and the buttons of the request move its state.O estado não se altera à mão: quem o move são o fornecedor e os botões do pedido.
Dias depois, o Pau quer enviar um lembrete da assinatura. Se o pedido não estiver ativo: Only active requests can be reminded. Se todos os signatários já tiverem assinado ou recusado: Every signer has already signed or declined. Com a Yousign pode surgir Yousign signer ids are unknown for: %s, que indica os signatários cujo identificador Yousign o módulo não conhece; reveja esse pedido na Yousign. E se o pedido já estiver fechado: %s is already closed.
Um cliente recusa o contrato e o Pau quer repeti-lo com outra versão. Clonar só funciona para pedidos expirados ou recusados: Only expired or declined requests can be cloned.
A evidência e o registo de auditoria
Se o Pau procurar a evidência antes do tempo, o módulo responde Evidence exists once %s is completed. A evidência existe depois de o pedido estar concluído.

Depois de concluída, a evidência não se edita: Completed signature evidence cannot be modified. Apagá-la fica nas mãos dos managers e deixa rasto: Only Sign Bridge Managers can delete completed evidence, and deletion is audited.
Os eventos de auditoria só admitem acrescentar registos. Se alguém tentar alterá-los, a mensagem é Audit events are append-only.

O que aprender com o caso da Marlet
- Leia a mensagem inteira: muitas indicam o botão (
Test Connection,Test QES Capability) ou o campo (Webhook Secret) que resolve o bloqueio. - Distribua bem os perfis: fornecedor, estado da ponte, KPIs e eliminação de evidência cabem aos managers do Signature Bridge.
- Antes de
Send, confirme signatário, anexo, PDF se for Yousign, nível permitido e DPA confirmado. - Depois de enviar, nível e fornecedor ficam fixos e o estado é movido pelo fornecedor e pelos botões.
- A evidência concluída e os eventos de auditoria não se editam.
Se está em plena implementação, o guia de definições e primeira semana cobre os campos que é preciso preencher.
Como a FlexigoTech o ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida, também em torno da assinatura eletrónica. O módulo está publicado no Odoo Apps para 17, 18, 19 e 20 e custa 9 € por versão do Odoo, pagamento único, sem IVA. Tem os detalhes na página do módulo e na ficha do Odoo Apps; para perceber o que cada registo percorre por dentro, leia como funciona o módulo.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): controllers/health_controller.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/ir_attachment.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/sign_bridge_adapter.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/sign_bridge_audit_event.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/sign_bridge_compliance_kpi.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/sign_bridge_provider.py
- Código do módulo: flexigo_docusign_yousign_bridge_for_regulated_sign_work 20.0 (d528b22d): models/sign_bridge_request.py
- apps.odoo.com/apps/modules/20.0/flexigo_docusign_yousign_bridge_for_regulated_sign_work
- apps.odoo.com/apps/modules/17.0/flexigo_docusign_yousign_bridge_for_regulated_sign_work
- apps.odoo.com/apps/modules/18.0/flexigo_docusign_yousign_bridge_for_regulated_sign_work
- apps.odoo.com/apps/modules/19.0/flexigo_docusign_yousign_bridge_for_regulated_sign_work
- flexigotech.com/en/services.html
