{"metadata":{"image":[],"title":"","description":""},"api":{"url":"/:id/signup","auth":"required","examples":{"codes":[{"language":"text","code":""}]},"params":[{"name":"signature","type":"string","default":"","desc":"Assinatura (Gerado na API)","required":true,"in":"body","ref":"","_id":"55a9785e02becf2d007aad5a"},{"name":"platform_api_key","type":"string","default":"","desc":"API KEY","required":true,"in":"body","ref":"","_id":"55a9785e02becf2d007aad58"},{"name":"encoding","type":"string","default":"base64","desc":"Codificação utilizada","required":true,"in":"body","ref":"","_id":"55a978c85d3abb0d0012f2af"},{"name":"id","type":"string","default":"00000000000","desc":"CPF do usuário","required":true,"in":"path","ref":"","_id":"55a9746c4c661b3700cf4e9e"},{"name":"network_name","type":"string","default":"pt","desc":"Rede utilizada (pt: portal)","required":true,"in":"body","ref":"","_id":"55a9785e02becf2d007aad59"},{"name":"user_data[name]","type":"string","default":"Usuário Orbium","desc":"Nome do usuário","required":true,"in":"body","ref":"","_id":"55a9785e02becf2d007aad57"},{"name":"user_data[email]","type":"string","default":"usuario:::at:::orbium","desc":"E-mail do usuário","required":false,"in":"body","ref":"","_id":"55a97a3a4c661b3700cf4f05"},{"name":"user_data[data]","type":"string","default":"{\"id_orbium\":\"123\"}","desc":"Dados extras","required":false,"in":"body","ref":"","_id":"55a97dc102becf2d007aad7b"}],"results":{"codes":[{"name":"","status":200,"language":"json","code":""},{"language":"text","code":""}]},"settings":"55a93ced02becf2d007aac49"},"next":{"description":"","pages":[]},"title":"Rest API","type":"basic","slug":"rest-api","excerpt":"","body":"## Parâmetros obrigatórios\n\nOs seguintes parâmetros são obrigatórios em todas as requisições:\n\n* **network_name:**  deve ser enviado uma string com o valor \"pt\".\n* **platform_api_key:** API_KEY do aplicativo.\n* **signature:** Assinatura gerada via RSA.\n\n## Autenticação\n\nTodas as requisições feitas para a Rest API da Dito devem ser autenticadas por questões de segurança.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Assinando requisições em RSA\"\n}\n[/block]\nPara criar a assinatura é necessário o uso da chave pública da Dito. [Faça o download da chave aqui](https://storage.googleapis.com/public-key/new_public.pem).\n\nPara que as requisições sejam assinadas, os seguintes parâmetros devem ser adicionados à requisição:\n\n* signature: Chave criptografada via RSA\n* platform_api_key: API key do aplicativo\n\n## Exemplo em Ruby\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"require 'openssl'\\nrequire 'httparty'\\n\\ndef signup\\n  # Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura\\n  signature = OpenSSL::PKey::RSA.new(File.read(\\\"PATH_DA_CHAVE_PUBLICA_DA_PLATAFORMA\\\")).public_encrypt('SECRET_KEY')\\n\\n\\n  # Requisição de exemplo\\n\\n  params = {\\n    signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\\n    access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\\n  }\\n\\n  body = { network_name: 'pt', platform_api_key: 'API_KEY', signature: signature }.merge(params)\\n\\n  HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)\\nend\\n\\nresponse = signup()\",\n      \"language\": \"ruby\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Assinando requisições em SHA1\"\n}\n[/block]\nPara que as requisições sejam assinadas, os seguintes parâmetros devem ser adicionados à requisição:\n\n* sha1_signature: Chave criptografada via SHA1\n* platform_api_key: API key do aplicativo\n\n## Exemplo em Ruby\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"require 'digest/sha1'\\nrequire 'httparty'\\n\\ndef signup\\n  # Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura\\n  signature = Digest::SHA1.hexdigest('SECRET_KEY')\\n\\n\\n  # Requisição de exemplo\\n\\n  params = {\\n    signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\\n    access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\\n  }\\n\\n  body = { network_name: 'pt', platform_api_key: 'API_KEY', signature: signature }.merge(params)\\n\\n  HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)\\nend\\n\\nresponse = signup()\",\n      \"language\": \"ruby\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Acesso sem referência\"\n}\n[/block]\nNas 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.\n\nPara utilizar a plataforma sem usar a referência do usuário na plataforma deve-se passar os seguintes parâmetros:\n\n* id_type\n* reference\n\n## id_type\n\nNeste campo deve ser enviado uma string com o valor \"id\".\n\n## reference\n\nÉ a referência que a plataforma da Dito cria para o usuário. Serve como o identificador do usuário dentro da Plataforma Dito.\n\nQuando 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.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Protocolos suportados\"\n}\n[/block]\n* HTTP\n* HTTPS","updates":[],"order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"554a57af58f5650d00ae43d6","user":"5538fa99545cd90d0011e593","githubsync":"","editedParams2":true,"editedParams":true,"project":"5538fb24dc5dd00d00e1da91","createdAt":"2015-05-06T18:04:31.250Z","__v":24,"category":{"sync":{"isSync":false,"url":""},"pages":["554a57af58f5650d00ae43d6","55a98a0602becf2d007aad8f","55a98bf45d3abb0d0012f2e7","55afbd9ad7624e3700e4f9f5","55afbdd2b3171b3700b1501e","55b29ab31550ae0d003d98a8","55b29b0d1550ae0d003d98aa","55b29bb91550ae0d003d98ad","55b29bdea74a380d00e29046","55b2a7efa74a380d00e29065","55b2a91ca74a380d00e29069"],"title":"APIs","slug":"apis","order":3,"from_sync":false,"reference":false,"_id":"554a574f0b54d30d007fe0f9","__v":11,"createdAt":"2015-05-06T18:02:55.085Z","project":"5538fb24dc5dd00d00e1da91","version":"5538fb25dc5dd00d00e1da94"},"version":{"version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5538fb25dc5dd00d00e1da95","5538feec27f8540d0024f00e","5547cbd3d3427d0d00cd6e2d","554a574f0b54d30d007fe0f9","55afbdbef202b12100cd9eeb","5c016f198e69b802d4385e25","5c81470b175ad6002457d9fa","5c81472e74fd5a0063420bae","5c81476b2dd69100430ea5a4"],"_id":"5538fb25dc5dd00d00e1da94","createdAt":"2015-04-23T14:01:09.040Z","project":"5538fb24dc5dd00d00e1da91","__v":9,"releaseDate":"2015-04-23T14:01:09.040Z"},"parentDoc":null}
## 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. [block:api-header] { "type": "basic", "title": "Assinando requisições em RSA" } [/block] Para criar a assinatura é necessário o uso da chave pública da Dito. [Faça o download da chave aqui](https://storage.googleapis.com/public-key/new_public.pem). 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 [block:code] { "codes": [ { "code": "require 'openssl'\nrequire 'httparty'\n\ndef signup\n # Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura\n signature = OpenSSL::PKey::RSA.new(File.read(\"PATH_DA_CHAVE_PUBLICA_DA_PLATAFORMA\")).public_encrypt('SECRET_KEY')\n\n\n # Requisição de exemplo\n\n params = {\n signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\n access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n }\n\n body = { network_name: 'pt', platform_api_key: 'API_KEY', signature: signature }.merge(params)\n\n HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)\nend\n\nresponse = signup()", "language": "ruby" } ] } [/block] [block:api-header] { "type": "basic", "title": "Assinando requisições em SHA1" } [/block] 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 [block:code] { "codes": [ { "code": "require 'digest/sha1'\nrequire 'httparty'\n\ndef signup\n # Criptografando o SECRET do aplicativo com a chave pública da plataforma para gerar a assinatura\n signature = Digest::SHA1.hexdigest('SECRET_KEY')\n\n\n # Requisição de exemplo\n\n params = {\n signed_request: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\n access_token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n }\n\n body = { network_name: 'pt', platform_api_key: 'API_KEY', signature: signature }.merge(params)\n\n HTTParty.post('https://login.plataformasocial.com.br/users/facebook/ID_DO_FACEBOOK/signup', body: body)\nend\n\nresponse = signup()", "language": "ruby" } ] } [/block] [block:api-header] { "type": "basic", "title": "Acesso sem referência" } [/block] 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. [block:api-header] { "type": "basic", "title": "Protocolos suportados" } [/block] * HTTP * HTTPS