← back to Dw Marketing Reels
Fix live-post payload: send video_url (Norma reel.js contract), not mediaUrl — contrarian-caught silent 500
829f7fe93003d9f9cae67e6d05a008c9b451fc4a · 2026-07-13 01:58:31 -0700 · Steve Abrams
Files touched
M scripts/publish-social.mjs
Diff
commit 829f7fe93003d9f9cae67e6d05a008c9b451fc4a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jul 13 01:58:31 2026 -0700
Fix live-post payload: send video_url (Norma reel.js contract), not mediaUrl — contrarian-caught silent 500
---
scripts/publish-social.mjs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts/publish-social.mjs b/scripts/publish-social.mjs
index 5137851..84ffb7e 100644
--- a/scripts/publish-social.mjs
+++ b/scripts/publish-social.mjs
@@ -60,7 +60,9 @@ async function postInstagram(reel) {
const res = await withTimeout(fetch(`${acc.agentUrl || IG_URL}/api/skill/reel`, {
method: 'POST',
headers: { 'content-type': 'application/json', authorization: auth },
- body: JSON.stringify({ caption: reel.caption, mediaUrl, account: acc.id, source: 'dw-marketing-reels' }),
+ // Norma's reel skill contract (skills/reel.js): video_url + caption. `mediaUrl` was a
+ // silent field-name mismatch — the live path would have 500'd on first arm (contrarian find).
+ body: JSON.stringify({ video_url: mediaUrl, caption: reel.caption, account: acc.id, source: 'dw-marketing-reels' }),
}));
const txt = await res.text().catch(() => '');
let body = {}; try { body = JSON.parse(txt); } catch {}
← f6b331e auto-save: 2026-07-13T01:21:52 (3 files) — data/new-arrivals
·
back to Dw Marketing Reels
·
Pin SOCIAL_LIVE_ARMED=0 in nightly plist — schedule can neve 4321527 →