平台、Unified 实体、供应商、API 和连接器。
在你连接的社媒账号上发布、排期帖子并查看数据。一次发帖请求可以发到 TikTok、Instagram、X、YouTube、Facebook、LinkedIn、Pinterest、Threads 和 Reddit,收件箱可以回复评论和私信。
所有供应商共用一个 Key。这里调用的是 List groups。 按量计费
返回的是 AIsa Social 自己的 JSON,原样透传。
AIsa 为 AIsa Social 提供的全部 API,以 api.aisa.one 当前列出的为准。点击路径可打开它在文档中的页面。
/apis/v1/social/account-groupsList groups · Account Groups. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Returns all account groups visible to the authenticated user. Groups can
contain accounts from multiple profiles. For API keys scoped to specific
profiles, only groups whose accounts all live in allowed profiles are
returned.按量计费/apis/v1/social/account-groupsCreate group · Account Groups. Changes your own setup; needs social:draft. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Creates a new account group with a name and a list of account IDs.
Accounts can belong to different profiles; the caller must have access to
every account's profile. Group names must be unique per user.按量计费/apis/v1/social/account-groups/{groupId}Update group · Account Groups. Changes your own setup; needs social:draft. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Updates the name or account list of an existing group. You can rename the group, change its accounts, or both.按量计费/apis/v1/social/account-groups/{groupId}Delete group · Account Groups. Changes your own setup; needs social:draft. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Permanently deletes an account group. The accounts themselves are not affected.按量计费/apis/v1/social/accountsList connected accounts按量计费/apis/v1/social/accounts/follower-statsGet follower stats · Accounts. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call. Without profileId or accountId it reads your default profile.
Returns follower count history and growth metrics for connected accounts.
Requires analytics add-on subscription. Follower counts are refreshed once per day.按量计费/apis/v1/social/accounts/healthCheck account health按量计费/apis/v1/social/accounts/{accountId}Update account · Accounts. Changes your own setup; needs social:draft. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call. xCapabilities is not accepted: turns on X background reads, which X bills per call.
Updates a connected account's display name or username override.
### X capabilities
For X accounts on usage-based billing, also accepts an `xCapabilities` object to toggle background API operations that incur X API pass-through costs.
- Both fields are opt-in (default `false`).
- When off, no analytics syncs or DM polling are performed for that account, and no API call is metered for those operations.
- Publishing and deleting posts are always available regardless of these toggles.
- Setting `xCapabilities` on a non-X account returns 400.按量计费/apis/v1/social/accounts/{accountId}Disconnect an account按量计费/apis/v1/social/accounts/{accountId}/blogsList blogs · Blogs. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Lists blogs on the connected account. Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`).
### By platform
- Shopify: returns its store blogs with cursor pagination.
- WordPress or Wix: the account represents one site and always returns exactly that one blog with `nextCursor: null`.
- Webflow: returns each CMS collection that has a rich text field (its blog id is the collection id), with `nextCursor: null`.
### Pagination
`limit` is 1-50 (default 20). Treat `nextCursor` as opaque; pass it unchanged on the next request.按量计费/apis/v1/social/accounts/{accountId}/blogsCreate a blog · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Creates a blog on the connected store. The platform generates the URL
`handle` from the title when omitted.
Supported on Shopify (platform `shopify`). A WordPress or Wix
connection is its existing site, so both return 405 for blog creation.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}Get a blog · Blogs. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Fetches a single blog. Use the platform-native `blogId` returned by
`GET /apis/v1/social/accounts/{accountId}/blogs`: a Shopify numeric blog id, the
WordPress.com numeric site id, or `1` for a self-hosted WordPress or a
Wix site. That `1` is scoped to its connected account.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}Update a blog · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Partial-updates a blog. Send any subset of `title` and `handle`; at
least one field is required (an empty body returns 400).
Supported on Shopify (platform `shopify`). WordPress and Wix site
settings are not writable through this API, so both return 405.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}Delete a blog · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Deletes the blog AND every article in it. The delete happens on the
platform and is permanent; AIsa stores nothing to restore it from.
Supported on Shopify (platform `shopify`). Disconnect a WordPress or
Wix account instead of deleting its site; both return 405 here.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}/articlesList blog articles · Blogs. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Lists the articles of a blog. Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`).
### Pagination
Cursor-paginated: pass `limit` (1-50, default 20) and the `cursor` from a previous response's `nextCursor`. `nextCursor` is null when there are no more pages. Treat cursors as opaque and pass them unchanged.
### Platform differences
- WordPress and Wix results include `status`, and include `publishDate` only for scheduled (`future`) posts.
- Wix lists return `bodyHtml: null`; get the article for its body.
- Webflow results report `status` as `publish` or `draft` only.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}/articlesCreate a blog article · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Creates an article on the blog. Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`).
### Publishing behavior
- WordPress, Wix and Webflow default to a draft when both publishing fields are omitted.
- `isPublished: false` keeps the article as a draft and takes priority over a future `publishDate`.
- A future `publishDate` schedules publication natively on the platform. The platform publishes it at that time with no AIsa queue involved.
- `isPublished: true` publishes immediately when there is no future `publishDate`.
- WordPress native scheduling depends on the site's scheduler/WP-Cron.
### SEO
`seo.title` / `seo.description` map to:
- Shopify: the global `title_tag` and `description_tag` metafields (the fields Shopify themes read for the page title and meta description).
- Wix: the post's SEO title and meta description.
WordPress and Webflow reject `seo`; SEO plugin and custom-field writes are not supported.
### Webflow
Webflow has no scheduling API: a future `publishDate` returns 400 unless `isPublished: false` keeps a draft.
Fields map to the collection's own fields by type and slug:
- The body goes to its rich text field.
- `excerpt` goes to a summary field.
- `image` goes to an image field.
- `tags` and `author` go to tag and author reference fields.
Sending a field the collection does not have returns 400, as does a collection that requires a field the Blogs API cannot fill.
### Wix
Wix stores rich content. `bodyHtml` is converted on write (each top-level HTML element must fit 30,000 characters), and images in the body are imported into the site's Media Manager.
### Idempotency
Send an Idempotency-Key header to make retries safe. A retry with the same key and body replays the original 201 instead of creating a second article. A retry while the first request is still running returns 409; retry after a short backoff.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}/articles/{articleId}Get a blog article · Blogs. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Fetches a single article. An article addressed through a blog it does
not belong to is a 404 (code blog_article_not_found).
Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`). WordPress
returns its native `status`; `publishedAt` is present only for a
published post and `publishDate` only for a scheduled post.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}/articles/{articleId}Update a blog article · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Partial-updates an article. Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`).
Send any subset of the create fields: `title`, `bodyHtml`, `handle`, `tags`, `author`, `excerpt`, `image`, `seo`, `isPublished`, `publishDate`. At least one field is required (an empty body returns 400).
### Publishing
`isPublished` and `publishDate` behave as on create:
- `isPublished: false` unpublishes back to a draft.
- A future `publishDate` schedules publication natively on the platform.
- Omitting both fields preserves the current WordPress or Wix status.
Omitting `image` preserves the current featured image; removal is not supported.
### Platform limits
- **WordPress**: rejects `seo` and does not support SEO-plugin/custom-field, category, or custom-post-type writes.
- **Webflow**: an edit to a published item goes live immediately, `isPublished: false` unpublishes it, and a future `publishDate` returns 400.按量计费/apis/v1/social/accounts/{accountId}/blogs/{blogId}/articles/{articleId}Delete a blog article · Blogs. Acts in public on your connected account; needs social:publish. Audited. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Deletes the article. The delete happens on the platform and is permanent; AIsa stores nothing to restore it from.
Supported on Shopify (`shopify`), WordPress (`wordpress`), Wix (`wix`) and Webflow (`webflow`).
### Platform behavior
- WordPress: the post is force-deleted, while uploaded attachments and tags remain in the site's media library and taxonomy.
- Webflow: the item is unpublished from the live site, then deleted from the collection.按量计费/apis/v1/social/accounts/{accountId}/bluesky-settingsGet Bluesky account settings · Accounts. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.
Returns the account's default post languages (defaultLangs), applied at publish time whenever a post's platformSpecificData.langs is absent. Null when no default is set.按量计费