1. Overview
Zalo publishing goes through the genericPOST /v1/posts endpoint, the same one used for every other platform: there are no Zalo-specific publishing endpoints. A target pointing at a connected Zalo account creates an article on that Official Account.
2. Create an article
text becomes the article title if no separate title is set, and also becomes the article body content.
Asynchronous creation
Article creation on Zalo is asynchronous. After SocialAPI submits the article, Zalo returns a processing token rather than a finished article, and SocialAPI polls Zalo’s verification endpoint until the article is published and a final article ID is available. While the article is still processing, Zalo’s verification check returns its own in-progress code, and SocialAPI keeps polling. If the article is still processing once the poll budget is exhausted, the target lands in a failed state carryingplatform.zalo.article_processing. The article may still finish publishing on Zalo’s side, so check the Official Account before retrying, otherwise you risk publishing a duplicate.
Draft validation
Before an article is created, SocialAPI validates the draft. Zalo requires a title: if both the title and text are empty, the draft is rejected with:text is, the title falls back to text, so a normal post with only text set passes validation.
3. Update an article
4. Delete an article
5. List articles
sort=scheduled_asc; pass sort to change the order. Each post includes a targets array with the per-platform status.