Sindicación
La sindicación transmite las publicaciones de los canales de un espacio de trabajo a sus participantes: quien se suscribe en uno de los iframes de sus grupos. El espacio de trabajo crea grupos con sus canales, cada uno con un iframe propio que coloca en su propio portal. En él, un participante elige los canales del grupo que quiere y suscribe una dirección de correo electrónico y/o un webhook, según lo que permita el grupo, cada uno confirmado por correo, y recibe cada publicación de esos canales cuando se entrega al espacio de trabajo. De un participante no vuelve nada: no tiene clave ni informa de nada. La API llama a los participantes partners (/v1/syndication/partners), como la cuota del plan.
La sindicación forma parte de Enterprise. En cualquier otro plan, cada ruta de abajo que cambia, envía o renderiza algo responde 409, incluidas las vistas previas y los correos de prueba; leer sigue funcionando, y también eliminar un grupo y eliminar un participante, de modo que un espacio de trabajo que bajó de nivel todavía pueda limpiar lo que tenía. Cuántos participantes puede tener un espacio de trabajo es su cuota de participantes de sindicación, partners en GET /v1/syndication/settings, contando los que pueden recibir algo.
| Método | Ruta | Permiso |
|---|---|---|
GET | /v1/syndication/settings | syndication:read |
PUT | /v1/syndication/settings | syndication:write |
POST | /v1/syndication/preview | syndication:read |
POST | /v1/syndication/sender/test | syndication:write |
GET | /v1/syndication/groups | syndication:read |
GET | /v1/syndication/groups/{id} | syndication:read |
POST | /v1/syndication/groups | syndication:write |
PATCH | /v1/syndication/groups/{id} | syndication:write |
POST | /v1/syndication/groups/{id}/delete | syndication:write |
POST | /v1/syndication/groups/{id}/partners | syndication:write |
GET | /v1/syndication/partners | syndication:read |
GET | /v1/syndication/partners/{id} | syndication:read |
PATCH | /v1/syndication/partners/{id} | syndication:write |
POST | /v1/syndication/partners/{id}/delete | syndication:write |
GET | /v1/syndication/deliveries | syndication:read |
POST | /v1/syndication/deliveries/{id}/redeliver | syndication:write |
La vista previa es un POST solo porque lo que renderiza se envía como documento; no cambia nada, de modo que una clave que solo puede leer sindicación puede pedir una.
Grupos
curl -X POST http://localhost:4000/v1/syndication/groups \
-H "Authorization: Bearer rw_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "All channels",
"description": "Our daily clips, ready to post: choose the channels you want.",
"channelIds": ["01M1VFRWE7EWSY5D7QDQ0KNK1S", "01M1VFRWE7EWSY5D7QDQ0KNK1T"],
"byEmail": true,
"byWebhook": true,
"allowedOrigins": ["https://portal.example.com"]
}'
| Campo | Qué es |
|---|---|
name | El nombre propio del espacio de trabajo para él, hasta 80 caracteres. Nunca se muestra a los participantes. |
pageTitle | Opcional: el encabezado de su iframe, hasta 100 caracteres; null u omitido lee «Ready-to-post videos from» y el título de la imagen de marca. |
description | Opcional: lo que leen los participantes en la parte superior de su iframe, hasta 300 caracteres. |
channelIds | Sus canales, cada uno de los suyos y no eliminado, como máximo 500. El iframe los ofrece para elegir; con uno no hay nada que elegir, y todo participante lo recibe. Un id que no es de uno de sus canales es un 404 que lo nombra. |
byEmail, byWebhook | Cómo llegan sus publicaciones a los participantes: un correo con el kit de publicación, una llamada a su webhook, o ambos. Al menos uno; ambos por defecto. Decide el grupo, entregue como entregue cada uno de sus canales. |
allowedOrigins | Los sitios cuyas páginas pueden mostrarlo, como orígenes del tipo https://portal.example.com (una ruta se descarta), como máximo 20. Se envía como Content-Security-Policy: frame-ancestors de la página, y una página que nombra sitios no se abre por sí sola. Vacío u omitido es cualquier sitio. |
showHeader | Si la página muestra el logo y el título sobre sus tarjetas. true por defecto; false para un portal que lo enmarca bajo un encabezado propio. |
position | Solo PATCH: la posición del grupo en la lista, a partir de 0. |
Cada grupo vuelve con page.url, la dirección de su página, page.frame, el código del iframe que se copia en el HTML del portal (lleva allow="clipboard-write", para que los botones Copiar de la página funcionen dentro del marco), portalKey, la clave con la que firmar los ids de participante y las direcciones de correo (abajo), channels, cada uno de sus canales con su nombre, superficie, relación de aspecto e idioma, position y partners, cuántos se suscribieron en él. GET /v1/syndication/groups responde con todos en su orden, y GET /v1/syndication/groups/{id} con uno de ellos. PATCH cambia cualquiera de los campos anteriores; un canal añadido se ofrece a sus participantes como una nueva opción, y uno retirado ya no se transmite. POST .../delete lo elimina con su página y sus participantes. La dirección de una página nunca cambia: un grupo cuyo iframe se perdió se sustituye por un grupo nuevo. Mientras el espacio de trabajo no esté en Enterprise, la página de cada grupo responde 404.
Lo que llega a los participantes nunca depende de las vías de salida propias de un canal (deliverByEmail, deliverByWebhook, deliverByConnector): un canal con todas ellas desactivadas transmite igualmente sus publicaciones a todos los participantes cuyo grupo lo incluye. Al webhook de un participante se le dan cinco segundos para responder, y uno que no lo hace se reintenta en la escalera de reintentos, de modo que un receptor lento nunca retiene a los demás. GET /v1/syndication/deliveries es el registro de cada correo y llamada, y admite groupId junto a sus otros filtros; cada línea nombra su group.
Un número limita tanto los grupos como los participantes: la cuota de participantes de sindicación del plan. Un espacio de trabajo puede tener tantos grupos, y tantos participantes entre todos sus grupos juntos (solo cuentan los que pueden recibir algo), de modo que un grupo puede contenerlos todos, o cada grupo uno. Un grupo más se rechaza con 409 y una frase que nombra el número.
Cada grupo tiene además un secreto de firma de webhook, creado con él. Se muestra en el iframe del grupo, a los participantes, junto al campo del webhook. La única ruta que lo devuelve es la de añadir un participante con un webhook (abajo), una vez, para que el espacio de trabajo pueda transmitirlo; ninguna otra ruta lo devuelve.
La página le indica al marco que la rodea cuánto mide de alto con un postMessage de { type: "partner-frame:height", height }.
IDs de participante y direcciones de correo
Un portal que sabe quién ha iniciado sesión puede nombrarlo a la página, que entonces le muestra con qué se suscribió. Añada a la dirección del iframe dos valores para el id propio del portal para él, dos para su dirección de correo, o los cuatro:
<iframe src="https://reelwire.io/embed/<code>?participant=C-1001&sig_participant=<signature>&email=anna%40smith.test&sig_email=<signature>" ...></iframe>
participant es el id propio del portal para él, su ID de participante: de 1 a 100 caracteres imprimibles, sin espacio en ninguno de los extremos, codificado como URL en la dirección. sig_participant es el HMAC-SHA256 del id, con la portalKey del grupo como clave, en hexadecimal. email es su dirección y sig_email su firma, hecha del mismo modo, de la dirección tal como se pasa o en minúsculas. Con la dirección, la página no pide ninguna: las confirmaciones van a ella, y por ella se encuentra su suscripción. Haga cada firma en el servidor del portal:
import crypto from "node:crypto";
const key = process.env.REELWIRE_PORTAL_KEY;
const sig_participant = crypto.createHmac("sha256", key).update(participantId).digest("hex");
const sig_email = crypto.createHmac("sha256", key).update(email).digest("hex");
$key = getenv("REELWIRE_PORTAL_KEY");
$sig_participant = hash_hmac("sha256", $participantId, $key);
$sig_email = hash_hmac("sha256", $email, $key);
La clave nunca va a un navegador. Una página cuya dirección nombra a un participante o una dirección sin la firma correcta responde 403 y no muestra nada con lo que suscribirse, y también cualquier llamada de la página que lleve una: el id y la dirección deciden de quién es la suscripción que muestra la página, de modo que una sin firmar permitiría a cualquiera leer y cambiar la de otra persona editando la dirección. Un participante tiene una suscripción por grupo, y customerId muestra el id en el participante. Los primeros nombres de estos valores, customer, sig y esig, se siguen aceptando donde faltan los nuevos.
Suscribirse y darse de baja
En el iframe, un participante elige los canales que quiere, donde hay varios, y suscribe una dirección de correo, un webhook o ambos, según lo que permita el grupo, cada uno en su propia tarjeta. Cada suscripción, cambio de canales y baja se confirma por correo, en dos pasos: el enlace del correo abre una página de confirmación, y solo actúa el botón de esa página (GET pregunta, POST lo hace), de modo que un escáner de correo que abre enlaces no cambia nada:
- Una dirección de correo recibe un correo que pide confirmar la suscripción (
/v1/partner/confirm/...). No se le envía nada más hasta que se pulsa el botón de la página. La misma dirección no puede suscribirse dos veces a un grupo. - Un webhook se da con una dirección de correo desde la que confirmarlo, que no recibe publicaciones; no se pide donde el portal pasó una dirección o el participante dio una antes, y se conserva como
contactEmail. La confirmación (/v1/partner/webhook/...) lo convierte en el webhook del participante y lo llama con una prueba, firmada con el secreto del grupo, que el iframe muestra con código de ejemplo para Node.js, Python, PHP y C#. No se envía ninguna publicación hasta que una llamada de prueba haya respondido con un 2xx. El iframe siempre ofrece una prueba, antes de suscribirse y después: prueba la dirección mostrada o escrita, y solo cuenta una respuesta del webhook propio del participante. La prueba de una dirección que no es suya no conserva nada, y su ping no lleva ninguna notasyndication. - Suscribir / Actualizar, para alguien a quien el portal no nombró: una dirección o webhook que ya recibe obtiene un correo que pide confirmar los canales elegidos ahora (
/v1/partner/channels/...), y cambian al confirmarse. Los canales a los que se refiere una confirmación viajan en su enlace, de modo que quien recibe algo conserva sus canales hasta entonces. Un participante al que nombró el portal los cambia de inmediato. - Darse de baja envía la confirmación por correo: para los correos, a la dirección; para un webhook, a la dirección desde la que se confirmó; en uso o aún en espera por igual (
/v1/partner/stop/...,/v1/partner/webhook-stop/...). El enlace de baja de cada correo de publicación es la misma página, y elList-Unsubscribe-Postde un clic que envía una aplicación de correo actúa de inmediato. Un participante que se queda sin ninguna vía se elimina, con sus líneas del registro, en lugar de conservarse como no confirmado.
Un enlace de confirmación funciona tres días; el enlace de baja de un correo de publicación nunca caduca, ya que una salida que caduca no es una salida. Para alguien a quien el portal no nombró, cada respuesta es la misma tanto si la dirección o el webhook están suscritos como si no (neutral), de modo que la página nunca dice quién lo está. No hay cuenta ni página de ajustes: un webhook también se da de baja respondiendo a la llamada de una publicación con 410 Gone, y en ambos casos se puede volver a suscribir.
Cada botón del iframe es una llamada que la página hace a su propia dirección, POST /embed/<code>/ seguido de subscribe-email, subscribe-webhook, unsubscribe-email, unsubscribe-webhook o channels: pertenecen a la página, no a la API, y admiten diez llamadas por hora desde una dirección de internet. Enviar una llamada de prueba es POST /embed/<code>/test, veinte por minuto. A un participante se le envían como máximo cinco correos de confirmación al día, nunca dos en un minuto. Una página que nombra a su visitante pregunta cada cinco segundos a POST /embed/<code>/state si algo ha cambiado, de modo que una confirmación pulsada en un correo se muestra allí sin recargar. Los participantes que nunca confirman nada se eliminan al cabo de una semana.
Participantes
GET /v1/syndication/partners responde con una página de participantes, los más recientes primero, con total, page, perPage y room (used, los participantes que pueden recibir algo, y max, el máximo permitido). Admite q (un ID de participante, una dirección o un webhook), groupId, page, perPage (50 si se omite, hasta 500) y ascending. El panel muestra la misma lista por grupo, tras Participantes en la fila del grupo. GET /v1/syndication/partners/{id} responde con uno, dibujado como cada entrada de la lista:
{
"partner": {
"id": "01M3QZ2F6T0Y4G3X9J8K7N5B2C",
"label": "C-1001",
"customerId": "C-1001",
"source": "self",
"blocked": false,
"blockedAt": null,
"groupId": "01M3M6X0CB978K4MC4PC59706X",
"group": { "id": "01M3M6X0CB978K4MC4PC59706X", "name": "All channels" },
"channelIds": ["01M1VFRWE7EWSY5D7QDQ0KNK1S"],
"feeds": [{ "id": "01M1VFRWE7EWSY5D7QDQ0KNK1S", "name": "Daily news" }],
"paused": false,
"email": "anna@smith-invest.com",
"emailConfirmedAt": "2026-09-28T10:04:40.000Z",
"pendingEmail": null,
"pendingEmailAt": null,
"webhook": { "url": "https://smith-invest.com/hooks/posts", "since": "2026-09-28T10:02:11.000Z", "verifiedAt": "2026-09-28T10:03:02.000Z" },
"pendingWebhook": null,
"contactEmail": "anna@smith-invest.com",
"reachable": true,
"lastDelivery": null,
"createdAt": "2026-09-28T10:02:11.000Z",
"updatedAt": "2026-09-28T10:04:40.000Z"
}
}
label es como se conoce a un participante: su ID de participante (customerId) donde el portal lo nombró, si no su dirección, si no el host de su webhook, con «(not confirmed)» detrás en uno que aún espera. pendingWebhook (url, at) es un webhook dado en el iframe y a la espera de que su titular lo confirme por correo, y contactEmail es adonde van sus confirmaciones. channelIds y feeds son los canales de su grupo que recibe ahora. source es self para una suscripción en el iframe y owner para una que añadió el espacio de trabajo; blocked indica si el espacio de trabajo lo bloqueó, y desde cuándo. reachable indica si algo puede llegarle ahora, y lastDelivery es la línea más reciente del registro para él (state, mechanism, event, at, error).
PATCH /v1/syndication/partners/{id} cambia solo los campos que recibe:
| Campo | Qué hace |
|---|---|
paused | Mientras está en pausa no se envía nada, y nada espera para más tarde. |
blocked | No se envía nada, la misma dirección, webhook o ID de participante no puede volver a suscribirse en el grupo, y no cuentan contra la cuota. false lo desbloquea. |
customerId | Su ID de participante, el propio del espacio de trabajo, uno por grupo; null lo borra. |
channelIds | Sus canales, de los del grupo, al menos uno donde el grupo tiene varios. |
email | Otra dirección recibe un correo que pide a su titular confirmarla, y la respuesta lo dice en pendingEmail; la dirección confirmada sigue recibiendo hasta entonces. null detiene los correos. |
webhookUrl | Otro webhook se llama de inmediato con una prueba, la respuesta lleva test, y recibe publicaciones cuando responde con un 2xx. null lo elimina (también webhook: null). |
Una dirección o webhook que ya tiene otro participante del grupo, o uno bloqueado, se rechaza con 409, y también el ID de participante de otro. Cuando el correo de confirmación no pudo salir en ese momento, la respuesta lleva letterProblem con el motivo, y el resto del cambio se conserva igualmente. POST /v1/syndication/partners/{id}/delete elimina a un participante definitivamente, con sus líneas del registro, y puede volver a suscribirse. Eliminar a un participante bloqueado termina el bloqueo con él, así que bloquee a quien deba quedar fuera en lugar de eliminarlo.
POST /v1/syndication/groups/{id}/partners añade un participante en nombre del espacio de trabajo, con los mismos campos que el iframe: channelIds (donde el grupo tiene varios), email y/o webhookUrl según lo que permita el grupo, y un ID de participante opcional, customerId. Responde 201 con el partner (source owner), pendingEmail donde salió un correo de confirmación (una dirección la confirma su titular, quienquiera que la añadiera), letterProblem donde no pudo salir, test donde se llamó a un webhook y, con un webhook, webhookSecret: el secreto de firma del grupo, una vez, para que el espacio de trabajo lo transmita. La misma dirección, webhook o ID de participante que ya esté en el grupo se rechaza con 409, y también uno bloqueado, y también cualquier nuevo una vez alcanzada la cuota.
Lo que recibe un participante
Cada entrega de un canal que toma un participante se le transmite, por las vías que permita su grupo, sean cuales sean las vías por las que el canal le entrega a usted, o ninguna. Un canal que pide aprobación transmite una publicación una vez aprobada. Una actualización o una eliminación va solo a los participantes a quienes se dio esa publicación; el reenvío de una publicación a su propia gente no se transmite. A un participante en pausa no se le envía nada. Si un espacio de trabajo tiene más participantes que su cuota, se atiende primero a los más antiguos.
Para transmitir una publicación de nuevo, POST /v1/jobs/{id}/resend-participants (posts:write) la envía, tal como se lee ahora, a cada participante cuyo grupo incluye el canal; un 409 donde ningún grupo con alguien suscrito lo incluye. Consulte Enviar una publicación de nuevo.
Por correo electrónico
Un correo con su imagen de marca: «Your video is ready to post», «This post changed», «Please take this post down», con un botón al kit de publicación del participante. El kit tiene el video para descargar o compartir, su portada, el texto con un botón de copiar y un prompt para un asistente de IA, y nada con lo que informar. Su enlace funciona 14 días. Todo correo termina con un enlace para detenerlos, que es también su encabezado List-Unsubscribe. Cada correo que recibe un participante, las confirmaciones incluidas, nombra la suscripción en un recuadro bajo su primera línea: el pageTitle del grupo (o «Ready-to-post videos from» y el título de la imagen de marca) y los canales de que se trata, cada uno con su plataforma, formato e idioma; el correo que pide confirmar una suscripción lleva además la description del grupo.
Por webhook
El mismo documento que su propia llamada de webhook (Webhooks), con los mismos encabezados, firmado del mismo modo con el secreto del grupo, y:
channelscontiene solo los canales que toma el participante;deliveryIdes el propio del participante, yattemptcuenta sus reintentos;syndicationindica que se transmitió:{ "partnerId": "...", "from": "Acme Markets" };- en una publicación,
omittednombra solo canales que toma; - quién aprobó una publicación (
approvedBy,approvedAt), la lista de publicaciones o el stream de donde vino, el título de una publicación manual y los canales que no toma se omiten.
postId identifica una publicación a lo largo de un post.update o post.delete posterior; un participante no puede informar contra él. La llamada de prueba es un ping con el mismo syndication.
Una llamada que no se responde con un 2xx en cinco segundos se reintenta tras 10 segundos, un minuto, 5 minutos, 15 minutos, una hora y dos horas, y después se rinde; un correo que rechaza el servidor de correo sube por la misma escalera. Una llamada respondida con 410 Gone quita el webhook, y su línea lee SKIPPED; un participante que se queda así sin ninguna vía se elimina después en el barrido horario, con sus líneas.
Imagen de marca y ajustes de correo
GET /v1/syndication/settings responde con lo guardado (look y sender, null donde rige el valor predeterminado), a lo que equivale (effective), los valores predeterminados, el dominio de envío y la cuota. sender indica además cómo van los correos:
{
"sender": {
"name": null,
"local": null,
"replyTo": "desk@acme-markets.com",
"mode": "smtp",
"smtp": {
"host": "mail.acme-markets.com",
"port": 587,
"security": "starttls",
"user": "no-reply@acme-markets.com",
"from": "no-reply@acme-markets.com",
"password": true
}
}
}
password solo indica si se conserva una: ninguna ruta devuelve la contraseña en sí.
PUT /v1/syndication/settings guarda cualquiera de estos; null devuelve uno a su valor predeterminado:
| Campo | Qué establece |
|---|---|
title | Junto al logo en la parte superior, hasta 80 caracteres. Por defecto: el nombre del espacio de trabajo. |
footer | Bajo la tarjeta, hasta 600 caracteres. Los saltos de línea se conservan. |
logo | media://<id> de un PNG, JPEG o GIF de la biblioteca multimedia, como máximo 512 KB. |
background, card, accent, signature | Colores como #RRGGBB: la página, la tarjeta, los botones y enlaces, el título y los encabezados. |
font | La fuente de la página de cada grupo y de las páginas que abren los correos, { font, size, file }: font una de las fuentes preinstaladas que puede usar una marca (como inter; open-sans donde se omite), size de 0,8 a 1,4 (por defecto 1) y file un archivo de fuente de la biblioteca multimedia (media://<id>, WOFF2, WOFF, TTF u OTF) que se usa en su lugar. null es la habitual. Se aplica a las páginas y a los correos; una aplicación de correo que no carga fuentes web muestra la más cercana que tiene. |
senderName | El nombre de la línea De, hasta 60 caracteres, sin ", <, >, @ ni \. Por defecto: el título. |
senderMode | Cómo van los correos: reelwire, desde una dirección del dominio de envío de Reelwire a través del servicio de correo de Reelwire (el valor predeterminado), o smtp, a través del servidor de correo propio del espacio de trabajo. Uno u otro. |
senderLocal | Con reelwire: la parte anterior a la @ de la dirección de envío, en el dominio de envío de Reelwire: de 2 a 40 letras minúsculas, dígitos, puntos y guiones, que empiece y termine en una letra o un dígito. No hay ningún buzón detrás. Las direcciones propias de Reelwire (support, billing, no-reply y similares) y todo lo que tenga «reelwire» dentro se rechazan, y una desde la que envía otro espacio de trabajo es un 409. Por defecto: la dirección no-reply de Reelwire. |
smtpHost | Con smtp: el servidor de correo, como mail.example.com. Debe estar en internet: un nombre o dirección dentro de una red privada se rechaza. |
smtpPort | Con smtp: 587, 465, 25 o 2525, los puertos por los que se envía correo. |
smtpSecurity | Con smtp: starttls (habitual con 587), tls (465) o none. |
smtpUser, smtpPassword | Con smtp: el inicio de sesión de la cuenta de correo. La contraseña se conserva cifrada; una vacía o ausente conserva la almacenada. |
smtpFrom | Con smtp: la dirección desde la que vienen los correos, una como la que la cuenta puede enviar. |
replyTo | Adónde va la respuesta de un participante: una dirección que pueda recibir correo. |
Con smtp, todos sus campos deben estar definidos, y el servidor se prueba antes de guardar nada sobre él: uno que no responde o no admite el inicio de sesión es un 400 que cita el servidor, y no se guarda nada.
Todos los demás colores se derivan de los cuatro: las palabras son oscuras o claras según sobre qué estén. La misma imagen de marca la llevan el iframe de cada grupo, cada correo y el kit de publicación, y ninguno lleva el nombre de Reelwire, salvo donde no están definidos ni logo ni title: entonces el logo y el nombre de Reelwire aparecen arriba (effective.house es true), y los textos usan el nombre del espacio de trabajo.
POST /v1/syndication/preview muestra lo que ve un participante, con la imagen de marca guardada y con lo que haya en draft superpuesto:
kind | Qué muestra |
|---|---|
post (el valor predeterminado) | El correo de que una publicación está lista: su subject, from, replyTo, html y text. |
confirm | El correo que pide a una dirección nueva que confirme, en los mismos campos. |
kit | El kit de publicación que abre un correo, como html: construido a partir de la publicación más reciente de los canales del grupo donde la hay (sample: false), y si no a partir de una muestra. |
page | La página de registro de un grupo, como html, con sus botones desactivados y un marcador de posición donde va el secreto de firma. |
groupId nombra el grupo cuyos canales y vías muestra. group (pageTitle, description, channelIds, byEmail, byWebhook, showHeader) superpone valores sin guardar a los de ese grupo, o hace las veces de un grupo aún no creado, que es como Lo que ven los participantes en el diálogo del grupo muestra la página, un correo y el kit de publicación antes de guardar nada.
POST /v1/syndication/sender/test envía un correo de prueba con la imagen de marca, del modo en que lo indican los ajustes guardados con lo que haya en draft superpuesto (los mismos campos que PUT), de modo que se pueda probar un servidor de correo antes de guardarlo. Va a la persona con sesión iniciada o, con una clave de API, al propietario del espacio de trabajo, y a nadie más. Responde { "ok": true, "to": "...", "via": "smtp", "state": "sent", "error": null }: state es sent, skipped donde esa dirección no puede recibir correo, o failed, con las palabras propias del servidor de correo en error. Diez por minuto.
El registro
GET /v1/syndication/deliveries lista cada correo (EMAIL) y llamada de webhook (WEBHOOK) a un participante, los más recientes primero, como lo muestra la tarjeta Registro de sindicación de la pantalla Sindicación: partnerLabel (su ID de participante, dirección o host del webhook), group, event, channels, state (PENDING, DELIVERING, DELIVERED, RETRYING, DEAD o SKIPPED donde la vía había desaparecido cuando le tocaba), attempt, adónde fue (target) y lo que volvió (lastStatusCode, lastError). Admite partnerId, groupId, state, mechanism, event, q, ascending, page y perPage (50 si se omite, hasta 200), y responde total, all (cada línea, sin filtrar) y facets, los valores que puede tomar cada filtro.
POST /v1/syndication/deliveries/{id}/redeliver envía una línea de nuevo desde su primer intento: un correo con un enlace nuevo al kit de publicación, una llamada con los enlaces de sus clips firmados de nuevo. Una línea que aún está en camino es un 409.
A través de un asistente de IA
Todo lo de esta página es una herramienta del conjunto de sindicación, listada en /mcp/all y que se encuentra desde /mcp con reelwire_find_tools: reelwire_list_syndication_groups, reelwire_add_syndication_group, reelwire_update_syndication_group y reelwire_remove_syndication_group para los grupos; reelwire_list_partners, reelwire_add_subscriber (añadir un participante), reelwire_update_partner y reelwire_remove_partner para los participantes; reelwire_syndication_settings, reelwire_set_syndication_look, reelwire_syndication_preview y reelwire_syndication_test_email para la imagen de marca y los correos; reelwire_list_partner_deliveries y reelwire_resend_to_partner para el registro. Consulte Todas las herramientas.