Criar documento via Modelo

Criar documento via Modelo

POST https://api.zapsign.com.br/api/v1/models/create-doc/

Esse endpoint permite que você crie um documento a partir de um Modelo dinâmico (isto é, um .docx com variáveis que você sobe na ZapSign, que terá suas variáveis automaticamente substituídas e convertido para .pdf). Você deverá enviar os dados em JSON, bem como receberá eles nesse mesmo formato.

Headers

NameTypeDescription

Authorization*

string

Api token a frente do texto "Bearer".

Ex: Bearer c7f35c84-7893-4087-b4fb-d1f06c23

Request Body

NameTypeDescription

template_id*

string

Identificador/token do template (modelo dinâmico)

Ex: https://app.zapsign.com.br/conta/modelos/{TEMPLATE_ID}

Para acessar a sua lista de templates clique aqui: https://app.zapsign.com.br/conta/modelos/

signer_name

string

Nome do signatário do documento. Se houver mais de um signatário no documento, você poderá adicioná-lo posteriormente via endpoint Adicionar signatário.

data[]['de']

string

Nome da variável a ser substituída.

Ex: "{{NOME COMPLETO}}"

data[]['para']

string

Valor a ser preenchido no lugar da variável. Ex: "João dos Santos"

signer_email

string

Email do signatário do documento. Se houver mais de um signatário no documento, você poderá adicioná-lo posteriormente via endpoint Adicionar signatário.

signer_phone_country

String

Código do pais do signatário do documento (Ex: 55). Se houver mais de um signatário no documento, você poderá adicioná-lo posteriormente via endpoint Adicionar signatário.

signer_phone_number

String

Numero do telefone do signatário do signatário do documento (Ex: 11999999999). Se houver mais de um signatário no documento, você poderá adicioná-lo posteriormente via endpoint Adicionar signatário.

lang

string

idioma do documento. Valores possíveis:

"pt-br" (português)

"es" (espanhol)

"en" (inglês).

Default: "pt-br"

disable_signer_emails

boolean

para desativar os e-mails enviados aos signatários, envie esse parâmetro como true. Default: false

brand_logo

string

se deseja personalizar a logomarca da experiência de assinatura deste documento específico, envie a URL da imagem (precisa ser um link publicamente acessível).

Default: ""

brand_primary_color

string

se deseja personalizar a cor primária (do botão) da experiência de assinatura deste documento específico, envie em rgb ou hexadecimal.

Ex: "#0011ee".

Default: ""

brand_name

string

se deseja personalizar o nome do remetente dos e-mails enviados ao signatário, insira aqui o nome da marca. Por exemplo, se inserido "XPTO Advogados", o remetente do e-mail será "XPTO Advogados via ZapSign". Max-length: 100 caracteres.

Default: ""

external_id

string

ID do documento na sua aplicação.

Default: ""

folder_path

string

caminho da pasta dentro da ZapSign em que o documento será colocado. Se as pastas não existirem, serão criadas automaticamente. Requisitos: (1) o folder_path pode ter até 255 caracteres, (2) cada pasta pode ter até 50 caracteres, (3) há um limite de 5 níveis de pasta.

Ex.: "/api/" ou "/pasta1/pasta2/pasta3/".

Default: "/" (sem pasta).

created_by

string

e-mail do usuário que será definido como criador do documento, para fins de organização interna. Caso o e-mail não exista ou não seja usuário da sua conta, este parâmetro será ignorado.

Default: ""

(documento terá como criador aquele usuário que criou o modelo)

send_automatic_email

boolean

Se true, a ZapSign irá enviar um e-mail ao signatário com o link para assinar o documento. Se false (default), você é quem se encarregará de compartilhar o link de assinatura com o signatário, seja pelo seu site, widget, WhatsApp, SMS, e-mail, chat etc. Observação: para isso funcionar, é obrigatório que o email do signatário seja definido com um campo dinâmico, por exemplo {{EMAIL DO CLIENTE}}, e esse valor seja enviado junto da requisição.

custom_message

string

(apenas relevante caso send_automatic_email: true).

A custom_message é a mensagem personalizada que você pode inserir no e-mail enviado pela ZapSign ao signatário.

Exemplo: "Olá Fulano, \n Este é o seu contrato de trabalho. \n Abraços, Equipe XPTO". O símbolo \n serve para "pular uma linha" no texto do e-mail.

Default: ""

signer_has_incomplete_fields

bolean

Caso definido como true, o signatário será direcionado para preencher o formulário do modelo antes de assinar o documento. Observação: valores enviados em data já estarão preenchidos, sem que o signatário precise preencher novamente. Default: false.

reminder_every_n_days

integer

Representa o intervalo de dias entre os lembretes que serão enviados para os signatários, enquanto o signatario não assinar. Serão executadas no máximo 3 tentativas. Observação: este campo só deve ser preenchido se send_automatic_whatsapp ou send_automatic_email forem true Exemplo: se definido como 7 será enviada uma tentativa a cada 7 dias, até que o usuario assine, por no máximo 21 dias.

allow_refuse_signature

boolean

Se verdadeiro, os signatários tem a opção de se recusar a assinar. Default: false.

disable_signers_get_original_file

boolean

Se verdadeiro, os signatários não tem a opção de baixar o documento original. Default: false.

send_automatic_whatsapp

boolean

Se true, a ZapSign irá enviar uma mensagem por WhatsApp ao signatário com o link para assinar o documento. Se false (default), você é quem se encarregará de compartilhar o link de assinatura com o signatário, seja pelo seu site, widget, WhatsApp, SMS, e-mail, chat etc. Observação: para isso funcionar, é obrigatório que o phone_country e phone_number do signatário sejam definidos e cada envio automático via WhatsApp custa R$ 0,50. Adicione créditos em Configurações > Plano.

send_automatic_whatsapp_signed_file

boolean

Se true, a ZapSign irá enviar uma mensagem por WhatsApp ao signatário com o link para o arquivo assinado. Se false (default), você é quem se encarregará de compartilhar o link de assinatura com o signatário, seja pelo seu site, widget, WhatsApp, SMS, e-mail, chat etc. Observação: para isso funcionar, é obrigatório que o phone_country e phone_number do signatário sejam definidos e cada envio automático via WhatsApp custa R$ 0,50. Adicione créditos em Configurações > Plano.

signature_order_active

boolean

Se verdadeiro, as assinaturas do signatário serão solicitadas sequencialmente. Default: false. Sempre verdadeiro quando signer_has_incomplete_fields = true.

{
    "open_id": 5,
    "token": "eb9c367a-e62f-4992-8360-b0219deaeecc",
    "status": "pending",
    "name": "Contrato de Admissão",
    "original_file": "https://zapsign.s3.amazonaws.com/pdf/62xxxxx-d8fc-4392-8575-f3c46c3cfc7a/df6bac91-2766-4182-8c8b-ded5287e4c0f.pdf",
    "signed_file": null,
    "created_at": "2020-04-16T03:33:46.241747Z",
    "last_update_at": "2020-04-16T03:33:46.241775Z",
    "signers": [
        {
            "token": "921c115d-4a6e-445d-bdca-03fadedbbc0b",
            "sign_url": "https://app.zapsign.com.br/verificar/921c115d-4a6e-445d-bdca-03fadedbbc0b",
            "status": "new",
            "name": "João da Silva",
            "email": "",
            "phone_country": "",
            "phone_number": "",
            "times_viewed": 0,
            "last_view_at": null,
            "signed_at": null
        }
    ],
    "answers": [ // lista de variaveis e respostas no modelo dinamico (caso o documento tenha sido criado através de um modelo dinamico)
        {
            "variable": "NOME COMPLETO",
            "value": "Nome Teste"
        },
        {
            "variable": "NÚMERO DO CPF",
            "value": "99999999999"
        },
        {
            "variable": "ENDEREÇO COMPLETO",
            "value": "Endereço teste"
        }
    ]
}

Exemplo de requisição

O que fazer com a resposta

Após uma requisição bem sucedida, você deverá receber uma resposta como essa:

Atenção: os links retornados em original_file e signed_file são temporários e duram 60 minutos. Caso seu sistema necessite salvar estes links é recomendado que sejam baixados em uma CDN própria ou que o endpoint de Detalhar documento seja consultado sempre para garantir que seu usuário sempre receberá um link válido.

{
    "open_id": 5,
    "token": "eb9c367a-e62f-4992-8360-b0219deaeecc",
    "status": "pending",
    "name": "Contrato de Admissão",
    "original_file": "https://zapsign.s3.amazonaws.com/pdf/62xxxxx-d8fc-4392-8575-f3c46c3cfc7a/df6bac91-2766-4182-8c8b-ded5287e4c0f.pdf",
    "signed_file": null,
    "created_at": "2020-04-16T03:33:46.241747Z",
    "last_update_at": "2020-04-16T03:33:46.241775Z",
    "signers": [
        {
            "token": "921c115d-4a6e-445d-bdca-03fadedbbc0b",
            "sign_url": "https://app.zapsign.com.br/verificar/921c115d-4a6e-445d-bdca-03fadedbbc0b",
            "status": "new",
            "name": "João da Silva",
            "email": "",
            "phone_country": "",
            "phone_number": "",
            "times_viewed": 0,
            "last_view_at": null,
            "signed_at": null,
            "resend_attempts": null
        }
    ],
    "answers": [ // lista de variaveis e respostas no modelo dinamico (caso o documento tenha sido criado através de um modelo dinamico)
        {
            "variable": "NOME COMPLETO",
            "value": "Nome Teste"
        },
        {
            "variable": "NÚMERO DO CPF",
            "value": "99999999999"
        },
        {
            "variable": "ENDEREÇO COMPLETO",
            "value": "Endereço teste"
        }
    ]
}

O que você deverá fazer com essa resposta é enviar o link de assinatura para o signatário através da sua aplicação.

O link de assinatura consiste na rota: https://app.zapsign.com.br/verificar/{signer_token}

Ou seja, no exemplo acima, você deve enviar o seguinte link de assinatura ao signatário: - https://app.zapsign.com.br/verificar/921c115d-4a6e-445d-bdca-03fadedbbc0b E agora é só aguardar que o signatário assine!

Mais de um signatário

Mais de um signatário? Se você quiser adicionar mais signatários, utilize os endpoints "Atualizar signatário" e "Adicionar signatário", receba o token do novo signatário e envie o link de assinatura como explicado acima.

Como criar um Modelo dinâmico na ZapSign

Acesse nossa central de ajuda e veja o passo a passo completo:

Last updated