---
title: "Modelos (Microsoft Graph)"
description: "Como habilitar a funcionalidade Modelos no Signer on-premises: a conversão de DOCX para PDF pelo Microsoft Graph e SharePoint, os pré-requisitos e as quatro configurações da seção Graph."
canonical: "https://docs.lacunasoftware.com/articles/signer/on-premises/modelos"
locale: "pt-BR"
product: "Signer"
last_updated: "2026-10-22"
---

# Modelos (Microsoft Graph)

A funcionalidade **Modelos** cria documentos a partir de modelos Word (DOCX) com campos que o usuário preenche na
criação do documento. Para gerar o PDF, o Signer converte o DOCX com o Microsoft Graph e um site do SharePoint.

A funcionalidade vem desligada. O Signer só mostra a opção **Modelos** quando as quatro configurações da seção
`Graph` estão preenchidas.

## Pré-requisitos

* Um tenant do Microsoft 365 com o SharePoint Online.
* Permissão para criar um site no SharePoint e um registro de aplicativo no Microsoft Entra ID.
* Acesso de saída do servidor do Signer a `login.microsoftonline.com` e `graph.microsoft.com`.

## 1. Crie um site no SharePoint

1. Crie um site no SharePoint para uso exclusivo do Signer, por exemplo `signer-modelos`.
1. Anote o nome do tenant (a parte antes de `.sharepoint.com`) e o nome do site.

## 2. Registre um aplicativo no Microsoft Entra ID

1. No portal do Azure, abra **Microsoft Entra ID** e depois **App registrations**.
1. Clique em **New registration**, dê um nome ao aplicativo (por exemplo, *Signer Modelos*) e clique em **Register**.
1. Anote o **Application (client) ID**.
1. Em **Certificates & secrets**, crie um client secret e anote o **Value**.
1. Em **API permissions**, adicione uma permissão de aplicativo (*Application permission*) do Microsoft Graph que
   permita ler e gravar arquivos no site criado no passo 1.
1. Clique em **Grant admin consent**.

> **Aviso**
>
> O client secret tem data de validade. Quando ele vencer, a conversão para de funcionar. Anote a data e crie um
> secret novo antes do vencimento.

## 3. Obtenha o DriveId do site

O `DriveId` identifica a biblioteca de documentos do site.

1. Peça um access token ao Entra ID. Troque `<tenant>`, `<client-id>` e `<client-secret>` pelos seus valores:

   ```sh
   curl -X POST https://login.microsoftonline.com/<tenant>.onmicrosoft.com/oauth2/v2.0/token \
     -d client_id=<client-id> \
     -d client_secret=<client-secret> \
     -d scope=https://graph.microsoft.com/.default \
     -d grant_type=client_credentials
   ```

1. Copie o valor de `access_token` da resposta.
1. Consulte o drive do site. Troque `<tenant>`, `<site>` e `<token>`:

   ```sh
   curl -H "Authorization: Bearer <token>" \
     "https://graph.microsoft.com/v1.0/sites/<tenant>.sharepoint.com:/sites/<site>:/drive"
   ```

1. Anote o valor do campo `id` da resposta. Esse é o `DriveId`.

Se a segunda chamada responder `403`, o aplicativo não tem permissão no site. Revise o passo 2.

## 4. Configure o Signer

Na seção `Graph`, informe os quatro valores e reinicie a aplicação:

```json
"Graph": {
  "DomainName": "suaempresa.onmicrosoft.com",
  "ClientId": "<application-client-id>",
  "ClientSecret": "<client-secret>",
  "DriveId": "<drive-id>"
}
```

`DomainName` é o domínio do tenant no Entra ID (por exemplo, `suaempresa.onmicrosoft.com` ou um domínio verificado
do tenant). Em variáveis de ambiente, use `Graph__DomainName`, `Graph__ClientId`, `Graph__ClientSecret` e
`Graph__DriveId`. Veja as [configurações *Graph*](https://docs.lacunasoftware.com/articles/signer/on-premises/settings#graph).

## 5. Teste

1. Entre no Signer e comece a criar um documento.
1. Verifique se o botão **Modelos** aparece ao lado do botão de adicionar arquivos.
1. Crie um modelo com um arquivo DOCX de teste e gere um documento a partir dele.

Se a opção não aparecer, verifique se as quatro configurações estão preenchidas. Se a conversão falhar, procure o
erro do Microsoft Graph no log da aplicação. As causas mais comuns são o client secret vencido e a falta de
permissão do aplicativo no site.

## Veja também

* [Configurações do Signer](https://docs.lacunasoftware.com/articles/signer/on-premises/settings)
