Social media posting automation
Scheduled Facebook and Instagram posts generated from your catalogue, with safety checks.
Every day, Raftul copiilor posts the night’s best real price drops to its Facebook Page and Instagram account, one at a time, from its own server. The software chooses the offers, draws each post’s picture, writes the caption from verified fields, checks the offer once more just before publishing, and stops when anything is uncertain.
The real Raftul copiilor page and profile: product cards, factual captions with the affiliate disclosure, and the way back to the site.
The public Raftul copiilor Facebook page and Instagram profile, recorded at about 8 frames per second. Published results only; nothing was posted during the recording. Synthetic English voice (Microsoft Edge TTS), English subtitles in the picture.
A publishing job inside the Raftul copiilor site. It reads the site’s own price-drop rules and database, so a post can never say something the site does not. Posts link to the product’s page on the site, not straight to the shop, and the commission is disclosed on the caption’s third line, visible before “more”.
It is deliberately conservative: a few posts a day per channel, never the same product or brand too often, and no post at all on a day without real price drops. The bar is never lowered to fill a schedule.

Only falls the site’s own front page trusts: today’s price against the lowest price observed in the 30 days before the fall, never a shop’s “old price”; at most 70%; the fall within 14 days; the price seen by three imports; and the shop’s last complete read finished today and still saw the offer.
| Setting | Default | Why |
|---|---|---|
| Minimum fall | 40% | On a measured day, 409 offers had fallen 40% or more. From 30% the list grew by 1,055, mostly one retailer’s sale. |
| Minimum saving | 25 lei | A big percentage of a small price is not worth a post. |
| Daily shortlist | 20 | At most 4 posts go out a day (3 on Facebook, 1 on Instagram). The rest of the list replaces offers that stop being true or fail a check during the day. |
| Per shop / brand / category | 5 / 2 / 3 | That same day, 95% of the 40% list came from a single shop. |
| Instagram per day | 1 | Instagram warned the account after its first 3 posts in 101 minutes. Raised slowly, only after weeks without a warning. |
| Same brand on a channel | 3 days apart | Variety, and less like a feed of ads. |
| Gap between channels | 60 min | The same moment and picture on both looked like cross-posting; a product posted on one is not posted on the other for 7 days. |
| Same fall again | never | A further fall may be posted after 7 days; the same product through another shop may not. |
Each card is a 1080×1350 JPEG, the only format Instagram accepts and its tallest feed shape. The product’s photo comes through the site’s own image proxy under the same safety rules; a shop that refuses the photo leaves no card, and the job moves to the next offer, because a logo is not a product.
Under the photo: the discount, today’s price against the reference price, the rule behind the comparison, the shop and the date the price was seen. No AI touches the card, so it says exactly what the data says.

Facebook posts link to the product’s page on raftulcopiilor.ro, where the shop buttons go through the affiliate link and are counted as the site’s clicks. On Instagram, where caption links cannot be clicked, the caption gives a short address to type and the profile links to /oferte: a page listing every posted product by day, with today’s price, so someone who saw a post days ago still finds it, at its current price.
Instagram posts also carry the “Paid partnership” label. If Instagram refuses it, the post fails and says so; turning the label off is the owner’s decision, not an automatic fix.


Both the Facebook Page and the Instagram account had warnings early on, and the software was shaped by them. A token, a permission, a block or an Instagram restriction (codes 2207050 and 2207051) pauses that channel until a person resumes it, because asking again deepens a restriction. Instagram’s own “share to Facebook” stays off, so a post is never published twice on the Page.
| When | What happens |
|---|---|
| Refused, or never sent | Nothing is public. That offer is dropped for the day; the channel tries the next one after a wait. |
| Token or permission gone, blocked, Instagram restricting the account | The channel pauses until someone resumes it, after looking at the app’s account status. |
| Answer lost, or Meta failed while publishing | The outcome is unknown and may be public, so that channel posts nothing until a person marks it published or failed. A duplicate is worse than a quiet day. |
| A run killed mid-post | Treated the same way after 15 minutes. |
There is no admin screen on purpose: these commands answer every question that came up so far.
statustoday’s pool, last posts, each channel’s next time and health in one linepreviewcards and captions for what would be chosen now; posts nothingexclude <listing>never post this offerresolve <id> published|failedsettle an unknown outcome after looking at the pageresume facebookrestart a channel after fixing what paused itcheckthe token still reaches both accountsPosts reach followers; ads reach new people. The Facebook ads automation tool turns one product link into a checked campaign with its own picture, video and audience.
The pipeline publishes to Facebook and Instagram only; the products’ TikTok and YouTube channels carry videos we upload ourselves. We publish no follower, reach or revenue figures. This is the publishing engine itself; the price alerts and the catalogue are described in the Raftul copiilor case study.
Yes, through Meta’s official Graph API, with a Facebook Page, an Instagram professional account linked to it, your own Meta app and a long-lived Page token. Standard access is enough for your own accounts.
It can. Raftul copiilor’s account was warned after three posts in 101 minutes. We now keep Instagram to one post a day, space channels apart, vary products and brands, and raise caps only slowly.
Not for prices. Captions are filled from verified data by templates, so a post never states a price the data does not support. AI-written variations can be added for softer content, reviewed before publishing.
Their posting APIs need an audit and a creator-controlled flow, so unattended posting to any account is not a safe promise. We check eligibility for your accounts first.
The offer is checked again when its turn comes, again after the card is drawn, and on Instagram once more before publishing. An offer that stopped being true is skipped.
Yes, from your catalogue, database, spreadsheet or API, in your brand. See our social media posting automation service.
Scheduled Facebook and Instagram posts generated from your catalogue, with safety checks.
Vertical videos and images from real screens, programmed motion and AI voices.
Price history, charts and drop detection from authorised data, with alert hooks.
Scheduled feed imports, matching and valid affiliate links across several networks.
Controlled AI jobs that classify and enrich data, with validation and a hard budget.
Linux servers with Docker, HTTPS, scheduled jobs, tested backups and safe deploys.
Tell us what you post and where the data lives. We build the rules, the cards and the safety checks around it.