README
client wrapper
Allows easier communication with the APM service.
Usage
const clientWrapper = require('socialreviews-apm');
const baseUrl = 'http://localhost:8080'
const client = clientWrapper({ baseUrl })
Note
Before we continue. There are a few things that are important to mention.
- The API acts as a proxy for requests through to APM.
- A response via callback or async/await got cycle.
Profiles
CreateNewProfile
This method creates a profile.
const client = clientWrapper({ baseUrl }) const profile = await client.createNewProfile(profile)
The
profile object
above should contain the following properties. i.e.{ external_platform_domain: string, // Required access_token: string, // Required external_shop_id: string, // Required email: string, // Required business_id: ObjectId, // Required platform: string, // Current only available options 'shopify' business_name: string // Optional }
The response body should contain the following properties. Response Body
fetchProfileById
This method fetches a profile by id provided.
const client = clientWrapper({ baseUrl }) const profile = await client.fetchProfileById('profile_id')
The response body should contain the following properties. Response Body
toggleProfileStatus
This method changes the activation/deactivation status of a given profile.
const client = clientWrapper({ baseUrl }) const toggleStatus = await client.toggleProfileStatus({ profileId: 'someid', status: 'D' }) // 'A' for activated and 'D' for deactivated
The response body should contain the following properties. Response Body
Businesses
getProfilesByBusinessId
This fetches profiles related to a given business using the
business_id
field.const client = clientWrapper({ baseUrl }) const profile = await client.getProfilesByBusinessId('somebusinessid')
The response body should contain the following properties. Response Body
Errors
Any response errors that occur will be in the following formats
- Profile does not exist error
{
"error": {
"message": "profile does not exist"
},
"status": 404
}
- Profile already exists error
{
"error": {
"message": "profile already exist"
},
"status": 400
}
- Validation error
{
"error": {
"details": [
{
"message": "\"business_id\" is not allowed to be empty",
"param": "business_id"
}
],
"message": "error validating req parameters"
},
"status": 400
}
- Internal server error
{
"error": {
"message": "internal server error"
},
"status": 500
}