Tarjeta de oferta
Una oferta: el producto y su imagen, el precio nuevo que baja desde el anterior mientras este aparece tachado, el ahorro, el precio unitario, las fechas y la nota legal: 10 segundos. En ocho estilos, cada uno con los colores, fuentes, logo, presentador y fondo de su marca.
| ID de la plantilla | tpl_3b4631d0fc52 |
|---|---|
| Sectores | Todos los sectores |
| Variantes | Corporate glass, Bento grid, Editorial, Neo-brutalist, Soft friendly, Creator native, Keynote minimal, Promo flyer |
| Feeds predefinidos | Ninguno |
Casos de uso
- Una oferta: el producto y su imagen, el precio nuevo frente al antiguo, el ahorro y las fechas.
- Una oferta semanal, un precio de rebajas o una oferta limitada con su precio por unidad y su nota legal.
- Una serie de ofertas es el carrusel; esto es una sola oferta, bien hecha.
Variantes
Una variante es esta plantilla con otro diseño, y existe en versiones: compilaciones inmutables, la más reciente primero. Un canal sigue la versión más reciente de su variante, salvo que esté fijado a una.
| Variante | Qué es | Versiones | Más reciente |
|---|---|---|---|
| Corporate glass | Tarjetas de cristal esmerilado sobre una aurora en los colores de su marca: tranquilo y premium. | 1 | 1.0.0 |
| Bento grid | Recuadros redondeados en los colores de su marca, cada uno con su propio movimiento: un aspecto moderno de producto. | 1 | 1.0.0 |
| Editorial | Una página de revista con el tono de papel y la tipografía con serifa de su marca: cabecera, líneas finas y firma. | 1 | 1.0.0 |
| Neo-brutalist | Bloques planos llamativos en sus colores con bordes gruesos y sombras duras. | 1 | 1.0.0 |
| Soft friendly | Formas suaves y tarjetas redondeadas en matices del color de su marca: cálido y cercano. | 1 | 1.0.0 |
| Creator native | Hecho en la aplicación: su imagen detrás de cuadros de texto y subtítulos en su color. | 1 | 1.0.0 |
| Keynote minimal | Un escenario de lanzamiento: una cosa cada vez, tipografía enorme y un barrido de luz en su color. | 1 | 1.0.0 |
| Promo flyer | Un folleto de tienda en sus colores: estallidos, etiquetas y cifras gruesas, con su logo como protagonista. | 1 | 1.0.0 |
Qué acepta
Todas las variantes aceptan el mismo contenido, así que un documento se genera en cualquiera de ellas.
One offer: the product and its picture, the new price counting down from the old one as it is struck through, the saving, the unit price, how long it is valid and the legal note. metaData is the post's title, descriptions and hashtags and is never drawn.
| Campo | Tipo | Obligatorio | Límite | Qué es |
|---|---|---|---|---|
clipData | group | yes | Clip data: Everything drawn: a kicker, the product, its detail and picture, the prices, the unit price, the dates, the legal note and the look. | |
clipData.kicker | text | up to 20 characters | Kicker: A word above the product, such as THIS WEEK ONLY. | |
clipData.product | text | yes | up to 48 characters | Product: Shown from the first frame. |
clipData.detail | text | up to 60 characters | Detail: Pack size, variety, origin. | |
clipData.picture | video | yes | media:// picture or video from the media library, alt text up to 120 characters | Product picture or video: Shown whole on a light panel, so a cut-out on a clear background works best. A video from the media library plays in its place, without its sound, and from its start again whenever it ends. |
clipData.pictureFit | enum | whole, auto, fill | Picture fit: Show it whole, the default, keeps every picture uncropped inside its frame, right for a cut-out product. Automatic fills the frame when a picture is close to its shape and shows it whole when filling would cut off more than a sixth of it; Fill the frame always crops to the frame. | |
clipData.pictureFocus | enum | centre, top, bottom, left, right | Picture focus: Which part of a picture stays in view when it fills its frame and its edges are cropped: the middle, or one side. | |
clipData.currency | enum | yes | EUR, USD, GBP, CHF, SEK, NOK, DKK, PLN, CZK, HUF, CAD, AUD, NZD, MXN, BRL, JPY, INR, ZAR | Currency |
clipData.price | number | yes | from 0, 2 decimals | Offer price |
clipData.oldPrice | number | from 0, 2 decimals | Previous price: Struck through, with the saving worked out from it and rounded down. Left out, the offer price stands alone. | |
clipData.unitPrice | group | yes | Unit price: The price per kilogram, litre or piece, written beside the offer price. | |
clipData.unitPrice.value | number | yes | from 0, 2 decimals | Price per unit |
clipData.unitPrice.per | text | yes | up to 12 characters | Per: The quantity it is the price of, such as 1 kg, 100 g or 1 l. |
clipData.validFrom | datetime | Valid from: Only the date is drawn, as it is written here. | ||
clipData.validUntil | datetime | yes | Valid until: Only the date is drawn, as it is written here. | |
clipData.footnote | text | yes | up to 160 characters | Legal note: What the previous price is, stock, where the offer applies, taxes. |
clipData.styleWords | group | Style words: The few words some styles write into their own frame, each drawn exactly as written, in the language you write it in. A word left out is not drawn: no template adds a word of its own. The same keys in every format of the collections; each style draws only its own. | ||
clipData.styleWords.live | text | up to 16 characters | Live marker (Broadcast news): Written beside the light in Broadcast news' channel bug, such as LIVE. Left out, the light stands alone. | |
clipData.styleWords.byline | text | up to 12 characters | Byline (Editorial): Written before the presenter's name in Editorial, such as By. Left out, the name stands alone. | |
clipData.styleWords.functionKeys | list | up to 4 | Function keys (Data terminal): Data terminal's row of keys F1 to F4, one word each, in order, such as HELP, DATA, CHART and NEWS; the second is drawn held down, and a key that does not fit the row is left out. Left out, no keys are drawn. | |
clipData.styleWords.functionKeys[] | text | up to 12 characters | Key | |
clipData.styleWords.commandKey | text | up to 10 characters | Command key (Data terminal): The key at the end of Data terminal's row, in the rise colour, such as GO. Left out, none is drawn. | |
clipData.styleWords.realTime | text | up to 12 characters | Real-time light (Data terminal): Written beside the blinking light in Data terminal's status bar, such as RT. Left out, the light stands alone. | |
clipData.styleWords.messageLabel | text | up to 12 characters | Message window label (Data terminal): The tab on Data terminal's message window round the presenter, such as MSG. Left out, the window has no tab. | |
clipData.styleWords.pictureLabel | text | up to 12 characters | Picture panel label (Data terminal): Written in the strip along the top of Data terminal's picture panels, such as IMG. Left out, the strip stays empty. | |
clipData.look | group | Look: How the clip looks and moves within its style. The same switches in every format of the collections. Leave a switch out, or set it to the style's own, and the style decides. | ||
clipData.look.theme | enum | auto, brand, light, dark, bold | Theme: The style's own choice; your brand's own colours and background; a light or dark page tinted with your brand colour; or your brand colour as the page. | |
clipData.look.pace | enum | auto, calm, standard, punchy | Pace: How things arrive: the style's own rhythm, calm fades, a standard rhythm, or punchy slams and cuts. | |
clipData.look.corners | enum | auto, square, soft, round | Corners: The shape of cards, panels and marks. | |
clipData.look.align | enum | auto, start, centre | Text alignment: Where the text lines up. | |
clipData.look.logo | enum | auto, free | Logo: The style's own: the logo on the style's plate (a card, a disc, a badge) so it reads on any page. As it is: the logo whole, with no plate, frame or crop, for a logo made to stand on the page, such as one with a transparent background. As it is, make sure your logo reads on the page of the theme you choose. | |
clipData.look.logoSize | enum | auto, small, large | Logo size: Standard is the style's own size. Small draws the logo a fifth smaller, with its plate. Large draws it a quarter larger wherever the style has room for it, and at the standard size where it has none. | |
clipData.look.hideHeader | boolean | Hide logo and title: Leaves out the line at the top of the clip: your logo, the title line and the style's decoration around them, so the content starts at the top. To leave it out of every clip, switch Logo and title line off in your brand's settings. | ||
clipData.look.hideFooter | boolean | Hide footer line: Leaves out your footer line at the foot of the clip, with whatever the style draws only to carry it, so the content reaches further down. Your presenter and the source line stay. To leave it out of every clip, switch Footer line off in your brand's settings. | ||
clipData.look.pattern | enum | auto, none, dots, grid, lines | Background pattern: The fine texture behind the content. The style's own keeps what the style draws there, and some styles draw none. None leaves the background plain. Dots, Grid and Diagonal lines draw that pattern faintly instead, the same in every style, in the colour of your page. | |
metaData | group | Meta data: Everything about the post that is never drawn in the clip: its title, its description in four lengths, one per kind of platform, and its hashtags. Reelwire adds the brand's description, link and hashtags after it. Left out, the post text is generated from the clip data. | ||
metaData.title | text | up to 100 characters | Title: Used where the platform has a title of its own: Facebook Feed, LinkedIn, Pinterest and YouTube. Up to 100 characters, which every one of them takes. | |
metaData.captionTiny | text | up to 200 characters | Tiny description (Pinterest, Threads, X): Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionShort | text | up to 500 characters | Short description (Telegram, Threema, WeChat, WhatsApp): Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionMedium | text | up to 1500 characters | Medium description (Discord, Facebook Reels, Instagram, LinkedIn, Signal, Slack, TikTok): Up to 1500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionLong | text | up to 4000 characters | Long description (Facebook Feed, YouTube): Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.hashtags | list | up to 15 | Hashtags: Written without the #. Up to 15, which every platform takes. | |
metaData.hashtags[] | text | up to 60 characters | Hashtag |
locales contiene otros idiomas: bajo cada código de idioma, las partes de clipData y metaData que cambian, superpuestas al contenido predeterminado, así que un idioma sin copia propia también se renderiza.
Una imagen es siempre un archivo de su biblioteca multimedia: media:// seguido de su ID o su nombre. Todo lo que la tabla no enumera se rechaza, y también todo lo que supera su límite, con un error 400 schema_validation que nombra el campo.
Pida a Reelwire, sin iniciar sesión, el JSON Schema completo, el documento con el que se valida su contenido:
curl "https://app.reelwire.io/v1/formats/template/tpl_3b4631d0fc52?variant=Corporate%20glass&version=1.0.0"
JSON de entrega
Su propio sistema envía esto a uno de sus streams, POST /v1/stream, y cada canal que recibe ese stream lo genera con su plantilla. data es el documento descrito arriba; un stream con una asignación de campos vacía lo pasa a la plantilla sin cambios. Pruébelo primero con POST /v1/stream/validate, que responde igual sin publicar nada. Streams y feeds explica el resto, incluido cómo asignar en su lugar un documento con su propia forma.
{
"streamId": "st_your_stream_id",
"eventId": "01M2SQMKK3G1NVFXV31DCBVB95",
"occurredAt": "2026-09-23T07:00:00Z",
"locale": "en",
"data": {
"clipData": {
"kicker": "This week only",
"product": "Silk dunes wallpaper, in four colourways",
"detail": "Non-woven, one roll of 10.05 x 0.53 m",
"picture": {
"alt": "Soft waves of blue, violet and orange",
"url": "media://example-image.jpg"
},
"pictureFit": "whole",
"pictureFocus": "centre",
"currency": "EUR",
"price": 49,
"oldPrice": 69,
"unitPrice": {
"per": "1 m²",
"value": 9.2
},
"validFrom": "2026-10-05T07:00:00+02:00",
"validUntil": "2026-10-10T20:00:00+02:00",
"footnote": "Previous price: our lowest in the 30 days before the offer. While stocks last, in the shop and online. All prices include VAT.",
"styleWords": {
"live": "LIVE",
"byline": "By",
"functionKeys": [
"HELP",
"DATA",
"CHART",
"NEWS"
],
"commandKey": "GO",
"realTime": "RT",
"messageLabel": "MSG",
"pictureLabel": "IMG"
},
"look": {
"theme": "auto",
"pace": "auto",
"corners": "auto",
"align": "auto",
"logo": "auto",
"logoSize": "auto",
"hideHeader": false,
"hideFooter": false,
"pattern": "auto"
}
},
"metaData": {
"title": "Arabica coffee beans for 6.99 euros instead of 9.49, this week at Hallam Market",
"captionTiny": "This week only at Hallam Market: dark roast Arabica coffee beans, 500 g, for 6.99 euros instead of 9.49. That is 13.98 euros per kilo. Valid 5 to 10 October.",
"captionShort": "This week only at Hallam Market: our dark roast Arabica coffee beans from the Huila highlands, 500 g whole beans, for 6.99 euros instead of 9.49, a saving of 26 percent. That is 13.98 euros per kilo. The offer is valid from Monday 5 to Saturday 10 October in all stores, while stocks last. The previous price is our lowest in the 30 days before the offer, and all prices include VAT.",
"captionMedium": "This week only at Hallam Market: our dark roast Arabica coffee beans from the Huila highlands, 500 g of whole beans, for 6.99 euros instead of 9.49, a saving of 26 percent. That is 13.98 euros per kilo. The beans are grown on small farms at 1,600 metres and roasted in our own roastery the week they reach the shelf, so they are at their best for a month after you open the bag. Grind them just before brewing for a full cup with notes of dark chocolate and red fruit, or ask in store and we will grind them for you, for a filter, a moka pot or an espresso machine. The offer is valid from Monday 5 to Saturday 10 October in all Hallam Market stores, while stocks last. The previous price is our lowest in the 30 days before the offer, and all prices include VAT.",
"captionLong": "This week only at Hallam Market: our dark roast Arabica coffee beans from the Huila highlands, 500 g of whole beans, for 6.99 euros instead of 9.49, a saving of 26 percent. That is 13.98 euros per kilo. The beans are grown on small farms at around 1,600 metres, picked by hand when the cherries are ripe, washed and dried in the sun, and roasted in our own roastery the week they reach the shelf. That is why the bag carries a roasting date rather than only a best-before date, and why they are at their best for a month after you open it. Grind them just before brewing for a full cup with notes of dark chocolate and red fruit and a low acidity that makes it easy to drink black. If you have no grinder, ask at the coffee counter and we will grind them for you while you wait, coarse for a French press, medium for a filter, fine for a moka pot or an espresso machine. Keep the beans in the closed bag or a tin, away from light and heat, and never in the fridge, where they take on moisture and other smells. The offer is valid from Monday 5 to Saturday 10 October in all Hallam Market stores, while stocks last, and not in the online shop. The previous price shown is our lowest price in the 30 days before the offer, and all prices include VAT. Prices and the store are illustrative.",
"hashtags": [
"offer",
"coffee",
"weeklyoffers",
"supermarket",
"deal"
]
}
}
}
La entrega no nombra ninguna versión: qué compilación la genera lo elige el canal, la más reciente de su variante o la que tenga fijada. eventId es un ULID que usted crea una vez por evento: enviar el mismo otra vez no cambia nada. occurredAt es cuándo ocurrió el hecho, no cuándo lo envió. locale es el idioma del texto en data, y data.locales contiene otros idiomas junto a él.