The Publisher SDK
is a JavaScript SDK (Software Development Kit) designed to interact with a Publisher API. This SDK provides a method to make API calls to the Publisher API using REST URLs directly.
You can install the Publisher SDK
package via npm:
npm install publisher-sdk
To use the Publisher SDK
, you first need to import it into your JavaScript or TypeScript project:
import { createClient } from 'publisher-sdk/v1';
Then, you can create a client instance with your configuration:
const config = {
apiKey: 'YOUR_API_KEY',
baseUrl: 'YOUR_BASE_URL', // Base URL of your Publisher API
};
const client = createClient(config);
After creating the client instance, you can use its method api()
to make API calls to the Publisher API. Here's an example:
// Make API call using api() method
const response = await client.api('/endpoint', { method: 'GET' });
Creates a new client instance with the provided configuration.
-
config
: An object containing API configuration parameters:-
apiKey
: The API key for authentication. -
baseUrl
: The base URL of the Publisher API.
-
Returns a client instance with a method api()
for making API calls.
-
api(path, options)
: Makes an API call to the Publisher API using the provided path and options-
path
: The path to the API endpoint -
options
: The fetch options (e.g., method, headers, body)
-
-
listSites()
: Lists all sites with publications -
getSite({ id })
: Gets a specific site by id -
putSite({ id, ...data })
: Upserts a site -
deleteSite({ id })
: Deletes a site by id -
timeline({ site, path })
: Gets the timeline of publications for a site and path. -
getPublication({ site, path, date })
: Gets a publication as it was sent to the API at the exact path specified -
createPublication({ site, path, date, content, template, metadata })
: Creates a new publication -
resolvePublication({ site, path, date })
: Resolves a publication to an object with content, template, and metadata -
searchPublications({ query })
: Searches for publications that match the lucene query. Fetch next set of results usingfetchNext()
in the resolved object. -
getDefaultPublication({ site, date })
: Gets the default publication for a site and optional date. -
putDefaultPublication({ site, date, content, template, metadata })
: Sets the default publication for a site and optional date.
Methods return a promise that resolves with the response from the API.