@sociate/sociate-api-sdk
Version:
Javascript client for Sociate AI APIs
142 lines (102 loc) • 3.13 kB
Markdown
# Sociate API JavaScript SDK
Welcome to the official JavaScript SDK for the Sociate API! This SDK allows developers to easily integrate Sociate's
powerful features into their JavaScript projects, providing seamless access to various functionalities offered by the
Sociate platform. It supports TypeScript for strong typing and enhanced developer experience.
## Features
- **Comprehensive API Coverage**: Access all endpoints available in the Sociate API.
- **Type Safety**: Provides strong type definitions for all requests and responses.
- **Easy Integration**: Simplifies the process of making API requests with minimal configuration.
- **Promise-based**: Fully supports async/await and promises for easy asynchronous operations.
## Installation
Install the SDK using npm or yarn:
`bash
npm install @sociate/sociate-api-sdk
`
or
`bash
yarn add @sociate/sociate-api-sdk
`
## Usage
### Importing the Client
```js
import { SociateClient, SociateConfig } from '@sociate/sociate-api-sdk';
```
### Initialization
Initialize the `SociateClient` with the base URL of the API and an optional authentication token:
```js
const config: SociateConfig = {
basePath: 'https://api.sociate.ai',
token: 'your-auth-token'
};
const client = new SociateClient(config);
```
### Authentication
#### Login:
```js
const credentials = { username: 'user@example.com', password: 'password123' };
const authResponse = await client.auth.login(credentials);
client.setToken(authResponse.access_token); // Set token for future requests
```
### Product Management
#### Create Products:
```js
const productData = {
products: [
{
id: '1',
title: 'Product 1',
price: 100,
brand: 'BrandName',
image_url: 'http://example.com/image1.png',
url: 'http://example.com/product1',
price_currency: 'USD'
}
]
};
const createResponse = await client.products.create(productData);
console.log(createResponse);
```
#### Upload Products:
```js
const product = { file: yourFile };
const uploadResponse = await client.products.upload(product);
console.log(uploadResponse);
```
#### Delete Products:
```js
const deleteData = { products: ['1', '2'] };
const deleteResponse = await client.products.delete(deleteData);
console.log(deleteResponse);
```
### Search
#### Basic Search:
```js
const searchParams = { text: 't-shirt' };
const searchResults = await client.search.basic(searchParams);
console.log(searchResults);
```
#### Advanced Search:
```js
const advancedSearchParams = {
text_include: 'red',
text_exclude: 'blue',
filters: { availability: 'available' }
};
const advancedResults = await client.search.advanced(advancedSearchParams);
console.log(advancedResults);
```
### User Profile
#### Get Current User:
```js
const userInfo = await client.users.me();
console.log(userInfo);
```
### Token Management
You can set or clear the authentication token at any time:
```
client.setToken('new-token');
client.clearToken();
```
## API Documentation
For detailed API documentation and endpoint descriptions, visit
the [Sociate API Documentation](https://api.sociate.ai/redoc).