Integração RSS

Introdução e orientação

Requisitos técnicos dos feeds RSS, deteção de alterações, campos dos itens e anexos.

A quem se destina este guia

Esta especificação destina-se ao programador ou fornecedor que prepara um feed RSS/XML para o cliente. O cliente entrega o URL do feed concluído ao fornecedor do sistema, cujo administrador o liga e cria a aplicação RSS. Consulte Configuração de aplicações RSS para consultar o procedimento de configuração.

Ver exemplos na biblioteca de aplicações

Para que serve a integração RSS

A integração RSS permite obter conteúdos estruturados de um canal configurado, preparar os conteúdos multimédia e distribuir alterações das definições aos dispositivos associados ao canal.

Referência técnica

Como funciona a sincronização

  1. O servidor obtém o feed RSS configurado e compara os identificadores dos itens e os valores de changeDate com os registos guardados.
  2. Os itens novos e alterados são processados. O servidor transfere os conteúdos multimédia e envia-os para o serviço de ficheiros para armazenamento e eventual conversão; os itens e conteúdos não utilizados são removidos.
  3. O servidor informa o portal de uma alteração detetada. O portal organiza depois o envio dos dados atualizados aos dispositivos que utilizam esse canal.
  4. Cada dispositivo guarda os dados recebidos e transfere separadamente os anexos necessários. Receber uma definição não confirma, por si só, que todas as transferências de conteúdos multimédia tenham terminado.

Consulte Configuração de aplicações RSS para conhecer o intervalo de verificação e a atribuição da aplicação. As atualizações não são imediatas: a preparação dos conteúdos e a ligação dos dispositivos também afetam o envio.

A sincronização descrita pressupõe um feed com pelo menos um item válido. Não conte com esvaziar o feed como forma garantida de parar a apresentação dos conteúdos.

Como o sistema deteta alterações dos itens

  • Um guid na nova definição que não existia na anterior → novo item; os conteúdos são transferidos e preparados.
  • Um guid anterior em falta na nova definição → item removido; os conteúdos são removidos.
  • O guid existe em ambas, mas changeDate é diferente → item alterado; os conteúdos antigos são removidos e os novos transferidos e preparados.

Ao alterar um título, descrição, ligação ou anexo, mantenha o valor de guid e altere changeDate. Isto também se aplica ao substituir um ficheiro sem alterar o URL. Reordenar itens pode não desencadear o envio de uma nova definição; atualize também changeDate para que a alteração seja enviada.

Propriedades principais

  • guid: Um identificador único e estável do item, como o ID de um registo da base de dados. Mantenha-o ao editar os conteúdos.
  • title: Um título obrigatório e não vazio. São aceites etiquetas HTML, mas a lista e o título de detalhe apresentam texto simples.
  • description: A descrição do item. Pode conter HTML; a apresentação formatada depende das definições da aplicação RSS.
  • category: Um nome de categoria utilizado para filtrar. O seletor aparece quando o canal tem pelo menos uma categoria não vazia.
  • link: O URL absoluto de uma página relacionada. Uma ligação que começa por http também aparece como código QR nos detalhes para utilização num dispositivo móvel.
  • pubDate: A data e hora de criação. Não agenda a publicação: uma data futura não impede que o item seja apresentado.
  • endDate: A data e hora de fim de validade. Este campo não garante a remoção imediata com base no relógio do dispositivo, sobretudo offline. Não dependa apenas dele para conteúdos que tenham de deixar de aparecer a uma hora exata.
  • changeDate: A data e hora da última alteração. O sistema compara-as juntamente com guid; utilize um valor diferente em cada atualização.
  • media:content: A imagem representativa do item, fora do grupo de anexos. Forneça os atributos url e type.
  • content, image: O analisador também aceita estes nomes de etiquetas com os mesmos atributos multimédia. image funciona como recurso quando o URL principal não está definido. Prefira media:content; este alias não suporta estruturas image/url aninhadas arbitrariamente.
  • media:group: O grupo de anexos do item: imagens, vídeos, documentos e conteúdo HTML incorporado.

Formatos de data e hora

Utilize um valor como 2026-10-17 08:30:00. O analisador também aceita T ou t entre a data e a hora, uma data como 17.10.2026 e datas RSS como Sat, 17 Oct 2026 08:30:00 +0200.

Os valores são tratados como datas e horas locais. O desvio UTC fornecido não é utilizado para os converter para UTC; utilize sempre um fuso horário acordado. O analisador verificado não suporta datas e horas ISO 8601 terminadas em Z.

Exemplo XML

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <item>
            <guid>offer-001</guid>
            <title>Últimas ofertas</title>
            <description>Informações sobre as nossas ofertas atuais</description>
            <category>Notícias</category>
            <pubDate>2026-10-17 08:00:00</pubDate>
            <changeDate>2026-10-17 08:30:00</changeDate>
            <link>https://example.org/offers/offer-001/</link>
            <media:content url="https://example.org/media/offer-001.jpg" type="image/jpeg"/>
            <media:group>
                <media:content url="https://example.org/media/offer-001.pdf" name="Detalhes da oferta" type="application/pdf"/>
                <media:content type="text/html"><![CDATA[<h1>Detalhes</h1><p>Mais informações sobre esta oferta.</p>]]></media:content>
            </media:group>
        </item>
    </channel>
</rss>

Os endereços example.org são marcadores. Substitua-os por URL reais acessíveis ao servidor RSS. O exemplo básico omite endDate para que o item não expire automaticamente.

Parâmetros dos itens

A tabela define o formato de integração exigido. A tolerância do analisador a campos em falta não substitui dados corretamente preenchidos. Forneça e altere changeDate ao atualizar um item existente.

ParâmetroObrigatórioTipoExemplo
guidSIMTexto/Número548A59C5B5E
titleSIMTexto/HTMLExcelentes notícias
descriptionNÃOTexto/HTMLEsta é uma GRANDE notícia
linkNÃOURLhttps://...
categoryNÃOTextoNotícias
authorNÃOTextoJoão Silva
pubDateSIMData e hora2026-10-17 08:00:00
endDateNÃOData e hora2026-10-18 18:00:00
changeDateAo atualizarData e hora2026-10-17 08:30:00
media:contentNÃOItem
media:groupNÃOGrupo

Itens do grupo multimédia

Imagem, documento ou vídeo: adicione ao grupo um elemento media:content e forneça os respetivos atributos url e type. O atributo opcional name fornece a legenda do anexo.

HTML ou texto simples: utilize media:content type="text/html" e coloque os conteúdos diretamente no elemento, por exemplo como fragmento HTML em CDATA. Um parágrafo simples basta para texto simples. Apresentar um anexo HTML não disponibiliza uma aplicação web completa; esta especificação não garante a execução de JavaScript.

Limitação dos anexos de texto: os anexos autónomos text/plain não são processados corretamente pela implementação verificada. Para um anexo de texto, utilize a forma text/html apresentada acima.

Tipos de conteúdos suportados

image/webp image/jpeg image/png video/mp4 video/x-msvideo video/webm video/quicktime video/x-m4v video/mpeg application/pdf application/rtf application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.ms-powerpoint application/vnd.openxmlformats-officedocument.presentationml.presentation application/vnd.oasis.opendocument.text application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.spreadsheet text/html

São formatos de entrada de anexos que o sistema guarda ou prepara para apresentação consoante o tipo. O sucesso também depende do conteúdo real e da codificação do ficheiro; um tipo MIME correspondente não confirma, por si só, que a conversão tenha terminado.

Não encontrou o que procurava?
Contacte o seu fornecedor de software.