{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","params":[],"results":{"codes":[]},"settings":""},"next":{"description":"","pages":[]},"title":"PHP","type":"basic","slug":"php-sdk","excerpt":"","body":"Esse SDK tem como objetivo automatizar a integração com a Rest API da Dito.\n\nEndereço no Github: [https://github.com/ditointernet/dito-php](https://github.com/ditointernet/dito-php).\n\n## Instalação\n\nPara instalar o SDK, você precisará usar o [Composer](https://getcomposer.org/).\n\nAdicione o SDK para PHP da Dito como dependência do seu projeto no arquivo `composer.json`:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"name\\\": \\\"dito/dito-example\\\",\\n  \\\"authors\\\": [\\n    {\\n      \\\"name\\\": \\\"Marcos Nogueira\\\",\\n      \\\"email\\\": \\\"marcos.nogueira:::at:::dito.com.br\\\"\\n    }\\n  ],\\n  \\\"require\\\": {\\n    \\\"dito/dito-php\\\": \\\"0.0.6\\\"\\n  }\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nExecute:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$ composer install\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\n## Configurando sua aplicação\n\nAdicione o código abaixo em cada ambiente de configuração da sua aplicação. \nA variável `$dito` deverá ficar acessível em toda sua aplicação para que você possa executar os métodos do SDK a qualquer momento.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$dito = new Dito(array(\\n  'apiKey' => '{{SUA_API_KEY}}',\\n  'secret' => '{{SEU_SECRET}}'\\n));\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\nAs chaves da sua aplicação podem ser encontradas na área de configuração do seu aplicativo na plataforma da Dito.\n\n## Enviando seus usuários\n\nO método `$dito->identify` é usado para enviar os usuários da sua aplicação para a plataforma da Dito.\n\nO nó `data` é reservado para as informações do usuários relativas a sua aplicação. Fique a vontade para enviar quantas informações quiser.\n\nAs informações enviadas no nó `data` poderão ser utilizadas posteriormente para filtrar seus usuários. Veja mais informações sobre os [formatos suportados](doc:formato-de-datas) para saber como enviar datas corretamente.\n\nExemplo:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$dito->identify(array(\\n  'id' => sha1('[email protected]'),\\n  'name' => 'Marcos Nogueira',\\n  'email' => '[email protected]',\\n  'birthday' => '1990-02-15',\\n  'created_at' => '2000-06-01T13:30-0300', //Opcional\\n  'data' => array(\\n    'cpf' => '101.032.076-95',\\n    'cargo' => 'Desenvolvedor'\\n  )\\n));\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\n\n## Criando eventos\n\nO método `$dito->track` é usado para trackear o comportamento dos usuários na forma de eventos em sua aplicação.\n\nO nó `data` é reservado para as informações do evento. Fique a vontade para enviar quantas informações quiser.\n\nAs informações enviadas no nó `data` poderão ser utilizadas posteriormente para filtrar seus usuários. Veja mais informações sobre os [formatos suportados](doc:formato-de-datas) para saber como enviar datas corretamente.\n\nATENÇÃO\n\nOs nomes dos eventos **DEVEM** ser enviados para a Dito em letras minúsculas, sem acentuação ou caracteres especiais. Caso o nome de suas ações seja composto por mais de uma palavra, estas devem ser separadas por hífen '-' conforme o exemplo abaixo:\n\nExemplo:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$dito->track(array(\\n  'id' => sha1('[email protected]'),\\n  'event' => array(\\n    'action' => 'nome-do-evento',\\n    'revenue' => 5.99, // Opcional\\n    'created_at' => '2005-06-01T13:30-0300' //Opcional\\n    'data' => array(\\n      'propriedade_1' => 'valor da propriedade 1',\\n      'propriedade_2' => 'valor da propriedade 2'\\n    )\\n  )\\n));\\n\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\n## Associando outras contas ao usuário\n\nO método `$dito.link` é usado para associar contas à um usuário já identificado. Só é possível associar contas que ainda não estão criadas na Dito.\n\nExemplo de associação para um usuário:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$dito->link(array(\\n 'id' => ID_PRINCIPAL_DO_USUARIO,\\n 'accounts' => array(\\n   'portal' => array(\\n     'id' => ID_A_SER_ASSOCIADO\\n   )\\n )\\n));\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\n## Desassociar contas do usuário\n\nO método `$dito.unlink` é usado para remover a associação de uma conta de usuário. Ele é o inverso do método `$dito.link`.\n\nExemplo:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"$dito->unlink(array(\\n 'id' => ID_PRINCIPAL_DO_USUARIO,\\n 'accounts' => array(\\n   'portal' => array(\\n     'id' => ID_A_SER_DESASSOCIADO\\n   )\\n )\\n));\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]","updates":[],"order":4,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"5547c9ea70b82f0d0027c312","user":"5538fa99545cd90d0011e593","project":"5538fb24dc5dd00d00e1da91","githubsync":"","__v":3,"category":{"sync":{"isSync":false,"url":""},"pages":["5538ff4227f8540d0024f00f","554264348aeff51700a20e44","5547c963d3427d0d00cd6e28","5547c9ea70b82f0d0027c312","5547c9fc70b82f0d0027c314","5547ca09d3427d0d00cd6e2a","555cbc2a15a89b0d00c1af58","5566fa95f579050d00c3d63e"],"title":"SDKs","slug":"sdks","order":1,"from_sync":false,"reference":false,"_id":"5538feec27f8540d0024f00e","createdAt":"2015-04-23T14:17:16.792Z","project":"5538fb24dc5dd00d00e1da91","__v":8,"version":"5538fb25dc5dd00d00e1da94"},"createdAt":"2015-05-04T19:35:06.029Z","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}
Esse SDK tem como objetivo automatizar a integração com a Rest API da Dito. Endereço no Github: [https://github.com/ditointernet/dito-php](https://github.com/ditointernet/dito-php). ## Instalação Para instalar o SDK, você precisará usar o [Composer](https://getcomposer.org/). Adicione o SDK para PHP da Dito como dependência do seu projeto no arquivo `composer.json`: [block:code] { "codes": [ { "code": "{\n \"name\": \"dito/dito-example\",\n \"authors\": [\n {\n \"name\": \"Marcos Nogueira\",\n \"email\": \"[email protected]\"\n }\n ],\n \"require\": {\n \"dito/dito-php\": \"0.0.6\"\n }\n}", "language": "json" } ] } [/block] Execute: [block:code] { "codes": [ { "code": "$ composer install", "language": "shell" } ] } [/block] ## Configurando sua aplicação Adicione o código abaixo em cada ambiente de configuração da sua aplicação. A variável `$dito` deverá ficar acessível em toda sua aplicação para que você possa executar os métodos do SDK a qualquer momento. [block:code] { "codes": [ { "code": "$dito = new Dito(array(\n 'apiKey' => '{{SUA_API_KEY}}',\n 'secret' => '{{SEU_SECRET}}'\n));", "language": "php" } ] } [/block] As chaves da sua aplicação podem ser encontradas na área de configuração do seu aplicativo na plataforma da Dito. ## Enviando seus usuários O método `$dito->identify` é usado para enviar os usuários da sua aplicação para a plataforma da Dito. O nó `data` é reservado para as informações do usuários relativas a sua aplicação. Fique a vontade para enviar quantas informações quiser. As informações enviadas no nó `data` poderão ser utilizadas posteriormente para filtrar seus usuários. Veja mais informações sobre os [formatos suportados](doc:formato-de-datas) para saber como enviar datas corretamente. Exemplo: [block:code] { "codes": [ { "code": "$dito->identify(array(\n 'id' => sha1('[email protected]'),\n 'name' => 'Marcos Nogueira',\n 'email' => '[email protected]',\n 'birthday' => '1990-02-15',\n 'created_at' => '2000-06-01T13:30-0300', //Opcional\n 'data' => array(\n 'cpf' => '101.032.076-95',\n 'cargo' => 'Desenvolvedor'\n )\n));", "language": "php" } ] } [/block] ## Criando eventos O método `$dito->track` é usado para trackear o comportamento dos usuários na forma de eventos em sua aplicação. O nó `data` é reservado para as informações do evento. Fique a vontade para enviar quantas informações quiser. As informações enviadas no nó `data` poderão ser utilizadas posteriormente para filtrar seus usuários. Veja mais informações sobre os [formatos suportados](doc:formato-de-datas) para saber como enviar datas corretamente. ATENÇÃO Os nomes dos eventos **DEVEM** ser enviados para a Dito em letras minúsculas, sem acentuação ou caracteres especiais. Caso o nome de suas ações seja composto por mais de uma palavra, estas devem ser separadas por hífen '-' conforme o exemplo abaixo: Exemplo: [block:code] { "codes": [ { "code": "$dito->track(array(\n 'id' => sha1('[email protected]'),\n 'event' => array(\n 'action' => 'nome-do-evento',\n 'revenue' => 5.99, // Opcional\n 'created_at' => '2005-06-01T13:30-0300' //Opcional\n 'data' => array(\n 'propriedade_1' => 'valor da propriedade 1',\n 'propriedade_2' => 'valor da propriedade 2'\n )\n )\n));\n", "language": "php" } ] } [/block] ## Associando outras contas ao usuário O método `$dito.link` é usado para associar contas à um usuário já identificado. Só é possível associar contas que ainda não estão criadas na Dito. Exemplo de associação para um usuário: [block:code] { "codes": [ { "code": "$dito->link(array(\n 'id' => ID_PRINCIPAL_DO_USUARIO,\n 'accounts' => array(\n 'portal' => array(\n 'id' => ID_A_SER_ASSOCIADO\n )\n )\n));", "language": "php" } ] } [/block] ## Desassociar contas do usuário O método `$dito.unlink` é usado para remover a associação de uma conta de usuário. Ele é o inverso do método `$dito.link`. Exemplo: [block:code] { "codes": [ { "code": "$dito->unlink(array(\n 'id' => ID_PRINCIPAL_DO_USUARIO,\n 'accounts' => array(\n 'portal' => array(\n 'id' => ID_A_SER_DESASSOCIADO\n )\n )\n));", "language": "php" } ] } [/block]