socialreviews-apm

1.1.0 • Public • Published

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

  1. 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

  2. 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

  3. 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

  1. 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
}

Readme

Keywords

Package Sidebar

Install

npm i socialreviews-apm

Weekly Downloads

0

Version

1.1.0

License

ISC

Unpacked Size

18.1 kB

Total Files

11

Last publish

Collaborators

  • kud.bz