User Tools

Site Tools


br-140-app-chck


Solicitação APP / CHCK

O comando CHCK solicita ao webservice, por meio de POST, retornar para o dispositivo a lista de novas mensagens.

Por implementar um processo de comunicação assíncrona com o webservice (POST), o dispositivo deve enviar o comando CHCK uma vez a cada minuto (em média). A resposta do comando CHCK retornará a lista de novas mensagens e o hash da lista de canais.

Caso o hash da lista de canais tenha sido modificado desde a última verificação, o dispositivo deve enviar o comando LSUB para atualizar a lista de canais da base local. O hash obtido na verificação deve ser armazenado na base local do APP, para que seja comparado com o hash obtido na próxima solicitação, e assim manter a lista de canais atualizada.

A lista de canais obtida na resposta do webservice inclui o hash de cada ícone de cada canal. Caso algum hash seja diferente da base local, o APP deve solicitar o ícone atualizado ao webservice com o comando ICON.

As mensagens possuem o atributo de número de sequência (Message-ID), que identifica cada mensagem no Followzup. O código da última mensagem recebida no comando CHCK também deve ser armazenada na base local do dispositivo, para que seja informada na próxima verificação. Se o dispositivo não informar o Message-ID corretamente, o dispositivo receberá mensagens já enviadas anteriormente.



Variáveis POST

id Código de identificação do dispositivo, sem criptografia (Device-ID)
key Chave AES (temporária), criptografada com a chave pública do dispositivo e codificada em Base64 / URL Encode.
frame String criptografado com a chave AES (temporária), contendo o XML de solicitação e codificado em Base64 / URL Encode.



XML de resposta do POST

Após o processamento da solicitação contida no POST, o webservice retorna o seguinte XML para o solicitante:

<?xml version="1.0" encoding="utf-8"?>
<followzup>
<retcode>código-de-retorno</retcode>
<retframe>xml-de-resposta-da-solicitação</retframe>
<retmd5>md5-de-resposta</retmd5>
</followzup>

Onde:

  • código-de-retorno: String não criptografado, contendo o valor “0” (zero) para as solicitações executadas com sucesso, ou o código de erro correspondente, composto por 4 dígitos numéricos.
  • xml-de-resposta-da-solicitação: String criptografado com a mesma chave AES utilizada no envio da solicitação (chave temporária), e codificado em Base64.
  • md5-de-resposta: String contendo o hash md5 do campo acima.



XML de solicitação

<?xml version="1.0" encoding="utf-8"?>
<followzup>
<stp>stamp</stp>
<com>chck</com>
<seq>sequência-da-solicitação</seq>
<msg>Message-ID</msg>
</followzup>

Onde:

  • stamp: Código STAMP da Interface.
  • resp: Comando para enviar mensagem de resposta (send response);
  • sequência-da-solicitação: Número de sequência da solicitação;
  • Message-ID: Código da última mensagem recebida (numérico).



XML de resposta da solicitação

<?xml version="1.0" encoding="utf-8"?>
<followzup>
<md5>md5-channel-list</md5>
<msg>channel-tag;Message-ID;datetime;msg-text;msg-url</msg>
<msg>...</msg>
</followzup>

Onde:

  • md5-channel-list: Hash MD5 da lista de canais;
  • channel-tag: Tag do canal que enviou a mensagem;
  • Message-ID: Código da mensagem (numérico);
  • datetime: Data e hora de envio da mensagem (UTC) no formato “YYYY-MM-DD HH:MM:SS”;
  • msg-text: Texto da mensagem codificado em BASE64;
  • msg-url: Link da mensagem codificado em BASE64.


XML de resposta da solicitação (sequência inválida):

<?xml version="1.0" encoding="utf-8"?>
<followzup>
<seq>Last-sequence</seq>
</followzup>

Onde:

  • Last-sequence: Número de sequência utilizado na última solicitação.



Códigos de Retorno

0 Execução com sucesso
7101 Sequência inválida
7102 Frame inválido
7103 Comando inválido
7104 Device-ID inválido
7999 Webservice em manutenção


br-140-app-chck.txt · Last modified: 2017/05/30 12:21 by admin

Page Tools