Pular para o conteúdo principal

Provider Configs

Gerenciamento de configurações de provedores de assinatura eletrônica.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/api/v1/esignature/provider-configsCriar configuraçãoESIGNATURE_ADMIN
GET/api/v1/esignature/provider-configsListar configuraçõesESIGNATURE_READ
GET/api/v1/esignature/provider-configs/:idObter configuraçãoESIGNATURE_READ
PATCH/api/v1/esignature/provider-configs/:idAtualizar configuraçãoESIGNATURE_ADMIN
DELETE/api/v1/esignature/provider-configs/:idExcluir configuraçãoESIGNATURE_ADMIN
POST/api/v1/esignature/provider-configs/:id/testTestar conexãoESIGNATURE_ADMIN
POST/api/v1/esignature/provider-configs/:id/set-defaultDefinir como padrãoESIGNATURE_ADMIN

Atributos

CampoTipoDescrição
namestringNome identificador da configuração
providerTypeenumTipo do provedor: OPENSIGN, DOCUSIGN, ADOBESIGN, ZAPSIGN
credentialsobjectCredenciais do provedor (criptografadas)
isDefaultbooleanSe é a configuração padrão da organização
isActivebooleanSe a configuração está ativa
settingsobjectConfigurações adicionais do provedor
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização
createdBystringID do usuário que criou
updatedBystringID do usuário que atualizou

Credenciais por Provedor

Segurança

As credenciais são criptografadas antes de serem armazenadas no banco de dados usando AES-256-GCM. Elas nunca são retornadas nas respostas da API.

OpenSign

O OpenSign suporta dois modos de autenticação:

Modo 1: Master Key (Self-hosted / Desenvolvimento)

Para instâncias self-hosted ou desenvolvimento local, use a Master Key do Parse Server:

CampoDescriçãoObrigatório
baseUrlURL base da instância OpenSignSim
masterKeyMaster Key do Parse ServerSim
appIdApplication ID (padrão: opensign)Não
apiPrefixPrefixo da API: /api/app (Caddy) ou /app (direto)Não
{
"baseUrl": "https://opensign.suaempresa.com",
"masterKey": "sua_master_key_aqui",
"appId": "opensign",
"apiPrefix": "/api/app"
}

Modo 2: Session Token (Usuário autenticado)

Para operações em nome de um usuário específico:

CampoDescriçãoObrigatório
baseUrlURL base da instância OpenSignSim
sessionTokenToken de sessão do usuárioSim
extUserIdID do usuário em contracts_UsersSim
appIdApplication ID (padrão: opensign)Não
apiPrefixPrefixo da APINão
{
"baseUrl": "https://opensign.suaempresa.com",
"sessionToken": "r:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"extUserId": "AbCdEfGhIj",
"appId": "opensign"
}
Self-hosted

Para instâncias self-hosted do OpenSign, o modo Master Key é recomendado pois não requer a geração de API tokens (funcionalidade disponível apenas em planos pagos do OpenSign Cloud).

DocuSign

CampoDescriçãoObrigatório
integrationKeyIntegration Key (Client ID)Sim
userIdUser ID (GUID do usuário)Sim
accountIdAccount IDSim
rsaPrivateKeyChave RSA privada (PEM)Sim
environmentproduction ou demoNão
{
"integrationKey": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"rsaPrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIE...",
"environment": "production"
}

Adobe Sign

CampoDescriçãoObrigatório
clientIdClient ID da aplicaçãoSim
clientSecretClient SecretSim
refreshTokenRefresh Token OAuthSim
{
"clientId": "xxxxxxxxxxxx",
"clientSecret": "xxxxxxxxxxxx",
"refreshToken": "xxxxxxxxxxxx"
}

ZapSign

CampoDescriçãoObrigatório
apiTokenToken de API do ZapSignSim
sandboxSe deve usar ambiente sandboxNão
{
"apiToken": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sandbox": false
}

Criar Configuração

POST /api/v1/esignature/provider-configs

Cria uma nova configuração de provedor de assinatura.

Atributos

CampoTipoObrigatórioDescrição
namestringSimNome da configuração (max 100 caracteres)
providerTypeenumSimOPENSIGN, DOCUSIGN, ADOBESIGN, ZAPSIGN
credentialsobjectSimCredenciais do provedor
isDefaultbooleanNãoDefinir como padrão (default: false)
isActivebooleanNãoSe está ativa (default: true)
settingsobjectNãoConfigurações adicionais
curl -X POST 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "esignature-provider-config",
"attributes": {
"name": "OpenSign Produção",
"providerType": "OPENSIGN",
"credentials": {
"baseUrl": "https://opensign.suaempresa.com",
"masterKey": "sua_master_key_aqui",
"appId": "opensign",
"apiPrefix": "/api/app"
},
"isDefault": true,
"isActive": true,
"settings": {
"defaultExpirationDays": 30
}
}
}
}'

Resposta

{
"data": {
"type": "esignature-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440000",
"links": {
"self": "/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000"
},
"attributes": {
"name": "OpenSign Produção",
"providerType": "OPENSIGN",
"isDefault": true,
"isActive": true,
"settings": {
"defaultExpirationDays": 30
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"createdBy": "550e8400-e29b-41d4-a716-446655440001"
}
},
"links": {
"self": "/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000"
}
}

Listar Configurações

GET /api/v1/esignature/provider-configs

Lista todas as configurações de provedor da organização.

curl -X GET 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs' \
-H 'Authorization: Bearer SEU_TOKEN'

Resposta

{
"data": [
{
"type": "esignature-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440000",
"links": {
"self": "/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000"
},
"attributes": {
"name": "OpenSign Produção",
"providerType": "OPENSIGN",
"isDefault": true,
"isActive": true,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
{
"type": "esignature-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440002",
"links": {
"self": "/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440002"
},
"attributes": {
"name": "DocuSign Backup",
"providerType": "DOCUSIGN",
"isDefault": false,
"isActive": true,
"createdAt": "2024-01-16T14:00:00Z",
"updatedAt": "2024-01-16T14:00:00Z"
}
}
]
}

Obter Configuração

GET /api/v1/esignature/provider-configs/:id

Obtém uma configuração específica por ID.

curl -X GET 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Atualizar Configuração

PATCH /api/v1/esignature/provider-configs/:id

Atualiza uma configuração existente.

Atributos

CampoTipoDescrição
namestringNome da configuração
credentialsobjectNovas credenciais (substitui as existentes)
isDefaultbooleanDefinir como padrão
isActivebooleanAtivar/desativar
settingsobjectConfigurações adicionais
Nota

Não é possível alterar o providerType de uma configuração existente. Para mudar de provedor, crie uma nova configuração.

curl -X PATCH 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "esignature-provider-config",
"attributes": {
"name": "OpenSign Produção - Atualizado",
"credentials": {
"baseUrl": "https://opensign.suaempresa.com",
"masterKey": "nova_master_key"
},
"settings": {
"defaultExpirationDays": 15
}
}
}
}'

Excluir Configuração

DELETE /api/v1/esignature/provider-configs/:id

Exclui uma configuração de provedor.

Atenção

Não é possível excluir uma configuração que possui requisições de assinatura associadas. Primeiro, exclua ou cancele as requisições pendentes.

curl -X DELETE 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer SEU_TOKEN'

Resposta

Status 204 No Content em caso de sucesso.


Testar Conexão

POST /api/v1/esignature/provider-configs/:id/test

Testa a conexão com o provedor usando as credenciais configuradas.

curl -X POST 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000/test' \
-H 'Authorization: Bearer SEU_TOKEN'

Resposta de Sucesso

{
"success": true,
"message": "Connection successful"
}

Resposta de Falha

{
"success": false,
"message": "Invalid API key"
}

Definir como Padrão

POST /api/v1/esignature/provider-configs/:id/set-default

Define uma configuração como padrão da organização. A configuração padrão anterior será automaticamente desmarcada.

curl -X POST 'https://e-signature.stg.catalisa.app/api/v1/esignature/provider-configs/550e8400-e29b-41d4-a716-446655440000/set-default' \
-H 'Authorization: Bearer SEU_TOKEN'

Resposta

Retorna a configuração atualizada com isDefault: true.

{
"data": {
"type": "esignature-provider-config",
"id": "550e8400-e29b-41d4-a716-446655440000",
"attributes": {
"name": "OpenSign Produção",
"providerType": "OPENSIGN",
"isDefault": true,
"isActive": true,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T12:00:00Z"
}
}
}

Boas Práticas

  1. Mantenha apenas uma configuração padrão - Facilita a integração
  2. Teste antes de usar - Use /test após criar ou atualizar credenciais
  3. Rotacione credenciais - Atualize as chaves periodicamente
  4. Use nomes descritivos - Ex: "OpenSign Produção", "DocuSign Sandbox"
  5. Configure webhooks - Após criar a config, configure o webhook no provedor