Skip to content

Latest commit

 

History

History
254 lines (157 loc) · 5.09 KB

README.md

File metadata and controls

254 lines (157 loc) · 5.09 KB

helpful-ruby

Official Helpful API library client for ruby

This library is generated by alpaca

Installation

Make sure you have rubygems installed

$ gem install helpful

Versions

Works with [ 1.8.6 / 1.8.7 / 1.9.1 / 1.9.2 / 1.9.3 / 2.0.0 / 2.1.0 / 2.1.1 ]

Usage

require "helpful"

# Then we instantiate a client (as shown below)

Build a client

Using this api without authentication gives an error

Basic authentication
auth = { :username => 'pksunkara', :password => 'password' }

client = Helpful::Client.new(auth, client_options)
Oauth access token
client = Helpful::Client.new('1a2b3', client_options)
Oauth client secret
auth = { :client_id => '09a8b7', :client_secret => '1a2b3' }

client = Helpful::Client.new(auth, client_options)

Client Options

The following options are available while instantiating a client:

  • base: Base url for the api
  • api_version: Default version of the api (to be used in url)
  • user_agent: Default user-agent for all requests
  • headers: Default headers for all requests
  • request_type: Default format of the request body

Response information

All the callbacks provided to an api call will receive the response as shown below

response = client.klass('args').method('args', method_options)

response.code
# >>> 200

response.headers
# >>> {'x-server' => 'apache'}
JSON response

When the response sent by server is json, it is decoded into a hash

response.body
# >>> {'user' => 'pksunkara'}

Method Options

The following options are available while calling a method of an api:

  • api_version: Version of the api (to be used in url)
  • headers: Headers for the request
  • query: Query parameters for the url
  • body: Body of the request
  • request_type: Format of the request body

Request body information

Set request_type in options to modify the body accordingly

RAW request

When the value is set to raw, don't modify the body at all.

body = 'username=pksunkara'
# >>> 'username=pksunkara'
JSON request

When the value is set to json, JSON encode the body.

body = {'user' => 'pksunkara'}
# >>> '{"user": "pksunkara"}'

Accounts api

These are like organizations which use Helpful.

accounts = client.accounts()
List all accounts (GET /accounts)

All the accounts the user has access to

response = accounts.all(options)
Retrieve an account (GET /accounts/:account_id)

Get an account the user has access to

The following arguments are required:

  • account_id: Identifier of the account
response = accounts.get("b3ebe711-755e-4a91-b8d2-0cc028827bcf", options)
Update an account (PATCH /accounts/:account_id)

Update an account the user has access to

The following arguments are required:

  • account_id: Identifier of the account
response = accounts.update("b3ebe711-755e-4a91-b8d2-0cc028827bcf", options)

People api

People who operate or interacted with the account

people = client.people()
List all people (GET /accounts/:account_id/people)

List all people in the account the user has access to

The following arguments are required:

  • account_id: Identifier of the account
response = people.all("b3ebe711-755e-4a91-b8d2-0cc028827bcf", options)

Conversations api

Conversations in an account

conversations = client.conversations()
List all conversations (GET /accounts/:account_id/conversations)

List all conversations in an account the user has access to

The following arguments are required:

  • account_id: Identifier of the account
response = conversations.all("b3ebe711-755e-4a91-b8d2-0cc028827bcf", "false", options)
Create a conversation (POST /accounts/:account_id/conversations)

Create an empty conversation in account the user has access to

The following arguments are required:

  • account_id: Identifier of the account
response = conversations.create("b3ebe711-755e-4a91-b8d2-0cc028827bcf", options)
Retrieve a conversation (GET /conversations/:conversation_id)

Get a conversation the user has access to

The following arguments are required:

  • conversation_id: Identifier of the conversation
response = conversations.get("10ce24de-23f6-433f-9a71-255cffffa96f", options)

Messages api

Messages in a conversation

messages = client.messages()
Retrieve a message (GET /messages/:message_id)

Get a message the user has access to

The following arguments are required:

  • message_id: Identifier of the message
response = messages.get("33314e4e-baf5-4b33-be72-112ed86701fd", options)

Contributors

Here is a list of Contributors

TODO

License

MIT

Bug Reports

Report here.

Contact

Pavan Kumar Sunkara (pavan.sss1991@gmail.com)