Autenticação e Credenciais
Arquitetura e Autenticação
Para entender como funciona a autenticação da API DCP, você precisa de uma visão geral da arquitetura da API DCP, mostrada abaixo.

Quando você chama uma API DCP, o ponto de entrada é o DCP Adapter, a única API DCP pública.
Quando chamado, o DCP Adapter primeiro valida suas credenciais de Autenticação da Aplicação. Veja a seção abaixo para mais informações.
Se suas credenciais forem válidas, sua solicitação é encaminhada para a API de processo DCP apropriada, que então chama os sistemas backend BRP.
No entanto, para que sua solicitação tenha sucesso, você deve estar autorizado a usar a API DCP; caso contrário, você receberá um status 401 Unauthorized.
❗ ❗ Ao começar a trabalhar em uma API DCP, precisamos solicitar acesso criando um ticket de certificação no Jira, conforme descrito na seção Atividades de Certificação com Jira. ❗ ❗
Se você já começou a trabalhar em uma API e perdeu o acesso, crie um ticket de suporte conforme descrito na seção Abrir um Ticket de Suporte.
Tipos de Autenticação
As APIs do DCP utilizam 2 tipos de autenticação:
- A maioria das APIs utiliza autenticação de aplicação.
- Algumas APIs específicas utilizam autenticação de revendedor.
Na seção Catálogo de API é informado o tipo de autenticação utilizado por cada API.
Autenticação de Aplicação
A autenticação de aplicação é uma autenticação baseada em token oAuth 2.0. Um conjunto de credenciais é criado para cada DSP em cada ambiente.
Observe que, se você tiver tanto um DMS quanto um CRM e integrar os 2 tipos de APIs DCP, quatro conjuntos de credenciais serão criados para você:
- DMS em teste
- DMS em produção
- CRM em teste
- CRM em produção
As credenciais do DMS e do CRM não são intercambiáveis!
❗ ❗ Ao iniciar o trabalho em uma API DCP, precisamos solicitar acesso criando um ticket de certificação no Jira, conforme descrito na seção Atividades de Certificação com Jira. ❗ ❗
Se você já iniciou o trabalho em uma API e perdeu o acesso, crie um ticket de suporte conforme descrito na seção Abrir um Ticket de Suporte.
As credenciais normalmente nunca expiram ou são revogadas (a menos que você deixe o DCP).
No entanto, as credenciais podem mudar, então sua implementação deve permitir alterar e usar facilmente novas credenciais.
Obter Token de Acesso
Você obtém o token oAuth 2.0 de Autenticação de Aplicação chamando a API de Autenticação de Aplicativos.
O token oAuth 2.0 recebido é usado como um token bearer para autenticar o DSP ao chamar as APIs do DCP.
O token oAuth 2.0 expirará após 30 minutos a partir do momento em que for concedido.
Uma vez expirado, um código de status 401 é retornado ao chamar uma API do DCP.
Você deve implementar um processo automatizado para gerar um novo token a cada 25 minutos.

Autenticação do Concessionário
A Autenticação do Concessionário é mais complexa e é usada quando o DSP e o concessionário precisam ser identificados.
O primeiro passo é o concessionário fazer login usando sua conta BOSSweb, que é o portal de concessionários BRP implementado usando Salesforce. Um código de autorização é retornado ao DSP.
A segunda etapa é salvar o token de atualização recebido.
A terceira etapa é obter um token de acesso oAuth 2.0 usando o código de autorização recebido.
Login no DSP BOSSWeb
Para testar seu mecanismo de Autenticação de Concessionária e as APIs do DCP usando Autenticação de Concessionária, uma conta BOSSWeb com um número de concessionária específico é criada para você no ambiente de teste.
As informações sobre esta conta BOSSWeb de teste são enviadas a você pela Equipe DCP.
Nenhuma conta BOSSWeb será criada para você em produção!
Configuração
Antes de chamar o serviço de Autenticação de Concessionária, as credenciais devem ser criadas e as URLs de redirecionamento configuradas para o DSP no Salesforce. A equipe DCP cria um conjunto de credenciais para cada ambiente, e o DSP usa essas credenciais para chamar o serviço Dealer Account Management.
O DSP deve fornecer uma URL de redirecionamento para cada ambiente.
O Salesforce usa a URL de redirecionamento para retornar o código de autorização quando o concessionário faz login.
❗ ❗ A URL usada na chamada da API de Autenticação do Revendedor deve corresponder EXATAMENTE à que você forneceu para a configuração ❗ ❗
Se a URL que você forneceu para o ambiente de produção é https://site, você deve usar a mesma URL no parâmetro redirect na chamada para a API de Autenticação do Revendedor.
Se você usar https://site/ ou https://Site no parâmetro redirect você receberá um erro:
Obter Código de Autorização
O DSP inicia o processo de autenticação e recupera um código de autorização chamando o serviço de Gerenciamento de Conta do Concessionário.
O código de autorização é retornado por meio da URL de redirecionamento, e o DSP o utiliza para obter um token de acesso.
O código de autorização expirará em 5 minutos.
Após expirar, um código de status 401 é retornado ao chamar uma API DCP.
Obter Token de Acesso
O token de autorização é usado para chamar o serviço de Gerenciamento de Conta do Revendedor para obter tokens de acesso e de atualização.
O token de acesso oAuth 2.0 recebido é usado como um token bearer para autenticar o DSP ao chamar as APIs do DCP.
O token de acesso oAuth 2.0 expira 2 horas após ser concedido.
Após expirar, um código de status 401 é retornado ao chamar uma API do DCP.
Você deve implementar um processo automatizado para gerar um novo token a cada 90 minutos usando o token de atualização.
Token de Atualização
Quando você receber o token de atualização, salve-o no perfil do revendedor e reutilize-o para obter o token de acesso.
Após o token de acesso expirar, o DSP pode usar o token de atualização e chamar o serviço de Gerenciamento de Conta do Revendedor para obter um novo token de acesso.
O token oAuth 2.0 recebido é usado como um token bearer para autenticar o DSP ao chamar as APIs do DCP.
O token de atualização permanece válido até ser revogado e deve ser reutilizado para cada chamada de atualização.
Você precisa salvar o token de atualização localmente; ele não será retornado durante cada chamada de atualização.
O token de acesso deve ser renovado antes de expirar.
Mesmo que o token de acesso tenha expirado, o refresh token continua válido!

O token de acesso é específico do dealer!
Um aspecto importante da Autenticação do Dealer é que o token de acesso é específico ao número do dealer usado para obter o código de autorização.
Se você obtiver um código de autorização para o dealer 0000694650 e chamar uma API DCP para realizar uma operação para o dealer 0000691730, você receberá um status 403 Forbidden.