Parâmetros obrigatórios

Os seguintes parâmetros são obrigatórios em todas as requisições:

  • network_name: deve ser enviado uma string com o valor "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: 'pt', 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: 'pt', 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

Neste campo deve ser enviado uma string com o valor "id".

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 na sua base.

Protocolos suportados

  • HTTP
  • HTTPS