https://github.com/js00001/qonversion-sdk
⚡️ An SDK to easily access Qonversions Restful API
https://github.com/js00001/qonversion-sdk
Last synced: about 1 year ago
JSON representation
⚡️ An SDK to easily access Qonversions Restful API
- Host: GitHub
- URL: https://github.com/js00001/qonversion-sdk
- Owner: JS00001
- Created: 2024-03-22T01:01:48.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T22:49:46.000Z (over 1 year ago)
- Last Synced: 2024-09-10T17:23:14.270Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 21.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Qonversion SDK
The Qonversion SDK is an npm package that allows easy access to the Qonversion API in JavaScript and TypeScript projects. It is well-documented with js/ts examples, making it simpler for developers to access the functionality provided by the API without the need for a deep-dive into Qonversion's documentation.
## Installation
Install qonversion-sdk using **npm**
```bash
npm install qonversion-sdk
```
Install qonversion-sdk using **yarn**
```bash
yarn add qonversion-sdk
```
### See Sections [Demo](#demo-code)
## Demo Code
```javascript
import QonversionClient from "qonversion-sdk";
const qonversionClient = new QonversionClient(secretKey, projectKey);
// Call the get identity function
qonversionClient
.getIdentity("USER ID")
.then((response) => {
console.log(response);
})
.catch((err) => {
console.log(err);
});
```
## Demo Response
```javascript
{
"id": string;
"user_id": string;
}
```
## Demo (Using Require)
```javascript
const QonversionClient = require("qonversion-sdk").default;
const qonversionClient = new QonversionClient(secretKey, projectKey);
// Call the get identity function
qonversionClient
.getIdentity("USER ID")
.then((response) => {
console.log(response);
})
.catch((err) => {
console.log(err);
});
```
## Demo Response
```javascript
{
"id": string;
"user_id": string;
}
```
## API
#### .getUser(userId: string)
Get a user based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
**Response**
```javascript
{
id: string;
created: number;
environment: Environment;
identity_id: string;
}
```
#### .createUser(userId: string, environment: Qonversion.Environment)
Create a user using a custom user ID.
**Parameters**
- `userId` \[required\] - The custom user ID.
- `environment` \[required\] - The environment in which the user is created.
**Response**
```javascript
{
id: string;
created: number;
environment: Qonversion.Environment;
}
```
#### .getUserProperties(userId: string)
Get a user's properties based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
**Response**
```javascript
[
{
key: string;
value: string;
},
{
key: string;
value: string;
}
]
```
#### .setUserProperties(userId: string, properties: Qonversion.UserProperties)
Set a user's properties based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
- `properties` \[required\] - The properties to set.
**Response**
```javascript
{
savedProperties: [
{
key: string;
value: string;
},
{
key: string;
value: string;
}
],
propertyErrors: [
{
key: string;
error: string;
},
{
key: string;
error: string;
}
];
}
```
#### .getIdentity(identityId: string)
Get a Qonversion user ID based on a custom user ID.
**Parameters**
- `identityId` \[required\] - The custom user ID.
**Response**
```javascript
{
id: string;
user_id: string;
}
```
#### .createIdentity(identityId: string, userId: string)
Create a new identity using a custom identity id
**Parameters**
- `identityId` \[required\] - The custom identity ID.
- `userId` \[required\] - The Qonversion user ID.
**Response**
```javascript
{
id: string;
user_id: string;
}
```
#### .getEntitlements(userId: string)
Get a user's entitlements based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
**Response**
```javascript
{
data: [
{
id: string;
active: boolean;
started: number;
expires: number;
product: {
product_id: string;
subscription?: {
current_period_type: "normal" | "trial" | "intro";
renewal_state: "will_renew" | "canceled" | "billing_issue";
};
};
}
]
}
```
#### .grantEntitlement(userId: string, entitlementId: string, expires: number)
Grant an entitlement to a user based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
- `entitlementId` \[required\] - The entitlement ID.
**No response**
#### .revokeEntitlement(userId: string, entitlementId: string)
Revoke an entitlement from a user based on their Qonversion user ID.
**Parameters**
- `userId` \[required\] - The Qonversion user ID.
**No response**