1.0.1 • Published 8 years ago

ghost-analytics-client v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
8 years ago

Ghost Analytics node.js client

Installation

npm install ghost-analytics-client --save

Documentation

Documentation is not yet available.

API Overview

Every resource is accessed via your ghost-analytics-client instance:

const GhostAnalytics = require('ghost-analytics-client')({ publicKey: ' your public key ', secretKey: ' your secret key ' });
// GhostAnalytics.{ RESOURCE_NAME }.{ METHOD_NAME }

Every resource method returns a promise (bluebird):

GhostAnalytics.customer.create({ email: 'customer@example.com' })
.then(customer => { ...do stuff })
.catch(err => { ...handle error });

Notes

Where you see params it is a plain JavaScript object, e.g. { email: 'foo@example.com' } For requests that return a single item, the item will be contained inside of the doc property in the response body. For requests that return multiple items, the items will be contained inside of the docs property in the response body. For requests that delete an item, the response body will contain { success: true }.


Account

EndpointDescription
GET /api/v1/accounts/{accountId}Get an account

GET /api/v1/accounts/{accountId}

Returns an account object.

Example Request

GhostAnalytics.account.get({ accountId: 1 })
.then(account => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    ...the account object
  }
}

Charge

EndpointDescription
POST /api/v1/chargesCreate a charge

POST /api/v1/charges

Creates and returns a charge object.

Example Request

GhostAnalytics.charge.create({ 
  amount: 1000, // in cents
  cardId: card_somecardid,
  customerId: customer_somecustomerid,
  description: 'some charge description',
})
.then(charge => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the charge object
  }
}

CustomerCard

EndpointDescription
GET /api/v1/customers/{customerId}/cards/{cardId}Get a customer card
POST /api/v1/customers//{customerId}Create a customer card
DELETE /api/v1/customers/{customerId}/cards/{cardId}Delete a customer card

GET /api/v1/customers/{customerId}/cards/{cardId}

Returns a customer card object.

Example Request

GhostAnalytics.customerCard.get({ 
  cardId: card_somecardid,
  customerId: customer_somecustomerid
})
.then(card => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the card object
  }
}

POST /api/v1/customers/{customerId}/cards

Creates and returns a customer card object.

Example Request

GhostAnalytics.customerCard.get({
  number: 4242424242424242,
  expMonth: '02',
  expYear: '2018',
  cvc: 123
  customerId: customer_somecustomerid
})
.then(card => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the card object
  }
}

DELETE /api/v1/customers/{customerId}/cards/{cardId}

Deletes a customer card object.

Example Request

GhostAnalytics.customerCard.delete({
  cardId: card_somecardid
  customerId: customer_somecustomerid
})
.then(success => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "success": true
}

Customer

EndpointDescription
GET /api/v1/customers/{customerId}Get a customer
POST /api/v1/customersCreate a customer
PUT /api/v1/customers/{customerId}Update a customer
DELETE /api/v1/customers/{customerId}Delete a customer

GET /api/v1/customers/{customerId}

Returns a customer object.

Example Request

GhostAnalytics.customer.get({ 
  customerId: customer_somecustomerid
})
.then(customer => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the customer object
  }
}

POST /api/v1/customers

Creates and returns a customer object.

Example Request

GhostAnalytics.customer.create({
  description: 'some customer description'
})
.then(customer => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the customer object
  }
}

PUT /api/v1/customers/{customerId}

Updates and returns a customer object.

Example Request

GhostAnalytics.customer.update({
  customerId: customer_somecustomerid,
  description: 'some new customer description'
})
.then(customer => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the customer object
  }
}

DELETE /api/v1/customers/{customerId}

Deletes a customer object.

Example Request

GhostAnalytics.customer.delete({
  customerId: customer_somecustomerid
})
.then(success => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "success": true
}

IdentityEvent

EndpointDescription
POST /api/v1/identites/{identityId}/eventsCreate an identity event

POST /api/v1/identites/{identityId}/events

Creates and returns an identity event object.

Example Request

GhostAnalytics.identityEvent.create({
  name: 'Event Click',
  identityId: 1,
  gatId: 'f81d4fae-7dec-11d0-a765-00a0c91e6bf6',
  properties: [{
    'eventId': 4,
    'userId': 3 
  }]
})
.then(identityEvent => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the identity event object
  }
}

Order

EndpointDescription
GET /api/v1/orders/{orderId}Get an order
GET /api/v1/ordersFetch orders
POST /api/v1/ordersCreate an order
DELETE /api/v1/orders/{orderId}Delete an order

GET /api/v1/orders/{orderId}

Returns an order object.

Example Request

GhostAnalytics.order.get({ 
  orderId: 1
})
.then(order => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the order object
  }
}

GET /api/v1/orders

Fetches order objects based on input parameters.

Example Request

GhostAnalytics.order.fetch({
  customerId: ' cus_somecustomerid ',
  limit: 25,
  offset: 10,
  sortBy: 'createdAt',
  sortDir: 'desc'
})
.then(order => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the order object
  }
}

POST /api/v1/orders

Creates and returns an order object.

Example Request

GhostAnalytics.order.create({
  amount: 5000, // must match total of orderItem amounts
  customerId: ' cus_somecustomerid ',
  cardId: ' card_somecardid ',
  gatId: 'f81d4fae-7dec-11d0-a765-00a0c91e6bf6',
  orderItems: [{
    amount: 3000,
    type: 'item'
  }, {
    amount: 1000,
    type: 'item',
    identityId: 1
  }, {
    amount: 1000,
    type: 'fee',
    description: 'processing fee'
  }]
})
.then(order => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "doc": {
    the order object
  }
}

DELETE /api/v1/orders/{orderId}

Deletes an order object.

Example Request

GhostAnalytics.order.delete({
  orderId: 1
})
.then(success => { ...do stuff })
.catch(err => { ...handle error });

Example Response

{
  "success": true
}

Errors

All error responses are in the following format, delivered with the corresponding status code:

{
    "message":"Invalid id",
    "status":400,
    "error":"Bad Request"
}
1.0.1

8 years ago

0.2.0

8 years ago

0.1.13

8 years ago

0.1.12

8 years ago

0.1.11

8 years ago

0.1.10

8 years ago

0.1.9

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

1.0.0

8 years ago