Documentación

Publicidad: comandos CLI

Compra anuncios en una red que te invitó o vende pausas publicitarias en tus pantallas: redes, inventario, espacios, campañas, informes.

Cada comando se ejecuta como describe la referencia de la CLI: banderas globales, salida JSON, códigos de salida, revisiones y reintentos.

Publicidad

Compre publicidad en una red que lo invitó, o venda pausas publicitarias en pantallas que posee. Lea primero screenrig project capabilities: comprar requiere la función advertiser, vender requiere pantallas propias. El dinero se informa como cadenas decimales mcr, donde 10,000,000 mcr son US$1. Ejecute screenrig ads COMMAND --help --json para cada bandera. El flujo de compra y venta está en Inicio rápido; tarifas y cargos en Precios.

ads networks#

Comprador: liste las redes a las que este proyecto fue invitado e inspeccione el inventario y espacios permitidos de una red.

ads networks list
ads networks show <seller-project-id>
screenrig ads networks list

ads network#

Vendedor: inspeccione o cree la red propia de este proyecto y establezca su tarifa predeterminada.

ads network show
ads network create --name NAME
ads network rate --rate-mcr-per-15s MCR --expect-rev REVISION
screenrig ads network rate --rate-mcr-per-15s 1000 --expect-rev 3

--name tiene como máximo 120 caracteres. --rate-mcr-per-15s es un número entero positivo de mcr por cada 15 segundos de reproducción completada, y --expect-rev es la revision de la red según ads network show. Un cambio en la tarifa efectiva pausa las campañas afectadas hasta que cada comprador acepte una cotización nueva.

ads inventory#

Vendedor: incluya o excluya una pantalla propia de la publicidad y descríbala a compradores invitados.

ads inventory list
ads inventory update <screen-id> [--enabled | --disabled] [--site-name NAME]
    [--city CITY] [--region REGION] [--venue-type TYPE] [--audience-tags TOKENS]
    [--placement TEXT] [--public-description TEXT]
    [--rate-mcr-per-15s MCR | --clear-rate]
    [--impressions-per-hour N | --clear-impressions-per-hour] [--expect-rev REVISION]
screenrig ads inventory update scr_LOBBY --enabled --venue-type cafe

Las banderas omitidas mantienen sus valores actuales. Una nueva fila de inventario necesita --enabled o --disabled. --impressions-per-hour registra su estimación de las impresiones que la pantalla ofrece en una hora: cada reproducción completada cuenta entonces esa estimación multiplicada por los segundos reproducidos y dividida entre 3600 como estimated_impressions en ads reports spend, ads reports delivery y ads direct report.

update necesita al menos una bandera. --audience-tags admite hasta 20 etiquetas separadas por comas, cada una de como máximo 32 letras, dígitos o guiones bajos. --clear-rate devuelve la pantalla a la tarifa predeterminada del proyecto y --clear-impressions-per-hour elimina la estimación. --expect-rev reemplaza la revisión almacenada de la fila como condición previa y se rechaza para una pantalla que aún no tiene fila.

ads slots#

Vendedor: defina espacios publicitarios reutilizables. Un espacio no cambia nada en la pantalla hasta que su página de espacio publicitario se coloca en una lista de reproducción.

ads slots list
ads slots create --name NAME --accepted-media image,video
    [--max-image-duration-ms MS] [--max-video-duration-ms MS]
    [--rate-mcr-per-15s MCR | --clear-rate] [--enabled | --disabled] [--vast-tag-url URL]
ads slots update <slot-id> --expect-rev REVISION [--name NAME]
    [--accepted-media image,video] [--max-image-duration-ms MS] [--max-video-duration-ms MS]
    [--rate-mcr-per-15s MCR | --clear-rate] [--enabled | --disabled]
    [--vast-tag-url URL | --clear-vast-tag-url]
screenrig ads slots create --name "Lobby break" --accepted-media image,video
screenrig ads slots create --name "Lobby video" --accepted-media video --vast-tag-url https://ads.example.com/vast.xml
screenrig ads slots update ads_LOBBY --clear-vast-tag-url --expect-rev 2

Un espacio nuevo está habilitado a menos que se indique --disabled. --accepted-media es image, video o ambos, separados por comas. Los límites de duración omitidos son de 30000 ms; el límite de una imagen va de 5000 a 30000 ms y el de un video de 5000 a 120000 ms. --rate-mcr-per-15s es un número entero positivo que sustituye la tarifa de la pantalla o del proyecto para este espacio, y --clear-rate elimina la sustitución. update conserva cada campo que omita, y un cambio en la tarifa efectiva pausa las campañas afectadas hasta que cada comprador acepte una cotización nueva. --vast-tag-url es una URL HTTPS de como máximo 2048 caracteres.

--vast-tag-url establece la propia etiqueta de anuncio VAST 2-4 del vendedor, que se prueba cuando ninguna campaña invitada llena el espacio en sus propias pantallas; el espacio debe aceptar video. La URL es HTTPS en el puerto 443 o 8443 a un host público. El backend la recupera, sigue hasta cinco Wrappers, ingiere el MP4 o WebM progresivo elegido en los contenidos del proyecto, y dispara Impresión, creativeView y start en un inicio aceptado, complete en una finalización aceptada, y Error en fallo; no hay rastreadores de cuartiles. Las macros [CACHEBUSTING], [TIMESTAMP], [SCREENRIG_SCREEN_ID], [SCREENRIG_SLOT_ID] y [SCREENRIG_PAGE_ID] se expanden, y los compradores nunca ven la etiqueta. En update, --vast-tag-url reemplaza la etiqueta y --clear-vast-tag-url la elimina; los dos no se combinan, y omitir ambos mantiene la etiqueta almacenada. ads slots list muestra vast_tag_url al vendedor propietario. Un espacio que nada puede llenar en una pantalla (sin etiqueta VAST y, en una pantalla activada para publicidad, sin campaña directa que no haya terminado ni campaña invitada activa, pendiente o en pausa que lo nombre) se deja fuera del manifiesto de esa pantalla, y screen show lo lista en ad_quiet_slots, para que el Player deje de pedirlo. Una campaña, etiqueta o activación que pueda llenarlo lo devuelve.

Advertising invitations#

Utilice los comandos compartidos invitations arriba:

screenrig invitations create --kind ad-buyer --email owner@bakery.example --screen-id scr_LOBBY --policy review_required
screenrig invitations list --kind ad-buyer
screenrig invitations revoke ID

Una invitación de comprador de anuncios se envía por correo, nunca por enlace, y necesita al menos un --screen-id o un --slot-id (separados por comas). --policy es trusted (el valor por defecto) o review_required.

La persona invitada acepta en el dashboard. Una persona conectada selecciona su proyecto de compra y confirma con una prueba de passkey reciente. Una persona sin inicio de sesión crea uno y un proyecto solo para anunciantes durante la aceptación.

ads memberships#

Vendedor: cambie o revoque la política de revisión y el alcance de inventario de un comprador admitido.

ads memberships list
ads memberships update <membership-id> --expect-rev REVISION
    [--policy trusted|review_required] [--screen-id IDS] [--slot-id IDS]
ads memberships revoke <membership-id>
screenrig ads memberships list

update conserva la política y el alcance almacenados para las banderas omitidas. trusted reproduce los creativos del comprador sin revisión; review_required retiene cada versión de creativo para su decisión. --screen-id y --slot-id reciben ids separados por comas y reemplazan toda la lista; un valor vacío no permite ninguno.

La revocación detiene nuevas reproducciones de anuncios y mantiene el historial financiero.

ads creatives#

Comprador: vincule medios propios listos a una creatividad inmutable con copia aprobada.

ads creatives list
ads creatives create --media-id ID --copy TEXT
ads creatives show <creative-id>
screenrig ads creatives create --media-id med_123 --copy "Fresh bread daily"

Vincular un creativo no cobra nada y no vuelve a subir el medio. Un creativo aprobado nunca cambia en su lugar: edite el medio de origen y vincule un creativo nuevo. --copy tiene como máximo 500 caracteres. show enumera la revisión del creativo por cada red de vendedor (pending, approved, rejected o changes_requested) con el motivo del vendedor.

ads campaigns#

Comprador: redacte una campaña, asígnele precio y actívela aceptando la cotización.

ads campaigns list
ads campaigns show <campaign-id>
ads campaigns create <file>
ads campaigns update <campaign-id> <file> --expect-rev REVISION
ads campaigns preview <campaign-id> [--expect-rev REVISION]
ads campaigns activate <campaign-id> --quote-id ID --expect-rev REVISION
ads campaigns pause <campaign-id> --expect-rev REVISION
ads campaigns resume <campaign-id> --expect-rev REVISION
ads campaigns accept-rates <campaign-id> --quote-id ID --expect-rev REVISION
screenrig ads campaigns preview cmp_123

Un borrador no reserva nada. preview devuelve una cotización con tiempo limitado y no gasta nada; activate requiere esa cotización exacta. Tras un cambio de tarifa del vendedor, solo accept-rates con una cotización nueva reanuda la campaña.

<file> es un archivo JSON, o - para la entrada estándar, y update reemplaza un borrador con el documento completo. El borrador indica name, daily_cap_mcr, lifetime_cap_mcr (como mínimo el límite diario), flight_start y flight_end (RFC 3339) y networks, una entrada por cada red de vendedor a la que se unió el proyecto, cada una con seller_project_id, screen_ids, slot_ids, creative_ids y, opcionalmente, venue_types, cities, tags, dayparts y network_cap_mcr. Los campos monetarios son cadenas mcr decimales, nunca números. image_duration_ms (de 5000 a 30000, diez segundos si se omite) fija cuánto tiempo se muestra una imagen, y max_play_price_mcr limita el precio de una reproducción; omítalo para no tener tope.

Un borrador de campaña admite un category opcional de la lista de categorías de anunciantes. Dos anuncios de la misma categoría nunca se reproducen en la misma pausa publicitaria de una pantalla.

preview lee la revisión actual de la campaña, a menos que --expect-rev indique una. pause detiene las nuevas reservas; las reproducciones ya iniciadas terminan y se liquidan a su precio reservado. resume reanuda una campaña pausada manualmente y no puede levantar una pausa por cambio de precio.

ads direct#

Vendedor: reserve sus propios acuerdos para anunciantes ajenos a screenRIG en sus propias pantallas.

ads direct list
ads direct show <campaign-id>
ads direct create <file>
ads direct update <campaign-id> <file> --expect-rev REVISION
ads direct pause <campaign-id> --expect-rev REVISION
ads direct resume <campaign-id> --expect-rev REVISION
ads direct end <campaign-id> --expect-rev REVISION
ads direct availability <file>
ads direct report <campaign-id> [--from TIME] [--to TIME]
    [--format json|csv|xlsx|pdf] [--output FILE|-]
screenrig ads direct create campaign.json

Un borrador indica name, advertiser, un category opcional, flight_start y flight_end, media_ids (de 1 a 20 de sus propias imágenes o videos listos), un goal_plays opcional, un price opcional (model cpm por mil reproducciones o flat, con un amount y un currency ISO 4217), un image_duration_ms opcional (de 5000 a 30000, diez segundos si se omite) y la segmentación: screen_ids, slot_ids, venue_types, cities, tags y dayparts (como {"days": ["mon"], "start": "11:00", "end": "14:00"}), donde una lista vacía significa todas las pantallas o espacios inscritos. Una campaña directa llena una pausa publicitaria antes que los compradores invitados. Un objetivo se reparte de forma uniforme durante la vigencia y se reproduce primero mientras va atrasado; una campaña sin objetivo toma cada espacio apto durante su vigencia. No se mueve dinero a través de screenRIG: usted factura al anunciante y el precio da valor al informe.

<file> es un archivo JSON, o - para la entrada estándar. category, aquí y en un borrador de campaña, es uno de alcohol, apparel, automotive, beauty, cannabis, consumer_electronics, education, entertainment, financial_services, food_and_beverage, gambling, government, grocery, health_and_pharma, home_and_garden, insurance, jobs, legal, media, political, quick_service_restaurants, real_estate, restaurants, retail, sports_and_fitness, technology, telecom, tobacco_and_vaping, travel o utilities. update reemplaza todos los campos editables, así que envíe el documento completo. pause impide que una campaña tome espacios publicitarios y resume la restablece; una campaña con objetivo que se atrasó durante la pausa se reproduce primero hasta ponerse al día. end es definitivo: una campaña terminada no se reproduce más, no puede reanudarse y conserva su informe.

availability lee una consulta con la misma segmentación y vigencia y estima las reproducciones que aún puede reservar: las ocurrencias recientes de espacios publicitarios de las pantallas seleccionadas, menos las reproducciones que sus otros objetivos directos aún necesitan. Responde con estimated_plays, booked_plays y available_plays, y exclude_campaign_id deja fuera de booked_plays la campaña que está editando. Un objetivo por encima de la estimación devuelve goal_overbooked a menos que el borrador establezca "overbook": true.

report enumera las reproducciones frente al objetivo, el ritmo, el valor, las reproducciones que no se emitieron, y filas por día UTC, pantalla, espacio y medio. --from y --to aceptan un instante RFC 3339, now o una antigüedad como 7d, 12h o 30m, y por defecto abarcan la vigencia. --format csv, xlsx o pdf escribe las filas en --output (por defecto ./direct-report-CAMPAIGN_ID.FORMAT) y responde con su ruta, bytes y SHA-256; con --format csv, --output - escribe el CSV en la salida estándar. Las columnas del CSV son day, screen_id, slot_id, media_id, plays, played_ms y estimated_impressions. Un informe JSON o CSV enumera como máximo 5000 filas y lleva la advertencia direct_report_truncated cuando hay más: acote --from y --to para obtener el resto.

Crear, reemplazar y reanudar una campaña directa, availability y report requieren un plan que incluya campañas directas; los demás planes se rechazan con feature_not_in_plan. screenrig project capabilities enumera las funciones del plan.

ads reviews#

Vendedor: apruebe, rechace o solicite cambios a versiones creativas exactas enviadas por compradores en review_required.

ads reviews list
ads reviews show <review-id>
ads reviews approve <review-id>
ads reviews reject <review-id> --reason TEXT
ads reviews request-changes <review-id> --note TEXT
screenrig ads reviews request-changes arv_123 --note "Use the new logo"

request-changes envía su nota al comprador. Para enviar la revisión, vincule el contenido multimedia revisado a una nueva creatividad, agréguela a una nueva campaña y ejecute preview y activate con la nueva cotización. La campaña de reemplazo tiene su propio presupuesto e historial de revisiones. Pause la campaña original antes de activar su reemplazo para evitar emisiones superpuestas. Las personas deciden sobre las creatividades en la página Revisiones del panel, junto con los cambios de listas de reproducción y pantallas.

list muestra las versiones de creativo a la espera de su decisión y show un envío con su creativo exacto. --reason y --note son obligatorios y tienen como máximo 500 caracteres; el comprador los lee en el creativo (ads creatives show). Decidir requiere acceso Administrar.

ads reports#

Leer gastos como comprador o entregas como vendedor.

ads reports spend --campaign-id ID [--format json|csv|xlsx|pdf] [--output FILE]
ads reports delivery --from TIMESTAMP --to TIMESTAMP
    [--format json|csv|xlsx|pdf] [--output FILE]
ads reports fill [--from TIME] [--to TIME] [--format json|csv|xlsx|pdf] [--output FILE]
screenrig ads reports delivery --from 2026-09-01T00:00:00Z --to 2026-10-01T00:00:00Z

Informes de entrega brutos, tarifa de servicio y neto para el período. Un informe de comprador nunca muestra otros ingresos del vendedor. fill muestra, para hasta 35 días, cuántas ocurrencias de espacios publicitarios pidieron sus pantallas, cuántas llenaron las campañas directas, los compradores invitados y su etiqueta VAST, y por qué el resto quedó vacío: no_demand, ineligible, separated o capped.

--format csv, xlsx o pdf escribe el informe como archivo en --output (por defecto ./ad-spend.FORMAT, ./ad-delivery.FORMAT o ./ad-fill.FORMAT) y responde con su ruta, bytes y SHA-256; json es el valor por defecto e imprime el sobre. delivery necesita --from y --to como instantes RFC 3339 y enumera una fila por ocurrencia completada, como máximo 5000, con truncated activado cuando hay más; los totales cubren cada liquidación. fill acepta un instante RFC 3339, now o una antigüedad como 7d, 12h o 30m: --from es por defecto 7 días antes de --to, --to es ahora, con un máximo de 35 días de diferencia, ampliados a horas UTC completas.

Otros grupos de comandos