API de integração para o HiSocial


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.

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:

https://plataforma1.seekr.com.br/api/[nome_do_metodo].[formato]?[parametros] 

Para o processo de autenticação, você precisa mandar 3 parâmetros em todo request feito à API: keyts e hashkey é 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:

<?xml version="1.0" encoding="UTF-8"?>
<seekr>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <searches type="array">
    <search>
      <id type="integer">21</id>
      <name>Teste Bi</name>
      <start-date>01/01/2015</start-date>
      <end-date>31/12/2020</end-date>
      <search-results type="integer">9887</search-results>
      <tags type="integer">0</tags>
      <active type="boolean">true</active>
      <sentiment-analysis type="boolean">false</sentiment-analysis>
      <search-terms type="integer">5</search-terms>
    </search>
  </searches>
</seekr> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<seekr>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <search>
    <id type="integer">1</id>
    <name>Monitoramento</name>
    <start-date>01/01/2015</start-date>
    <end-date>31/12/2020</end-date>
    <search-results type="integer">1109</search-results>
    <tags type="integer">4</tags>
    <active type="boolean">true</active>
    <sentiment-analysis type="boolean">false</sentiment-analysis>
    <search-terms type="array">
      <search-term>
        <term>"Termo de busca"</term>
        <id type="integer">1</id>
      </search-term>
      <search-term>
        <term>Hi Platform</term>
        <id type="integer">2</id>
      </search-term>      
    </search-terms>
  </search>
</seekr> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <tags type="array">
    <tag>
      <id type="integer">1</id>
      <name>Tag Pai</name>
      <color>1A2B3C</color>
      <parent-id nil="true"/>
      <node-level type="integer">0</node-level>
      <has-children type="boolean">true</has-children>
      <created-at type="dateTime">2019-01-01 12:00:00 -0300</created-at>
      <search-results type="integer">123</search-results>
      <tickets type="integer">45</tickets>
    </tag>
    <tag>
      <id type="integer">2</id>
      <name>Tag Filha</name>
      <color>1A2B3C</color>
      <parent-id type="integer"/>1</parent-id/>
      <node-level type="integer">1</node-level>
      <has-children type="boolean">false</has-children>
      <created-at type="dateTime">2019-01-01 12:00:00 -0300</created-at>
      <search-results type="integer">987</search-results>
      <tickets type="integer">65</tickets>
    </tag>
  </tags>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <tag-groups type="array">
    <tag-group>
      <id type="integer">1</id>
      <name>tag group 1</name>
      <color>fc0000</color>
      <created-at type="dateTime">2019-01-01 12:00:00 -0300</created-at>
    </tag-group>
    <tag-group>
      <id type="integer">2</id>
      <name>tag group 2</name>
      <color nil="true"/>
      <created-at type="dateTime">2019-01-01 12:00:00 -0300</created-at>
    </tag-group>
  </tags>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <total type="integer">166</total>
  <search-results type="array">
    <search-result>
      <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>
    </search-result>
  </search-results>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <search-result>
    ...
  </search-result>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <search-result>
    ...
  </search-result>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <search-result>
    ...
  </search-result>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <crm-user>
    <id type="integer">12</id>
    <name>Nany Malagueta</name>
    <gender>F</gender>
    <country>Brazil</country>
    <state>Rio de Janeiro</state>
    <city>Rio de Janeiro</city>
    <email nil="true"/>
    <phone nil="true"/>
    <user-image-url>
      https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png
    </user-image-url>
    <social-medias type="array">
      <social-media>
        <media>twitter</media>
        <user-id nil="true"/>
        <profile-url>
          https://pbs.twimg.com/profile_images/2619605425/bltoe7tma09g27fx5xi0_normal.png
        </profile-url>
      </social-media>
    </social-medias>
    <notes type="array"/>
  </crm-user>
</hiplatform> 

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:

 <?xml version="1.0" encoding="UTF-8"?>
<hiplatform>
  <response>
    <status>200 OK</status>
    <code type="integer">200</code>
  </response>
  <publications type="array">
    <publication>
      <id type="integer">10</id>
      <status>P</status>
      <media-id>12345</media-id>
      <media-parent-id nil="true"/>
      <account>
        <id type="integer">20</id>
        <type>AccountTwitter</type>
        <name>Hi Platform</name>
        <username nil="true"/>
        <custom-name>Twitter - Hi Platform</custom-name>
        <image>https://pbs.twimg.com/profile_images/8912364981364/rIbCxM6m_normal.jpg</image>
        <sync-active type="boolean">true</sync-active>
        <active type="boolean">true</active>
        <sac-enabled type="boolean">true</sac-enabled>
        <bot-enabled type="boolean">false</bot-enabled>
        <authorized>true</authorized>
        <removing type="boolean">false</removing>
        <group>Twitter</group>
      </account>
      <publication>
        <id type="integer">30</id>
        <title nil="true"/>
        <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>