A Nonli aceita feeds Media RSS (MRSS) baseados em RSS 2.0. Este formato permite à Nonli importar diretamente os metadados editoriais, um ficheiro MP4 e a respetiva miniatura para a publicação automatizada de vídeos.
Quando o mesmo conteúdo está disponível nos formatos horizontal e vertical, as duas versões têm de estar agrupadas no mesmo <item>. A Nonli pode então selecionar a versão que corresponde ao tipo de publicação pretendido sem indexar duas vezes o conteúdo editorial.
Se a Nonli extrair uma página HTML de artigo em vez de um feed, use a referência das meta tags HTML da Nonli. Documenta o campo nli:video atual e o contrato previsto para as versões standard/short.
1. Estrutura de referência#
1<?xml version="1.0" encoding="UTF-8"?>2<rss3 version="2.0"4 xmlns:dc="http://purl.org/dc/elements/1.1/"5 xmlns:media="http://search.yahoo.com/mrss/"6>7 <channel>8 <title>Example video feed</title>9 <link>https://www.example.com/</link>10 <description>Videos available for Nonli</description>11 <language>en</language>12
13 <item>14 <guid isPermaLink="false">ef88ec32-3810-11f1-88c3-598b8dedbf8b</guid>15 <pubDate>Tue, 14 Apr 2026 14:53:18 +0000</pubDate>16 <title>Magyar wins in Hungary</title>17 <description>Péter Magyar won the election...</description>18 <link>https://www.example.com/en/video/20260414-magyar-wins</link>19 <category>Europe</category>20 <dc:creator>Elisabeth Allain</dc:creator>21
22 <media:group>23 <media:content24 url="https://media.example.com/video-horizontal.mp4"25 type="video/mp4"26 medium="video"27 isDefault="true"28 width="1920"29 height="1080"30 duration="142"31 >32 <media:category scheme="urn:nonli:format">video</media:category>33 <media:title>Magyar wins in Hungary</media:title>34 <media:thumbnail url="https://media.example.com/thumbnail-16x9.jpg" />35 </media:content>36
37 <media:content38 url="https://media.example.com/video-vertical.mp4"39 type="video/mp4"40 medium="video"41 width="1080"42 height="1920"43 duration="58"44 >45 <media:category scheme="urn:nonli:format">short</media:category>46 <media:title>Magyar wins in Hungary (short)</media:title>47 <media:thumbnail url="https://media.example.com/thumbnail-9x16.jpg" />48 </media:content>49 </media:group>50 </item>51 </channel>52</rss>2. Campos obrigatórios de cada item#
| Elemento ou atributo | Regra |
|---|---|
guid | Identificador estável e único do conteúdo editorial. Não pode mudar quando o feed é atualizado. |
pubDate | Data RFC 2822 com fuso horário, por exemplo Tue, 14 Apr 2026 14:53:18 +0000. |
title | Título editorial não vazio. |
description | Resumo ou texto usado para gerar a mensagem da publicação. É aceite HTML básico dentro de uma secção CDATA. |
link | URL HTTPS canónico da página pública associada ao conteúdo. |
media:group | Grupo que contém uma ou mais versões do mesmo conteúdo. |
media:content@url | URL HTTPS direto e publicamente transferível do ficheiro de vídeo. |
media:content@type | video/mp4. |
media:content@medium | video. |
width e height | Dimensões reais do vídeo em píxeis. |
duration | Duração real em segundos inteiros. |
media:category | video ou short, com o esquema exato urn:nonli:format. |
media:title | Título da versão do vídeo. |
media:thumbnail@url | URL HTTPS direto de uma miniatura JPEG ou PNG correspondente à versão. |
category e dc:creator são recomendados para enriquecer os filtros e as mensagens, mas não são obrigatórios.
3. Identificar os formatos de vídeo#
O valor de media:category determina a forma como a Nonli usa a versão:
video: vídeo standard, normalmente horizontal 16:9;short: vídeo vertical curto, normalmente 9:16, destinado a Reels, Shorts e formatos equivalentes.
O esquema urn:nonli:format é obrigatório para que esta classificação técnica não possa ser confundida com uma categoria editorial MRSS.
Um <item> pode conter apenas video, apenas short ou ambos. Não pode conter mais do que uma versão por formato. Se os dois ficheiros representarem conteúdos editoriais diferentes, publique-os como dois elementos <item> separados, com GUID diferentes.
Para assinalar uma versão preferida, adicione isDefault="true" a apenas um elemento media:content do grupo.
4. Acessibilidade dos media#
A Nonli tem de conseguir transferir o feed, os vídeos e as miniaturas a partir dos seus servidores:
- use apenas URL HTTPS absolutos;
- devolva HTTP
200sem página HTML intermédia; - evite cookies, sessões, tokens temporários e redirecionamentos dependentes do navegador;
- sirva um
Content-Typeque corresponda ao ficheiro (application/rss+xml,video/mp4,image/jpegouimage/png); - mantenha os URL dos media válidos durante tempo suficiente para permitir uma nova tentativa de importação;
- se o feed usar um token no seu URL, partilhe-o com a Nonli através de um canal seguro e coordene a rotação do token.
Um URL ou uma página de reprodução do YouTube não substitui o URL direto do ficheiro MP4.
Se o seu fluxo de trabalho publicar estes vídeos em canais do YouTube associados a um Content Owner, configure e verifique as reivindicações automáticas e a monetização separadamente.
5. Atualizações e desempenho#
- Ordene as entradas da mais recente para a mais antiga.
- Mantenha um número limitado de entradas, cobrindo ao mesmo tempo as novas publicações entre duas verificações do feed.
- Nunca reutilize um GUID para conteúdos diferentes.
- Mantenha o mesmo GUID ao corrigir um título, uma descrição, uma miniatura ou uma versão.
- Exponha
ETage/ouLast-Modifiede suporte pedidos condicionais quando a sua infraestrutura o permitir. - Evite duplicar o mesmo conteúdo em vários feeds quando um único feed por marca e por idioma pode agrupar as suas versões.
6. Lista de verificação#
Antes de partilhar o feed com a Nonli, certifique-se de que:
- o XML é válido e declara os espaços de nomes
mediaedc; - cada item tem um GUID estável, uma data, um título e um link canónico;
- cada
media:contentaponta diretamente para um ficheiro MP4 acessível; - as dimensões e a duração correspondem ao ficheiro real;
- cada versão tem exatamente a categoria
videooushortcom o esquemaurn:nonli:format; - as versões horizontal e vertical do mesmo conteúdo estão agrupadas no mesmo
<media:group>; - cada versão tem uma miniatura acessível;
- voltar a obter o feed não altera os GUID existentes.