Parâmetros obrigatórios
Os seguintes parâmetros são obrigatórios em todas as requisições:
- network_name: Abreviação do nome da rede social do usuário corrente.
- Facebook: fb
- Portal: pt
- platform_api_key: API_KEY do aplicativo
- signature: Assinatura gerada via RSA.
Autenticação
Todas as requisições feitas para a Rest API da Dito devem ser autenticadas por questões de segurança.
Assinando requisições em RSA
Para criar a assinatura é necessário o uso da chave pública da Dito. Faça o download da chave aqui.
Para que as requisições sejam assinadas, os seguintes parâmetros devem ser adicionados à requisição:
- signature: Chave criptografada via RSA
- platform_api_key: API key do aplicativo
Exemplo em Ruby
require 'openssl'
require 'httparty'
def signup
# Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura
signature = OpenSSL::PKey::RSA.new(File.read("PATH_DA_CHAVE_PUBLICA_DA_PLATAFORMA")).public_encrypt('SECRET_KEY')
# Requisição de exemplo
params = {
signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
body = { network_name: 'fb', platform_api_key: 'API_KEY', signature: signature }.merge(params)
HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)
end
response = signup()
Assinando requisições em SHA1
Para que as requisições sejam assinadas, os seguintes parâmetros devem ser adicionados à requisição:
- sha1_signature: Chave criptografada via SHA1
- platform_api_key: API key do aplicativo
Exemplo em Ruby
require 'digest/sha1'
require 'httparty'
def signup
# Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura
signature = Digest::SHA1.hexdigest('SECRET_KEY')
# Requisição de exemplo
params = {
signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
body = { network_name: 'fb', platform_api_key: 'API_KEY', signature: signature }.merge(params)
HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)
end
response = signup()
Acesso sem referência
Nas requisições que utilizamos a referência do usuário como parâmetro, temos também a alternativa de utilizar o ID social do usuário ou o ID do portal. Normalmente isso acontece quando o site ou aplicativo não salva a referência em sua base de dados.
Para utilizar a plataforma sem usar a referência do usuário na plataforma deve-se passar os seguintes parâmetros:
- id_type
- reference
id_type
Rede que o usuário está conectado
Exemplos:
facebook_id
quando o usuário estiver logado via Facebookid
ouportal_id
o usuário estiver logado via Portal (quando o usuário faz um login normal no site ou aplicativo sem a necessidade de conectar com nenhuma rede social)
reference
É a referência que a plataforma da Dito cria para o usuário. Serve como o identificador do usuário dentro da Plataforma Dito.
Quando seu aplicativo ou site não salva essa informação no banco de dados, conseguimos através de um identificador identificar esse usuário dentro da plataforma. Esse identificador normalmente é o ID do usuário em uma rede social (facebook) ou o ID do usuário na sua base.
Protocolos suportados
- HTTP
- HTTPS