Introdução Última atualização: 09/02/2023
Essa área é destinada para os desenvolvedores que desejam integrar o sDoc em seus sistemas.
Aqui você vai encontrar toda a referência técnica que precisa para realizar uma integração completa.
Exemplos
-
Postman
Baixe aqui a nossa Collection feita no Postman.
Histórico de atualizações
-
Versão 1.2 beta
- Tipos de Assinatura (Digital e Eletrônica)
- Posicionamento de Carimbo
- Buscar Participante
-
Versão 1.0.2
- Correção de bugs
-
Versão 1.0.1
- Editar Solicitação
-
Versão 1.0
- Lançamento da API de integração
-
sDoc Integration 2020
Compatibilidade encerrada.
Tecnologias
-
.NET 5
Nossa API de integração foi feita inteiramente com .NET 5 usando C#. -
SQL Server
Nossa base de dados é 100% Microsoft com SQL Server. -
Windows Server (IIS)
A API está hospedada nos servidores seguros da Safeweb com Windows.
Recursos e Funcionalidades
Criar Solicitações
Criar fluxos de coletas de assinatura no sDoc via integração.
A API não realiza qualquer tipo de assinatura, esse processo é feito
inteiramente dentro do portal.
Contas
Gerencie as solicitações de sua empresa com o módulo de contas.
Válido somente para empresas que criaram a conta no portal.
Baixar Arquivo
Tenha acesso aos arquivos salvos em nuvem do sDoc.
Disponível somente para solicitações criadas via integração.
Callbacks
Seja notificado sempre que houver uma assinatura no arquivo.
Outros tipos de callbacks ainda não estão disponíveis.
Recursos não contemplados
-
QR Code
O compartilhamento rápido de arquivos usando o QR Code não está disponível na Integração. -
Gestão da Conta
Nenhum recurso de gestão (ex. crias pastas / gerenciar usuários) é contemplado na integração. -
Consultar Solicitações
A Integração não suporta consultar a lista de solicitações criadas via portal ou integração.
Consultas são exclusivamente feitas pelo identificador único de cada uma.
Autenticação
Autenticação é feito pelo Header da requisição.
Como no exemplo abaixo, envie o Token no Header pela chave
Authorization.

Segurança do Token
-
O Token é exclusivo e intransferível.
Você fica inteiramente responsável pela guarda do token. -
O Token fica criptografado na nossa base de dados.
Somente você tem a versão original. -
A Safeweb não se responsabiliza pela perda ou vazamento do Token.
Caso ocorra essa adversidade, entre no portal do sDoc, no menu Integração e clique em Gerar Token.
Esse processo revoga o Token e a SecretKey geradas anteriormente.
Callbacks
Sempre que houver alguma notificação, o sDoc vai notificar seu sistema via callback cadastrado da plataforma ou vinculado a uma solicitação.
Notificações disponíveis
- Assinatura realizada Vamos notificar sempre que houver uma nova assinatura na sua solicitação.
SecretKey
Para garantir a segurança de sua API de callback, vamos enviar um SecretKey, que somente seu sistema e o sDoc conhecem, junto com a notificação.
Assim seu sistema sabe que é o sDoc chamando e notificando a atualização de uma solicitação.
-
Guarde a SecretKey dentro do seu código no back-end.
Assim você evita a exposição da SecretKey. -
A Safeweb não se responsabiliza pela perda ou vazamento da
SecretKey.
Caso ocorra essa adversidade, entre no portal do sDoc, no menu Integração e clique em Gerar Token.
Esse processo revoga o Token e a SecretKey geradas anteriormente.
Estrutura do conteúdo de resposta:
Atributo | Tipo | Descrição | Tamanho |
---|---|---|---|
identifier | string | Identificador da solicitação. Identificador da solicitação que ocorreu uma alteração. | 30 |
type | int | Tipo de notificação. Tipo de ação que ocorreu dentro da solicitação. Consulte a lista de enums para mais detalhes. | - |
secretKey | string | SecretKey da plataforma. Chave para que sua aplicação saiba que é o sDoc chamando. | 130 |
Modelo JSON:
{
"identifier": "AAA000BBB111CCC222DDD333",
"type": 0,
"secretKey": "E35C7BE29087A8907136D9A0994CA96AF578C7A6F5CB94EF2D11D1BB83C1EDB3"
}
Erros
Nossa API de Integração conta com um formato padronizado para retornar os erros.
Alguns erros estão mapeados em nossa base de dados, caso você esbarre por um deles, você vai receber o código de identificação do erro na resposta da API.
Assim, você pode tratar o problema, de acordo com o tipo de erro.
Resposta
Sempre vamos retornar a API como um HttpStatus 200 (OK). Caso você receba outro status na resquisição, pode ter ocorrido algum erro genérico na aplicação ou um erro inesperado no nosso servidor.
Código | Mensagem | ||
---|---|---|---|
Sistema da API | |||
INTEGRATION_API_OFF | A API de Integração está inoperante no momento. Por favor, tente novamente mais tarde. Observações: Essa mensagem indica que desligamos a API temporariamente para realizar uma manutenção. | ||
Empresa | |||
INTEGRATION_ENTERPRISE_5C8C | Dados da empresa não cadastrados. Favor, contatar a Safeweb para realizar o cadastro. Observações: Essa mensagem indica que provavelmente algum dado da empresa ficou faltando no cadastro. | ||
INTEGRATION_ENTERPRISE_D0AW |
Empresa não é usuário do sDoc. Favor, entrar no sistema com seu certificado digital (e-CNPJ) para realizar o cadastro.
Observações:
Essa mensagem indica que a empresa precisa entrar no sDoc para se tornar
usuário.
As solicitações no sDoc são vinculadas ao CNPJ da empresa, por isso precisamos desse cadastro antes. |
||
Arquivo | |||
INTEGRATION_FILE_A2FC | Não foi possível localizar o arquivo pelo identificador recebido. | ||
INTEGRATION_FILE_B425 | O arquivo pertence a uma solicitação que foi excluída do sistema. | ||
INTEGRATION_FILE_HW2A | O arquivo pertence a uma solicitação que não foi criada via integração. | ||
INTEGRATION_FILE_K2Q7 | O arquivo pertence a uma solicitação que não foi criada por essa plataforma. | ||
Plataforma | |||
INTEGRATION_PLATFORM_54F9 | Esta plataforma não está ativada para realizar operações. | ||
INTEGRATION_PLATFORM_7F86 | Plataforma não cadastrada para realizar operações na integração do sDoc. | ||
INTEGRATION_PLATFORM_F52Q | Token de identificação da plataforma não foi informado na conexão. | ||
INTEGRATION_PLATFORM_W1SY | Token de identificação da plataforma é inválido. | ||
INTEGRATION_PLATFORM_H6D1 | A plataforma não está ativa. | ||
Solicitação | |||
INTEGRATION_SOLICITATION_41A7 | Link de callback não cadastrado ou recebido por parâmetro para criar solicitação. | ||
INTEGRATION_SOLICITATION_7D5B | Solicitação requisitada não pertence a essa plataforma. | ||
INTEGRATION_SOLICITATION_8D12 | Solicitação não encontrada. | ||
INTEGRATION_SOLICITATION_B425 | Essa solicitação foi excluída do sistema. | ||
INTEGRATION_SOLICITATION_D6F2 | Solicitação não foi criada via API de Integração. | ||
Participante | |||
INTEGRATION_PARTICIPANT_23AA | Participante não encontrado. Observações: Essa mensagem indica que o participante não foi encontrado no banco de dados. | ||
INTEGRATION_PARTICIPANT_AEC3 | Não é possível definir o posicionamento de um carimbo para um participante que não está com o status de 'Pendente' da assinatura. Observações: Essa mensagem indica que o participante já assinou ou rejeitou o arquivo, não sendo mais possível definir um carimbo para o mesmo. | ||
INTEGRATION_PARTICIPANT_B12A | Não é possível remover o posicionamento de carimbo de um participante que não tem carimbo posicionado. Observações: Essa mensagem indica que você tentou remover o carimbo de um participante que não tinha um carimbo posicionado. | ||
INTEGRATION_PARTICIPANT_4C3F |
Não foi encontrado o vinculo (assinatura) entre o participante (assinante) e o arquivo (documento). Favor, consulte o time de desenvolvimento
do sDoc.
Observações:
Essa mensagem indica que o vinculo entre participante e arquivo não foi
encontrado.
Isso pode afetar o fluxo de coleta de assinaturas. Nesse caso, contate o suporte técnico da Safeweb para solucionar esse problema junto ao time técnico. |
||
INTEGRATION_PARTICIPANT_45D3 |
Esse participante não pertence a nenhuma solicitação criada por essa plataforma.
Observações:
Essa mensagem indica que você tentou acessar um participante de uma solicitação criada por outra plataforma/aplicação.
Os identificadores dos participantes são públicos, mas são impedidos de serem acessados por terceiros graças a Autenticação da API. |
||
Conta | |||
INTEGRATION_ORGANIZATION_47C6 | Essa conta foi excluída do sDoc. | ||
INTEGRATION_ORGANIZATION_49D0 | Nenhuma pasta foi encontrada com o identificador informado. | ||
INTEGRATION_ORGANIZATION_A33A | A pasta informada não pertence à conta. | ||
INTEGRATION_ORGANIZATION_BB8C | Nenhuma conta encontrada com o identificador recebido. |
Enums
Status da Assinatura
nº | Descrição |
---|---|
1 | Pendente |
2 | Assinado |
3 | Rejeitado |
4 | Aprovado |
Tipo de Assinatura
nº | Descrição |
---|---|
1 | Assinatura Digital. |
2 | Assinatura Eletrônica. |
3 | Aprovador. |
4 | Visualizador. |
Tipo de Notificação
nº | Descrição |
---|---|
1 | Assinatura realizada. |
2 | Assinatura rejeitada. [ Não implementado ] |
3 | Solicitação editada no portal. [ Não implementado ] |
4 | Solicitação excluida via portal. [ Não implementado ] |
5 | Download de arquivo via portal. [ Não implementado ] |