@vaporcms/client-sdk-js v1.23.0
@vaporcms/client-sdk-js
A JavaScript/TypeScript SDK to interact with the VaporCMS API. This SDK provides a convenient way to access and manage blog data, articles, categories, authors, and locales through the VaporCMS API.
Table of Contents
Installation
Install the SDK using npm or pnpm:
# Using npm
npm install @vaporcms/client-sdk-js
# Using pnpm
pnpm add @vaporcms/client-sdk-js
Usage
Authentication To use this SDK, you need to provide your API token (auth) and blogId when initializing the client. Here's how to get started:
import { V0Client } from "@vaporcms/client-sdk-js";
const client = new V0Client({
auth: "your-api-token",
blogId: "your-blog-id",
});
Articles
Get article by slug.
You can retrieve a localized article by its slug
. Optionally, you can also provide a localeCode
to fetch the content in a specific locale. If no localeCode
is provided, the default locale will be used.
const articleResponse = await client.articles.get({
slug: "example-article",
localeCode: "en", //Optional
});
if (articleResponse.ok) {
console.log("Localized Article:", articleResponse.data);
} else {
console.error("Error fetching article:", articleResponse.error);
}
List articles To retrieve a list of articles, you can pass optional pagination options (page and pageSize) along with filtering options like categoryIds and authorIds.
const articlesResponse = await client.articles.list({ page: 1, pageSize: 10 });
if (articlesResponse.ok) {
console.log("Articles:", articlesResponse.data);
} else {
console.error("Error fetching articles:", articlesResponse.error);
}
You can also filter the list by categories or authors:
const articlesResponse = await client.articles.list({
page: 1,
pageSize: 10,
categoryIds: ["category-1-id"],
authorIds: ["author-1-id"],
});
if (articlesResponse.ok) {
console.log("Filtered Articles:", articlesResponse.data);
} else {
console.error("Error fetching filtered articles:", articlesResponse.error);
}
Blog
Retrieve details about your blog using the blog.get() method:
const blogResponse = await client.blog.get();
if (blogResponse.ok) {
console.log("Blog Data:", blogResponse.data);
} else {
console.error("Error fetching blog:", blogResponse.error);
}
Locales
List all available locales for the blog using the locales.list() method:
const localesResponse = await client.locales.list();
if (localesResponse.ok) {
console.log("Locales:", localesResponse.data);
} else {
console.error("Error fetching locales:", localesResponse.error);
}
Authors
Retrieve a list of authors for your blog:
const authorsResponse = await client.authors.list();
if (authorsResponse.ok) {
console.log("Authors:", authorsResponse.data);
} else {
console.error("Error fetching authors:", authorsResponse.error);
}
Categories
Retrieve a list of categories for your blog:
const categoriesResponse = await client.categories.list();
if (categoriesResponse.ok) {
console.log("Categories:", categoriesResponse.data);
} else {
console.error("Error fetching categories:", categoriesResponse.error);
}
Error Handling
Each API call returns an object with the following structure:
- ok: true if the request was successful, false otherwise.
- data: Contains the response data when the request is successful.
- error: A string message describing the error if the request failed.
License
This SDK is licensed under the MIT License. See the LICENSE file for more information.
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago