Notorious Puppy Memes

    gocoin

    1.0.1 • Public • Published

    gocoin-js

    A JavaScript client library for the GoCoin API. It is written in CoffeeScript and is ready for use in both modern browsers and Node.js servers.

    npm install gocoin
    

    Examples

    *Example code *Full API spec

    Basic Usage

    #coffee
    GoCoin = require 'gocoin'
    client = new GoCoin.Client()
    
    client.setToken myAccessToken
    
    client.users.self (err, user)->
      console.log user
      
    
    

    Xrate

    #coffee
    gocoin = new GoCoin.Client()
    gocoin.xrate.get (err, resp) ->
      xrate = resp
    

    Methods

    Note: All callbacks follow the standard argument pattern of:

    #js
      function(error, result) {}
    #coffee
      (error, result) ->
    

    Constructor

    parameter description type default value
    logger logging function, must be an instance of winston Function custom logger
    host api host string "api.gocoin.com"
    secure SSL on or off, will default @port to 443 or 80 boolean true
    port port to route requests through - supercedes "secure" parameter integer null
    path used for prefixing routes string "/api"
    api_version api version string "v1"
    method default request method string "GET"
    headers add a header to all requests object null
    parse_json when true, this automatically parses responses as JSON string true
    request_id include a request_id with every request - useful for debugging string null
    #coffee
    gocoin = new GoCoin.Client
      secure: true
      parse_json: true
      request_id: "12345"
    

    Client

    client.setToken(access_token)

    Stores the access token for use with all requests

    client.getToken()

    Will return the client instance access token

    client.getCodeUrl(params)

    Returns the Authorization Code URL

    #coffee
    params = {
      client_id: <application id>,
      response_type: 'code'
      redirect_uri: <application redirect uri>
      scope: "user_read invoice_read_write"
      state: <optional string>
    }
    url = gocoin.getCodeUrl params
    

    client.authenticate(params, callback)

    Obtains an access token

    params = {
      client_id: <application id>,
      client_secret: <application secret key>
      redirect_uri: <application redirect uri>
      grant_type: "authorization_code"
      code: <access token authorization code>
    }
    gocoin.authenticate params, (err, body) ->
      access_token = body.access_token
      #store access token in db (recommended) or instantiate token
      gocoin.setToken access_token
      #make other requests
    

    Users

    users.self(callback)
    users.get(user_id, callback)
    users.update(params, callback)
    params = {id: user_id, data: <updated user obj>}
    
    users.update_password(params, callback)
    params = {
      id: user_id,
      data: {
        current_password: "password",
        password: "passwordtwo",
        password_confirmation: "passwordtwo"
      }
    }
    

    Merchants

    merchants.get(merchant_id, callback)
    merchants.update(params, callback)
    params = {id: merchant_id, data: <updated merchant obj>}
    
    merchants.getSplit(params, callback)
    params = {id: merchant_id, currency_code: "BTC"}
    
    merchants.updateSplit(params, callback)
    params = {
      id: merchant_id,
      currency_code: "BTC"
      payment_crypto_split: 100
      }
    
    merchants.getSettings(merchant_id, callback)
    merchants.updateSettings(params, callback)
    params = {id: merchant_id, data: <updated settings obj>}
    
    merchants.listCurrencies(merchant_id, callback)

    Accounts

    accounts.list(merchant_id, callback)
    accounts.getTransactions(params, callback)
    params = {id: merchant_id, data: <optional search parameters>}
    

    Invoices

    invoices.create(params, callback)
    params = {id: merchant_id, data: <invoice obj>}
    
    invoices.get(params, callback)
    params = {id: invoice_id, verbose: <optional boolean>}
    
    invoices.search(params, callback)
    params = {id: merchant_id, data: <optional search parameters>}
    
    invoices.confirmPaymentMethod(params, callback)
    params = {id: merchant_id, data: <updated invoice obj>}
    
    invoices.fulfill(invoice_id, callback)
    invoices.sendWebhook(params, callback)
    params = {
      id: merchant_id,
      data: {
        event_type: "invoice_ready_to_ship",
        callback_url: "https://testurl.com"
      }
    }
    

    Payouts

    payouts.get(params, callback)
    params = {id: payout_id, verbose: <optional boolean>}
    
    payouts.list(merchant_id, callback)

    Xrate

    xrate.get(callback)

    License

    Copyright 2013 GoCoin Pte. Ltd.

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

    Keywords

    none

    Install

    npm i gocoin

    DownloadsWeekly Downloads

    41

    Version

    1.0.1

    License

    Apache-2.0

    Last publish

    Collaborators

    • gocoin