I am integrating the WIX Blog Create Draft Post API (Create Draft Post) into my application. The API requires the content to be in the Ricos document format.
I’ve attempted to convert plain text or HTML into the Ricos format using ChatGPT, but I keep encountering token limitations, leading to incomplete or invalid JSON structures.
As an alternative, is it possible to submit the blog content directly as plain text or HTML, or is the Ricos format mandatory for this API? If Ricos is required, are there libraries, utilities, or recommended methods to handle this conversion more effectively?
Just curious, do you actually need the Draft Post API for your application? Understanding your use case could provide more clarity. If you’re aiming to handle this programmatically, you might want to check out the ricos-content library:
I am trying to automate the creation of a post via Zapier and the WIX REST API. I have all other pieces implemented and working (TEXT/HTML Content Creation, Tagging, Categorization etc). is there an alternative way of doing this other than Draft Post API?
What about recreating the blog page using a dynamic page linked to a CMS collection instead? Then you can send data from Zapier into your CMS instead of having to use ricos format. Direct Zapier integration for CMS is still being voted for but there is a workaround using automations. Should be possible with Velo too.
Wix serves as the CMS. Behind every Wix app there is a cms collection (or database) linking all of that data to the app. So, when you are attempting to use your current method to retrieve this data using the create draft api, you are eventually putting this data into the wix blog posts collection in the back end. However, you are often constrained by the limitations of the app interface. You can use your own CMS collection to store your data and link it to elements on a custom-designed blog post page. You’re essentially recreating the functionality of the Wix Blog App by manually designing and populating the blog page using data from your own wix collection. By doing this it provides the flexibility to send data to the collection through external tools like Zapier, using plain text or HTML.
CMS Collections are another built in feature in wix, you can access via the editor nav panel
Ideally, it would be great to directly add this data to Wix’s native blog post collection which powers the blog app. It would prevent from having to redesign your own dynamic blog page:
However, this appears to only be possible through the app interface or, alternatively, by using the Create Draft API which brings us back to the same problem. That’s why I proposed creating your own collection and rebuilding the elements of the blog page. It will give you what you’re looking for.
I understand this might not be the answer you were hoping for, but I’m here to help if needed. If redesigning the page seems like a lot of work, I am already so used to rebuilding the wix stores and wix blog pages manually so I can do this for you very quickly.
This seems like a workaround that essentially requires me to rebuild a website of a client just because of one integration that is not working. i was looking for a more reasonable solution.
Unfortunately, yes. But you would only need to dynamically rebuild one page—the page where the post is displayed. If you’re working with the basic blog post page design included in the Wix Blog App, I could likely do this in about an hour or so as I have done so on many occasions simply due to design contraints of the built in apps. So, while it’s admittedly an inconvenience, the task is not as overwhelming as it might initially seem.
This is often the solution when faced with the limitations of Wix’s built-in apps. Rebuilding them in some way using cms and velo which unlocks more capabilities. Wix’s built-in apps are powered by internal code which can restrict access and customization.
You would only need to redesign the page once, it will then be used to load data from the collection dynamically. Hope that clarifies but if not I’m happy to explain further!