--- title: "API de integração para o Hi Social" slug: "api-de-integracao-para-o-hi-socialmonitoramentos-ocorrencias-publicacoes-chamados-relatorios-engajamento-outros" updated: 2023-07-12T13:53:35Z published: 2023-07-12T13:53:35Z canonical: "help.hiplatform.com/api-de-integracao-para-o-hi-socialmonitoramentos-ocorrencias-publicacoes-chamados-relatorios-engajamento-outros" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.hiplatform.com/llms.txt > Use this file to discover all available pages before exploring further. # API de integração para o Hi Social ## Chaves de Acesso Para utilizar a API da Hi Platform, você precisa gerar suas chaves de acesso. As chaves consistem da API Key, que será passada a Hi Platform em todo request, e o API Secret, que deve permanecer privado no seu sistema e nunca passado pra API da Hi Platform. Mais informações na seção sobre autenticação. As chaves poderão ser geradas acessando a URL*: [](https://plataforma2.seekr.com.br/api_doc/keys?customer_id=)[https://plataforma{{plataforma}}.seekr.com.br/api_doc/keys?customer_id={{id}}](https://plataforma{{plataforma}}.seekr.com.br/api_doc/keys?customer_id={{id}}) Onde {{plataforma}}, deve ser substituída pelo número correspondente a plataforma utilizada em seus projetos do Hi Social, e {{id}} deve ser substituído pelo ID da sua conta, encontrado em sua página inicial do Hi Social, por exemplo: ![](https://cdn.document360.io/fbdc20e9-fffd-4203-8df2-642bdec311ea/Images/Documentation/image-1689169578628.png) *É necessário estar logado no Hi Social com uma conta de nível gerente para que possa visualizar as chaves! Abaixo um exemplo de como suas chaves se parecem: ``` API Key: "67afd53b" API Secret: "8936ba110976ab6f0" ``` ## Autenticação Toda requisição deve ser feita via GET. Qualquer outro tipo de requisição será rejeitado. As requisições devem ser estruturadas da seguinte maneira. Os formatos disponíveis são XML e JSON: ```shell https://plataforma1.seekr.com.br/api/v3/[nome_do_metodo].[formato]?[parametros] ``` Para o processo de autenticação, você precisa mandar 3 parâmetros em todo request feito à API: **key**, **ts** e **hash**. **key** é a sua API key, **ts** é o unix timestamp do horário atual e **hash** é a concatenação do seu API secret com o timestamp, digested pelo SHA1. Exemplo de parâmetros gerados em Rails ``` key = API_KEY ts = Time.zone.now.to_i hash = Digest::SHA1.hexdigest("#{API_SECRET}#{ts}") ``` Por favor observe que o timestamp **sempre** precisa ser o horário atual em que a request está sendo feita, ou seja, o parâmetro hash sempre será somente válido por uma pequena janela de tempo. # Monitoramentos ## searches ``` GET /api/searches.json GET /api/searches.xml ``` Esse método lista todos os monitoramentos do cliente, assim como um resumo das informações do mesmo. Parâmetro opcional: **search_results:** “false” para não retornar a quantidade de ocorrências. A contagem de ocorrências é um processo pesado e com esse parâmetro pode ser ignorado. Valor padrão: “true”. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "searches": [ { "id": 1, "name": "Monitoramento", "start_date": "01/01/2015", "end_date": "31/12/2020", "search_results": 1109, "tags": 7, "active": true, "sentiment_analysis": false, "search_terms": 5 } ] } ``` Retorno em XML: ``` 200 OK 200 21 Teste Bi 01/01/2015 31/12/2020 9887 0 true false 5 ``` ## search ``` GET /api/search.json GET /api/search.xml ``` Lista as informações do monitoramento especificado. Parâmetros obrigatórios: **search_id:** ID do monitoramento Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "search": { "id": 1, "name": "Monitoramento", "start_date": "01/01/2015", "end_date": "31/12/2020", "search_results": 1109, "tags": 4, "active": true, "sentiment_analysis": false "search_terms": [ { "term": "\"Termo de busca\"", "id": 1 }, { "term": "Hi Platform", "id": 2 } ], } } ``` Retorno em XML: ``` 200 OK 200 1 Monitoramento 01/01/2015 31/12/2020 1109 4 true false "Termo de busca" 1 Hi Platform 2 ``` ## ## tags ``` GET /api/tags.json GET /api/tags.xml ``` Lista as informações das tags do monitoramento especificado. Parâmetros obrigatórios: **search_id:** ID do monitoramento Parâmetros opcionais (filtros): **group_id:** ID do grupo de tags. **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "tags": [ { "id": 1, "name": "tag", "color": "FFEEFF", "search_results": 11 }, { "id": 2, "name": "produto", "color": null, "search_results": 9 } ] } ``` Retorno em XML: ``` 200 OK 200 1 Tag Pai 1A2B3C 0 true 2019-01-01 12:00:00 -0300 123 45 2 Tag Filha 1A2B3C 1 1 false 2019-01-01 12:00:00 -0300 987 65 ``` ## tag groups ``` GET /api/v1/tags/groups.json GET /api/v1/tags/groups.xml ``` Lista as informações dos grupos de tags do projeto especificado. Parâmetros obrigatórios: **project_id:** ID do projeto Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "tag_groups": [ { "id": 1, "name": "tag group 1", "color": "fc0000", "created_at": "2019-01-01 12:00:00 -0300" }, { "id": 2, "name": "tag group 2", "color": null, "created_at": "2019-01-01 12:00:00 -0300" } ] } ``` Retorno em XML: ``` 200 OK 200 1 tag group 1 fc0000 2019-01-01 12:00:00 -0300 2 tag group 2 2019-01-01 12:00:00 -0300 ``` # Ocorrências ## search_results GET /api/v1/search_results.json GET /api/v1/search_results.xml Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. **key_word:** Palavra chave a ser buscada nas ocorrências. **polarization:** Polarização da ocorrência. -2 para não polarizada, -1 para negativa, 0 para neutra e 1 para positiva. **username:** Filtro por nome de usuário **range_from:** Alcance de **range_to:** Alcance até **hour_from:** Hora de. 0 – 23. **hour_to:** Hora até. 0 – 23. **date_from:** Data de. Formato YYYY-MM-DD. **date_to:** Data até. Formato YYYY-MM-DD **favorite:** “true” para só buscar ocorrências favoritadas. **search_term[]:** Filtro por termo de busca. Pode ser usado várias vezes. Exemplo: *search_term[]=hi+platform&search_term[]=termo+busca* **search_setting[]:** Filtro por mídia social. Pode ser usado várias vezes. Exemplo: *search_setting[]=1&search_setting[]=2* **tag[]:** Filtro de tags por ID. Pode ser usado várias vezes. Exemplo: *tag[]=1&tag[]=2* **tag_group[]:** Filtro de grupo de tags por ID. Pode ser usado várias vezes. Exemplo: *tag_group[]=1&tag_group[]=2* **ticket_protocol:** Protocolo do chamado que as ocorrências fazem parte Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "total": 166, "search_results": [ { "id": 33221, "ticket_id": 123, "search_id": 1, "polarization": -2, "reach": 1, "tag_ids": [1,2], "published_on": "2019-04-04 16:16:16 -0300", "published_on_date": "2019-04-04", "published_on_hour": 16, "published_on_wday": 4, "created_at": "2019-04-04 16:16:18 -0300", "found_at": "2019-04-04 16:16:17 -0300", "received_at": "2019-04-04 16:16:18 -0300", "source": "T", "auto_polarized": false, "rules": [1], "text": "Muito obrigado!", "search_term": null, "search_term_id": null, "search_setting_id": 52, "account_id": 74, "favorite": false, "url": "https://www.hiplatform.com/", "media_id": "123", "media_parent_id": "456", "attached_image_url": null, "attached_image_thumb_url": null, "content_type": null, "sent_to": null, "interaction_type": "o", "bot_message": false, "locale": { "latitude": 1.23456, "longitude": -2.34567, "country": "Brazil", "country_short": "BR", "state": "São Paulo", "state_short": "SP", "city": "São Paulo", "country_id": 1, "state_id": 2, "city_id": 3 }, "social_media": { "key": "email", "crm_key": "email", "user_name": "consumidor", "user_id": null, "user_image": null, "custom_name": null, "editable": false, "removable": true, "hidable": false, "hidden": false }, "crm_user": { "id": 1109, "gender": "M", "unknown": false, "email": "consumidor@hiplatform.com" }, "interactions": { "fb_likes": null, "fb_comments": null, "fb_shares": null, "fb_reaction_like": null, "fb_reaction_love": null, "fb_reaction_haha": null, "fb_reaction_wow": null, "fb_reaction_sad": null, "fb_reaction_angry": null, "fb_liked": false, "tw_likes": null, "tw_retweets": null, "tw_liked": false, "tw_retweeted": false, "ig_likes": null, "ig_comments": null, "yt_views": null, "yt_likes": null, "yt_dislikes": null, "yt_comments": null, "gp_likes": null, "gp_comments": null, "gp_shares": null }, "email": { "to": "consumidor@hiplatform.com", "to_name": "Consumidor", "from": "falecom@hiplatform.com", "from_name": "Hi Platform", "response_option": "reply", "cc": null, "bcc": null } } ] } ``` Retorno em XML: ``` 200 OK 200 166 33221 123 1 -2 1 2019-04-04T16:16:16-03:00 2019-04-04 16 4 2019-04-04T16:16:18-03:00 2019-04-04T16:16:17-03:00 2019-04-04T16:16:18-03:00 T false Muito obrigado! 52 74 false https://www.hiplatform.com/ o false 1.23456 -2.34567 Brazil BR São Paulo SP São Paulo 1 2 3 email email consumidor false true false false 1109 M false consumidor@hiplatform.com false false false consumidor@hiplatform.com Consumidor falecom@hiplatform.com Hi Platform reply ``` ## polarize ``` POST /api/v1/search_results/ID/polarize.json POST /api/v1/search_results/ID/polarize.json ``` Polariza a ocorrência especificada. ID deve ser subtituído pelo ID numérico da ocorrência. Parâmetros obrigatórios: **project_id:** ID do projeto. **polarization:** Polarização desejada. -1 para negativo, 0 para neutro, 1 para positivo e -2 para desavaliar. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "search_result": { ... } } ``` Retorno em XML: ``` 200 OK 200 ... ``` ## add_tags ``` POST /api/v1/search_results/ID/add_tags.json POST /api/v1/search_results/ID/add_tags.xml ``` Adiciona tags à ocorrência especificada. ID deve ser substituído pelo ID numérico da ocorrência. Parâmetros obrigatórios: **project_id:** ID do monitoramento. **tags:** Nome das tags separadas por vírgula. Exemplo: *tags=um,dois,três* Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "search_result": { ... } } ``` Retorno em XML: ``` 200 OK 200 ... ``` ## remove_tags POST /api/v1/search_results/ID/remove_tags.json POST /api/v1/search_results/ID/remove_tags.xml Remove tags da ocorrência especificada. ID deve ser subtituído pelo ID numérico da ocorrência. Parâmetros obrigatórios: **project_id:** ID do projeto. **result_id:** ID da ocorrência. **tags:** Nome das tags separadas por vírgula. Exemplo: *tags=um,dois,três* Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "search_result": { ... } } ``` Retorno em XML: ``` 200 OK 200 ... ``` ## CRM ## crm_users GET /api/v1/crm_users.json GET /api/v1/crm_users.xml Retorna usuários CRM do seu projeto. Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. **created_from:** Data de. Formato YYYY-MM-DD. **created_to:** Data até. Formato YYYY-MM-DD **gender:** Gênero do usuário. M para masculino, F para feminino, I para imprensa e E para empresa. **nogender:** true para retornar somente usuários sem gênero definido **tags[]:** Filtro de tags por ID. Pode ser usado várias vezes. Exemplo: *tags[]=1&tags[]=2* **names[]:** Filtro de nomes. Pode ser usado várias vezes. Exemplo: *names[]=marcelo&names[]=william* Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "users": [ { "id": 12, "created_at": "2017-01-02T15:16:00.000-03:00", "name": "Nany Malagueta", "gender": "F", "country": "Brazil", "state": "Rio de Janeiro", "city": "Rio de Janeiro", "email": null, "phone": null, "user_image_url": "https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png", "social_medias": [ { "media": "twitter", "user_id": null, "profile_url": "https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png" } ], "notes": [ ] } ], "total": 1 } ``` ## crm_user GET /api/v1/crm_users/ID.json GET /api/v1/crm_users/ID.xml Parâmetros obrigatórios: **project_id:** ID do projeto **crm_user_id:** ID do usuário CRM a ser buscado. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "crm_user": { "id": 12, "name": "Nany Malagueta", "gender": "F", "country": "Brazil", "state": "Rio de Janeiro", "city": "Rio de Janeiro", "email": null, "phone": null, "user_image_url": "https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png", "social_medias": [ { "media": "twitter", "user_id": null, "profile_url": "https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png" } ], "notes": [ ] } } ``` Retorno em XML: ``` 200 OK 200 12 Nany Malagueta F Brazil Rio de Janeiro Rio de Janeiro https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png twitter https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png ``` # Publicações ## publications ``` GET /api/v1/publications.json GET /api/v1/publications.json ``` Retorna informações das publicações de contas conectadas com o Hi Platform. Caso a conta não possua engajamento ativo, esse endpoint retorna somente publicações feitas pela plataforma Hi Platform. Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 50. **account:** Retorna somente publicações de uma conta específica. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "publications": [ { "id":6579, "status":"P", "media_id":"768771883642814464", "media_parent_id":null, "media_url":"https://www.facebook.com/1763753147195780/posts/2065813703656388", "account": { "id":16, "type":"AccountFacebookPage", "name":"BlogPortobello", "username":null, "custom_name":"Facebook - BlogPortobello", "image":"https://pbs.twimg.com/profile_images/8912364981364/rIbCxM6m_normal.jpg", "sync_active":true, "active":true, "bot_enabled":false, "sac_enabled":true, "authorized":"true", "removing":false, "group":"Twitter" }, "publication": { "id":6579, "title":null, "message":"Venha publicar e usar a API da Hi Platform :)", "publish_at":"2016-08-23T08:27:54.000-03:00", "status":"P", "link":"https://www.google.com.br/", "attached_files": [ { "url": "https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/17308649_1538627029504008_6292845250121564160_n.jpg?oh=bb40d9c48b1e0b0353c614e170a172c5&oe=5960977B" } ], "came_from":"facebook", "tags":[], "engagement": { "likes": 264, "dislikes": null, "shares": 21, "comments": 35, "reach": 317896, "clicks": 1679, "views": 0, "reactions": { "like": 260, "love": 3, "wow": 0, "haha": 1, "sad": 0, "angry": 0 }, "stories": 320 }, "annotations": [] } } ] } ``` Retorno em XML: ``` 200 OK 200 10 P 12345 20 AccountTwitter Hi Platform Twitter - Hi Platform https://pbs.twimg.com/profile_images/8912364981364/rIbCxM6m_normal.jpg true true true false true false Twitter 30 <message>Venha publicar e usar a API da Hi Platform :)</message> <publish-at type="dateTime">2016-08-23T08:27:54-03:00</publish-at> <status>P</status> <link>http://www.twitter.com/Hi-Platform/statuses/1234567890</link> <attached-files type="array"> <attached-file> <url>https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/17308649_1538627029504008_6292845250121564160_n.jpg?oh=bb40d9c48b1e0b0353c614e170a172c5&oe=5960977B</url> </attached-file> </attached-files> <came-from>twitter</came-from> <tags type="array"/> <engagement> <likes type="integer">40</likes> <dislikes nil="true"/> <shares type="integer">50</shares> <comments type="integer">60</comments> <reach type="integer">0</reach> <clicks type="integer">0</clicks> <views type="integer">0</views> <reactions> <like type="integer">73</like> <love type="integer">8</love> <wow type="integer">4</wow> <haha type="integer">12</haha> <sad type="integer">3</sad> <angry type="integer">1</angry> </reactions> <stories type="integer">0</stories> </engagement> <annotations type="array"/> </publication> </publication> </publications> </hiplatform> ``` ## publication_comments ``` GET /api/v1/publications/ID/comments.json GET /api/v1/publications/ID/comments.xml ``` Retorna os comentários de uma publicação do Facebook. Parâmetros obrigatórios: **project_id:** ID do projeto Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "comments": [ { "message": "Oi Hi Platform, estou com uma dúvida.", "created_time": "2016-08-23T21:08:02+0000", "from": { "name": "João Silva", "id": "901943589689" }, "like_count": 0, "id": "16729133696372_16738434262705", "replies": [ { "created_time": "2017-03-15T17:04:18+0000", "from": { "name": "Hi Platform", "id": "135253666538794" }, "message": "Olá João Silva, em que posso ajudar?", "id": "1538625976170789_1542175392482509" } ] } ] }} ``` Retorno em XML ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <comments type="array"> <comment> <message>Oi Hi Platform, estou com uma dúvida.!</message> <created-time>2016-08-23T21:08:02+0000</created-time> <from> <name>João Silva</name> <id>901943589689</id> </from> <like-count type="integer">0</like-count> <id>16729133696372_16738434262705</id> <replies type="array"> <reply> <created-time>2016-08-23T21:12:02+0000</created-time> <from> <name>Hi Platform</name> <id>901943589689</id> </from> <message>Olá João Silva, em que posso ajudar?!</message> <id>16729133696379_16738434262709</id> </reply> <replies> </comment> </comments> </hiplatform> ``` # Chamados ## tickets ``` GET /api/v1/tickets.json GET /api/v1/tickets.xml ``` Lista os chamados do monitoramento, ordenados pelos mais recentes. Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. **priority:** Filtro por prioridade. 1 para baixa, 2 para média e 3 para alta. **user:** Filtro pelo usuário que gerou o chamado. **tags_ids[]:** Filtro por tag. Pode ser usado várias vezes. Utiliza a lógica OR por padrão. Exemplo: *tag_ids[]=1&tag_ids[]=2* **all_tags:** “true” para habilitar. Esse filtro deve ser combinado com tag_ids para retornar chamados que contenham todas as tags filtradas. Aplica a lógica AND no filtro tag_ids. **without_tags:** “true” para habilitar. Esse filtro deve ser combinado com tag_ids para retornar chamados que não contenham nenhuma das tags filtradas. Aplica a lógica NOT no filtro tag_ids. **no_tags:** “true” para habilitar. Esse filtro retorna somente chamados não tagueados. Outros parâmetros de tags são ignorados caso este filtro seja habilitado. **status[]:** Filtro pelo status do chamado. “A” para aberto, “R” para respondido, “F” para finalizado, “S” para sem status, “unread” para não lidos e “read” para lidos. Pode ser usado várias vezes. Exemplo: *status[]=A&status[]=unread* **account_ids[]:** Filtro por conta. Pode ser usado várias vezes. Exemplo: *account_ids[]=1&account_ids[]=2* **ticket_protocol:** Protocolo do chamado. **gender:** Gênero do usuário. M para Masculino, F para feminino, I para Imprensa e E para empresa. **observation:** “true” para trazer somente chamados com observações. **ticket_polarization:** Polarização do chamado. -2 para não polarizado, -1 para negativo, 0 para neutro e 1 para positivo. **attendant_ids[]:** Filtro por atendentes. Pode ser usado várias vezes. Exemplo: *attendant_ids[]=1&attendant_ids[]=2* **search_setting_id:** Filtro por mídia social. **from_date, to_date:** Data de e até. Formato YYYY-MM-DD **date_filter:** Em qual data o filtro será aplicado; “*postagem*” para horário da primeira interação do chamado, “*captura*” para horário da captura do chamado, “*recente*” para entrada da interação mais recente, “*aberto*” para horário de abertura do chamado, “*respondido*” para horário de resposta do chamado e “*finalizado*” para horário de finalização do chamado. **from_hour, to_hour:** Hora de e até. 0 – 23 **custom_identifier:** Filtro por usuário do CRM. Configurado no ID Interno dos chamados. **keyword:** Palavra chave a ser busca nos chamados. **hidden:** Filtro por estado oculto do chamado, “true” para trazer os chamados ocultos. **content_type[]:** Filtra por tipo de conteúdo na mídia, somente para chamados do Facebook. Pode ser usado várias vezes. Aceita os valores “*feed_post*“, “*feed_comment*“, “*feed_reply*“, “*dark_comment*“, “*dark_reply*“, “*album_comment*“, “*album_reply*“, “*review_post*“, “*review_comment*” e “*review_reply*“. **interactions:** “true” para trazer as interações do chamado. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "tickets": [ { "id": 1, "search_setting_id": 12, "account_id": 30, "hibot_id": null, "status": "F", "polarization": -2, "priority": "1", "protocol": "201904024512", "tag_ids": [ ], "content": "Muito obrigado!", "interactions_text": [ "Muito obrigado!", "Só gostaria de dizer que acho vocês muito legais." ], "created_at": "2019-04-02 17:31:31 -0300", "opened_at": "2019-04-02 17:31:31 -0300", "responded_at": "2019-04-05 21:31:31 -0300", "resolved_at": "2019-04-05 21:31:31 -0300", "first_search_result_type_on_media": "facebook_private_messages", "forked": false, "interactions": 0, "last_seen_at": null, "first_search_result_created_at": "2019-04-02 17:31:24 -0300", "first_search_result_published_at": "2019-04-02 06:12:51 -0300", "first_search_result_published_at_hour": 6, "first_search_result_search_term_id": null, "most_recent_search_result_published_at": "2019-04-02 06:13:51 -0300", "most_recent_search_result_published_at_hour": 6, "most_recent_search_result_created_at": "2019-04-02 17:31:31 -0300", "most_recent_search_result_crm_user_id": 1109, "most_recent_search_result_hide_on_ticket": null, "most_recent_search_result_member_of": null, "parent_publication_published_at": "2019-04-02 06:12:51 -0300", "hidden": null, "unhidden_on": null, "has_note": false, "new_interaction": false, "attendant": null, "workflow_user": null, "crm_user": { "id": 1109, "gender": "M", "unknown": false, "email": null, "image": null, "name": "Consumidor", "username": "Consumidor", "custom_identifier": null, "following": null }, "social_media": { "id": 188, "type": "facebook_messages", "title": "Mensagem Privada", "description": "Mensagem Privada", "crm_key": "facebook" }, "operation_times": { "integral": { "with_sla": { "opened_time": "05:00:00", "anwsered_time": "40:00:00", "resolved_time": "40:00:00" }, "without_sla": { "opened_time": "11:18:40", "anwsered_time": "87:18:40", "resolved_time": "87:18:40" } }, "partial": { "with_sla": { "opened_time": "05:00:00", "anwsered_time": "30:28:28", "resolved_time": "30:28:28" }, "without_sla": { "opened_time": "11:18:40", "anwsered_time": "76:00:00", "resolved_time": "76:00:00" } } }, "locale": { "latitude": 1.23456, "longitude": -2.34567, "country": "Brazil", "country_short": "BR", "state": "São Paulo", "state_short": "SP", "city": "São Paulo", "country_id": 1, "state_id": 2, "city_id": 3 }, ] } } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <interactions type="array"> <interaction> <id type="integer">33221</id> <ticket-id type="integer">123</ticket-id> <search-id type="integer">1</search-id> <polarization type="integer">-2</polarization> <reach type="integer">1</reach> <tag-ids nil="true"/> <published-on type="dateTime">2019-04-04T16:16:16-03:00</published-on> <published-on-date type="date">2019-04-04</published-on-date> <published-on-hour type="integer">16</published-on-hour> <published-on-wday type="integer">4</published-on-wday> <created-at type="dateTime">2019-04-04T16:16:18-03:00</created-at> <found-at type="dateTime">2019-04-04T16:16:17-03:00</found-at> <received-at type="dateTime">2019-04-04T16:16:18-03:00</received-at> <source>T</source> <auto-polarized type="boolean">false</auto-polarized> <rules type="array"/> <text>Muito obrigado!</text> <search-term nil="true"/> <search-term-id nil="true"/> <search-setting-id type="integer">52</search-setting-id> <account-id type="integer">74</account-id> <favorite type="boolean">false</favorite> <url>https://www.hiplatform.com/</url> <media-id nil="true"/> <media-parent-id nil="true"/> <attached-image-url nil="true"/> <attached-image-thumb-url nil="true"/> <content-type nil="true"/> <sent-to nil="true"/> <interaction-type>o</interaction-type> <bot-message type="boolean">false</bot-message> <locale> <latitude>1.23456</latitude> <longitude>-2.34567</longitude> <country>Brazil</country> <country-short>BR</country-short> <state>São Paulo</state> <state-short>SP</state-short> <city>São Paulo</city> <country-id>1</country-id> <state-id>2</state-id> <city-id>3</state-id> </locale> <social-media> <key>email</key> <crm-key>email</crm-key> <user-name>consumidor</user-name> <user-id nil="true"/> <user-image nil="true"/> <custom-name nil="true"/> <editable type="boolean">false</editable> <removable type="boolean">true</removable> <hidable type="boolean">false</hidable> <hidden type="boolean">false</hidden> </social-media> <crm-user> <id type="integer">1109</id> <gender>M</gender> <unknown type="boolean">false</unknown> <email>consumidor@hiplatform.com</email> </crm-user> <interactions> <fb-likes nil="true"/> <fb-comments nil="true"/> <fb-shares nil="true"/> <fb-reaction-like nil="true"/> <fb-reaction-love nil="true"/> <fb-reaction-haha nil="true"/> <fb-reaction-wow nil="true"/> <fb-reaction-sad nil="true"/> <fb-reaction-angry nil="true"/> <fb-liked type="boolean">false</fb-liked> <tw-likes nil="true"/> <tw-retweets nil="true"/> <tw-liked type="boolean">false</tw-liked> <tw-retweeted type="boolean">false</tw-retweeted> <ig-likes nil="true"/> <ig-comments nil="true"/> <yt-views nil="true"/> <yt-likes nil="true"/> <yt-dislikes nil="true"/> <yt-comments nil="true"/> <gp-likes nil="true"/> <gp-comments nil="true"/> <gp-shares nil="true"/> </interactions> <email> <to>consumidor@hiplatform.com</to> <to-name>Consumidor</to-name> <from>falecom@hiplatform.com</from> <from-name>Hi Platform</from-name> <response-option>reply</response-option> <cc nil="true"/> <bcc nil="true"/> </email> </interaction> </interactions> </hiplatform> ``` ## interactions GET /api/v1/tickets/interactions.json GET /api/v1/tickets/interactions.xml Retorna interações de todos os tickets Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. **key_word:** Palavra chave a ser buscada nas interações. **username:** Filtro por nome de usuário **hour_from:** Hora de. 0 – 23. **hour_to:** Hora até. 0 – 23. **date_from:** Data de. Formato YYYY-MM-DD. **date_to:** Data até. Formato YYYY-MM-DD **created_from:** Data de. Formato YYYY-MM-DD. **created_to:** Data até. Formato YYYY-MM-DD **tag[]:** Filtro de tags por ID. Pode ser usado várias vezes. Exemplo: *tag[]=1&tag[]=2* **tag_group[]:** Filtro de grupo de tags por ID. Pode ser usado várias vezes. Exemplo: *tag_group[]=1&tag_group[]=2* Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "interactions": [ { "id": 33221, "ticket_id": 123, "search_id": 1, "polarization": -2, "reach": 1, "tag_ids": [1,2], "published_on": "2019-04-04 16:16:16 -0300", "published_on_date": "2019-04-04", "published_on_hour": 16, "published_on_wday": 4, "created_at": "2019-04-04 16:16:18 -0300", "found_at": "2019-04-04 16:16:17 -0300", "received_at": "2019-04-04 16:16:18 -0300", "source": "T", "auto_polarized": false, "rules": [1], "text": "Muito obrigado!", "search_term": null, "search_term_id": null, "search_setting_id": 52, "account_id": 74, "favorite": false, "url": "https://www.hiplatform.com/", "media_id": "123", "media_parent_id": "456", "attached_image_url": null, "attached_image_thumb_url": null, "content_type": null, "sent_to": null, "interaction_type": "o", "bot_message": false, "locale": { "latitude": 1.23456, "longitude": -2.34567, "country": "Brazil", "country_short": "BR", "state": "São Paulo", "state_short": "SP", "city": "São Paulo", "country_id": 1, "state_id": 2, "city_id": 3 }, "social_media": { "key": "email", "crm_key": "email", "user_name": "consumidor", "user_id": null, "user_image": null, "custom_name": null, "editable": false, "removable": true, "hidable": false, "hidden": false }, "crm_user": { "id": 1109, "gender": "M", "unknown": false, "email": "consumidor@hiplatform.com" }, "interactions": { "fb_likes": null, "fb_comments": null, "fb_shares": null, "fb_reaction_like": null, "fb_reaction_love": null, "fb_reaction_haha": null, "fb_reaction_wow": null, "fb_reaction_sad": null, "fb_reaction_angry": null, "fb_liked": false, "tw_likes": null, "tw_retweets": null, "tw_liked": false, "tw_retweeted": false, "ig_likes": null, "ig_comments": null, "yt_views": null, "yt_likes": null, "yt_dislikes": null, "yt_comments": null, "gp_likes": null, "gp_comments": null, "gp_shares": null }, "email": { "to": "consumidor@hiplatform.com", "to_name": "Consumidor", "from": "falecom@hiplatform.com", "from_name": "Hi Platform", "response_option": "reply", "cc": null, "bcc": null } } ] } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <interactions type="array"> <interaction> <id type="integer">33221</id> <ticket-id type="integer">123</ticket-id> <search-id type="integer">1</search-id> <polarization type="integer">-2</polarization> <reach type="integer">1</reach> <tag-ids nil="true"/> <published-on type="dateTime">2019-04-04T16:16:16-03:00</published-on> <published-on-date type="date">2019-04-04</published-on-date> <published-on-hour type="integer">16</published-on-hour> <published-on-wday type="integer">4</published-on-wday> <created-at type="dateTime">2019-04-04T16:16:18-03:00</created-at> <found-at type="dateTime">2019-04-04T16:16:17-03:00</found-at> <received-at type="dateTime">2019-04-04T16:16:18-03:00</received-at> <source>T</source> <auto-polarized type="boolean">false</auto-polarized> <rules type="array"/> <text>Muito obrigado!</text> <search-term nil="true"/> <search-term-id nil="true"/> <search-setting-id type="integer">52</search-setting-id> <account-id type="integer">74</account-id> <favorite type="boolean">false</favorite> <url>https://www.hiplatform.com/</url> <media-id nil="true"/> <media-parent-id nil="true"/> <attached-image-url nil="true"/> <attached-image-thumb-url nil="true"/> <content-type nil="true"/> <sent-to nil="true"/> <interaction-type>o</interaction-type> <bot-message type="boolean">false</bot-message> <locale> <latitude>1.23456</latitude> <longitude>-2.34567</longitude> <country>Brazil</country> <country-short>BR</country-short> <state>São Paulo</state> <state-short>SP</state-short> <city>São Paulo</city> <country-id>1</country-id> <state-id>2</state-id> <city-id>3</state-id> </locale> <social-media> <key>email</key> <crm-key>email</crm-key> <user-name>consumidor</user-name> <user-id nil="true"/> <user-image nil="true"/> <custom-name nil="true"/> <editable type="boolean">false</editable> <removable type="boolean">true</removable> <hidable type="boolean">false</hidable> <hidden type="boolean">false</hidden> </social-media> <crm-user> <id type="integer">1109</id> <gender>M</gender> <unknown type="boolean">false</unknown> <email>consumidor@hiplatform.com</email> </crm-user> <interactions> <fb-likes nil="true"/> <fb-comments nil="true"/> <fb-shares nil="true"/> <fb-reaction-like nil="true"/> <fb-reaction-love nil="true"/> <fb-reaction-haha nil="true"/> <fb-reaction-wow nil="true"/> <fb-reaction-sad nil="true"/> <fb-reaction-angry nil="true"/> <fb-liked type="boolean">false</fb-liked> <tw-likes nil="true"/> <tw-retweets nil="true"/> <tw-liked type="boolean">false</tw-liked> <tw-retweeted type="boolean">false</tw-retweeted> <ig-likes nil="true"/> <ig-comments nil="true"/> <yt-views nil="true"/> <yt-likes nil="true"/> <yt-dislikes nil="true"/> <yt-comments nil="true"/> <gp-likes nil="true"/> <gp-comments nil="true"/> <gp-shares nil="true"/> </interactions> <email> <to>consumidor@hiplatform.com</to> <to-name>Consumidor</to-name> <from>falecom@hiplatform.com</from> <from-name>Hi Platform</from-name> <response-option>reply</response-option> <cc nil="true"/> <bcc nil="true"/> </email> </interaction> </interactions> </hiplatform> ``` ## ticket_unique_users ``` GET /api/v1/tickets/unique_users.json GET /api/v1/tickets/unique_users.xml ``` Retorna os últimos usuários que geraram chamados no SAC Parâmetros obrigatórios: **project_id:** ID do projeto Parâmetros opcionais (filtros): **page:** Número da página. Padrão 1. **per_page:** Número de resultados por página. Padrão 20, máximo 100. **priority:** Filtro por prioridade. 1 para baixa, 2 para média e 3 para alta. **user:** Filtro pelo usuário que gerou o chamado. **tags_ids[]:** Filtro por tag. Pode ser usado várias vezes. Exemplo: *tag_ids[]=1&tag_ids[]=2* **status[]:** Filtro pelo status do chamado. “A” para aberto, “R” para respondido, “F” para finalizado, “S” para sem status, “unread” para não lidos e “read” para lidos. Pode ser usado várias vezes. Exemplo: *status[]=A&status[]=unread* **account_ids[]:** Filtro por conta. Pode ser usado várias vezes. Exemplo: *account_ids[]=1&account_ids[]=2* **ticket_protocol:** Protocolo do chamado. **gender:** Gênero do usuário. M para Masculino, F para feminino, I para Imprensa e E para empresa. **observation:** “true” para trazer somente chamados com observações. **ticket_polarization:** Polarização do chamado. -2 para não polarizado, -1 para negativo, 0 para neutro e 1 para positivo. **attendant_ids[]:** Filtro por atendentes. Pode ser usado várias vezes. Exemplo: *attendant_ids[]=1&attendant_ids[]=2* **search_setting_id:** Filtro por mídia social. **from_date, to_date:** Data de e até. Formato YYYY-MM-DD **date_filter:** Em qual data o filtro será aplicado; “*postagem*” para horário da primeira interação do chamado, “*captura*” para horário da captura do chamado, “*recente*” para entrada da interação mais recente, “*aberto*” para horário de abertura do chamado, “*respondido*” para horário de resposta do chamado e “*finalizado*” para horário de finalização do chamado. **from_hour, to_hour:** Hora de e até. 0 – 23 **keyword:** Palavra chave a ser busca nos chamados. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "users": [ { "published_at": "2017-03-01T16:00:00.000-03:00", "social_media": "facebook", "user_name": "José Maria", "user_id": "1234567890" }, { "published_at": "2017-03-01T15:00:00.000-03:00", "social_media": "twitter", "user_name": "@josemaria", "user_id": "9876543210" } ] } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <users> <user> <published-at>2017-03-01T16:00:00.000-03:00</published-at> <social-media>facebook</social-media> <user-name>José Maria</user-name> <user-id>1234567890</user-id> </user> <user> <published-at>2017-03-01T15:00:00.000-03:00</published-at> <social-media>twitter</social-media> <user-name>@josemaria</user-name> <user-id>9876543210</user-id> </user> </users> </hiplatform> ``` ## create ticket POST /api/v1/tickets.json POST /api/v1/tickets.xml Cria um chamado do tipo “Ticket” no projeto informado para registro ou atendimento. Parâmetros obrigatórios: **project_id:** ID do projeto **consumer_phone:** Telefone do consumidor. Somente dígitos. **consumer_name:** Nome completo do consumidor. **subject:** Assunto da mensagem a ser associada ao ticket. **message:** Mensagem a ser associada ao ticket Parâmetros opcionais: **consumer_company:** Empresa do consumidor. **consumer_email:** E-mail do consumidor. **consumer_gender:** Gênero do consumidor. Valores aceitos são “M” para masculino, “F” para feminino, “I” para imprensa e “E” para empresa. **consumer_internal_id:** ID interno do consumidor. Utilizado para integrações com outros sistemas. Exemplo: *consumer_internal_id=ABC123-DE:4* **priority:** Prioridade do ticket. Aceita valores “1”, “2” e “3”, onde 3 é alta prioridade e 1 é baixa. **status:** Status do ticket. Aceita valores “A” para aberto, “R” para respondido e “F” para finalizado. **polarization:** Polarização do ticket. Aceita valores “-1” para negativo, “0” para neutro e “1” para positivo. **tags[]:** Tags a serem adicionadas ao ticket. Pode ser usado várias vezes. Exemplo: *tags[]=Azul&tags[]=Vermelho* # Relatórios ## tickets ``` GET /api/v1/reports/MÉTODO.json GET /api/v1/reports/MÉTODO.xml ``` A API da Hi Platform conta com vários relatórios, e apesar de todos terem seus próprios métodos, seu funcionamento é o mesmo. Então, todos eles estão detalhados aqui na mesma seção. Métodos: **total:** Geral **gender:** Por gênero **countries:** Por países **states:** Por estados brasileiros **cities:** Por cidades brasileiras **date:** Por período **hour:** Por hora **medias:** Por mídias e ecossistemas (exceto para índices *sentiment* e *saudability*) **terms:** Por termos de busca (exceto para índices *sentiment* e *saudability*) **found:** Por ocorrências encontradas (somente para o índice *search_results*) **found_15min:** Por ocorrências encontradas somente nos últimos 15 minutos (somente para o índice *search_results*) **tags:** Por tags (somente para o índice *search_results*) Índices: **search_results:** Por polarização **reach:** Por alcance **virality:** Por viralidade **sentiment:** Por sentimento **saudability:** Por saudabilidade Parâmetros obrigatórios: **project_id:** ID do projeto **on:** Índice do relatório. Caso fique em branco, *search_results* será considerado. Parâmetros opcionais (filtros): **hour_from:** Hora de. 0 – 23. **hour_to:** Hora até. 0 – 23. **date_from:** Data de. Formato YYYY-MM-DD. **date_to:** Data até. Formato YYYY-MM-DD **search_term[]:** Filtro por termo de busca. Pode ser usado várias vezes. Exemplo: *search_term[]=hi+platform&search_term[]=termo+busca* **search_setting[]:** Filtro por mídia social. Pode ser usado várias vezes. Exemplo: *search_setting[]=1&search_setting[]=2* **tag[]:** Filtro de tags por ID. Pode ser usado várias vezes. Exemplo: *tag[]=1&tag[]=2* Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "report": { "total": 3121, "positive": 2665, "neutral": 351, "negative": 105, "positive_perc": 85.3, "neutral_perc": 11.2, "negative_perc": 3.5 } } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <report> <total type="integer">3121</total> <positive type="integer">2665</positive> <neutral type="integer">351</neutral> <negative type="integer">105</negative> <positive-perc type="float">85.3</positive-perc> <neutral-perc type="float">11.2</neutral-perc> <negative-perc type="float">3.5</negative-perc> </report> </hiplatform> ``` # Engajamento ## competitors ``` GET /api/v1/engagement/competitors.json GET /api/v1/engagement/competitors.xml ``` Lista os concorrentes ativos cadastrados no módulo de engajamento. Parâmetros obrigatórios: **project_id:** ID do projeto Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "competitors": [ { "id": 1, "name": "Hi Platform", "profile_id": "hiplatform", "profile_type": "facebook", "profile_image_url": "http://www.hiplatform.com/avatar.jpg", "likes": "123456" }, { "id": 2, "name": "Hi Platform", "profile_id": "hiplatform", "profile_type": "twitter", "profile_image_url": "http://www.hiplatform.com/avatar.jpg", "followers": "123456" }, { "id": 3, "name": "Hi Platform", "profile_id": "hiplatform", "profile_type": "instagram", "profile_image_url": "http://www.hiplatform.com/avatar.jpg", "followers": "123456" }, { "id": 4, "name": "Hi Platform", "profile_id": "hiplatform", "profile_type": "youtube", "profile_image_url": "http://www.hiplatform.com/avatar.jpg", "subscribers": "123456" } ] } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <competitors> <competitor> <id>1</id> <name>Hi Platform</name> <profile-id>hiplatform</profile-id> <profile-type>facebook</profile-type> <profile-image-url>http://www.hiplatform.com/avatar.jpg</profile-image-url> <likes>123456</likes> </competitor> <competitor> <id>2</id> <name>Hi Platform</name> <profile-id>hiplatform</profile-id> <profile-type>twitter</profile-type> <profile-image-url>http://www.hiplatform.com/avatar.jpg</profile-image-url> <followers>123456</followers> </competitor> <competitor> <id>3</id> <name>Hi Platform</name> <profile-id>hiplatform</profile-id> <profile-type>instagram</profile-type> <profile-image-url>http://www.hiplatform.com/avatar.jpg</profile-image-url> <followers>123456</followers> </competitor> <competitor> <id>4</id> <name>Hi Platform</name> <profile-id>hiplatform</profile-id> <profile-type>youtube</profile-type> <profile-image-url>http://www.hiplatform.com/avatar.jpg</profile-image-url> <subscribers>123456</subscribers> </competitor> </competitors> </hiplatform> ``` ## competitor_daily_followers ``` GET /api/v1/engagement/ID/competitor_daily_followers.json GET /api/v1/engagement/ID/competitor_daily_followers.xml ``` Lista seguidores (“followers” para Instagram e Twitter), fãs (“likes” para Facebook) ou inscritos (“subscribers” para Youtube) do concorrente no último mês. ID é ID numérico do competidor na Hi Platform (ver endpoint **competitors**) Parâmetros obrigatórios: **project_id:** ID do projeto Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "data": [ { "label": "26/02", "date": "2017-02-26", "followers": 123 }, { "label": "27/02", "date": "2017-02-27", "followers": 234 }, { "label": "28/02", "date": "2017-02-28", "followers": 456 } ] } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <data> <datum> <label>26/02</label> <date>2017-02-26</date> <followers>123</followers> </datum> <datum> <label>27/02</label> <date>2017-02-27</date> <followers>234</followers> </datum> <datum> <label>28/02</label> <date>2017-02-28</date> <followers>456</followers> </datum> </data> </hiplatform> ``` # Outros ## server_time ``` GET /api/v1/server_time.json GET /api/v1/server_time.xml ``` Esse método retorna o tempo atual e a timestamp atual no servidor, para depuração de problemas na autenticação caso necessário. A autenticação não é necessária para acessar esse método. Retorno em JSON: ``` { "response": { "status": "200 OK", "code": 200 }, "timestamp": 1395009450, "time": "2014-03-16 19:37:30 -0300" } ``` Retorno em XML: ``` <?xml version="1.0" encoding="UTF-8"?> <hiplatform> <response> <status>200 OK</status> <code type="integer">200</code> </response> <timestamp type="integer">1395009468</timestamp> <time>2014-03-16 19:37:48 -0300</time> </hiplatform> ``` **Artigos relacionados:** [Gestão de usuários de API](https://help.hiplatform.com/docs/gestao-de-usuarios-de-api) # -