apigum-sdk

    1.0.2 • Public • Published

    apigum-sdk

    Build Status Dependencies NPM version

    apigum-sdk is npm library for managing integrations between popular cloud applications like Twilio, SendGrid, Shopify and others.

    Installation

    • npm install apigum-sdk --save

    Usage

    • Log into your apigum.com account to obtain your API Key.
    • You'll also need to obtain the relevant application keys. For example secret key for Stripe or Subdomain and Api Key for Freshdesk.
    • This library makes calls to the apigum REST API.
    • This SDK includes a current snapshot of supported integrations. This of course can be overriden by picking up new integration ids @ apigum.com.

    Import Module

      // Import a module
      const {Integration, Apps, AppHelper} = require('apigum-sdk')

    Setup

      const freshdeskCredentials = {}
      const stripeCredentials = {}
     
      //set up credentials
      freshdeskCredentials[Apps.Freshdesk.Keys.Apikey] = "<your Freshdesk api key>"
      freshdeskCredentials[Apps.Freshdesk.Keys.Subdomain] = "<your Freshdesk subdomain>"
     
      //set up credentials
      stripeCredentials[Apps.Stripe.Keys.Secretkey] = "<your Stripe secret key>"
     
      //obtain api key at https://account.apigum.com/api
      const apiKey = "<Your API key>"
      //create integration instance
      const integration = new Integration(apiKey);

    Create Integration

      const freshdesk = AppHelper.configure(Apps.Freshdesk.AppId, this.freshdeskCredentials);
      const stripe = AppHelper.configure(Apps.Stripe.AppId, this.stripeCredentials);
     
      integration.create(freshdesk, stripe,
          Apps.Freshdesk.Integrations.CREATE_FRESHDESK_CONTACT_FOR_NEW_STRIPE_CUSTOMERS)
          .then(id => {
              // returns id of created integration
          })
          .catch(err => console.log(err));
     
      //You may clone other integrations on apigum.com by using the id (last part) in the URL:
      //e.g.: https://www.apigum.com/Integrations/{integration-id}

    Update Integration

        const script = fs.readFileSync(path.resolve(__dirname, "./integration.js"), "utf8");
        
        integration.updateScript(integrationId , script)
            .catch(err => console.log(err));  

    Sample integration.js

    //Integration code for => "Create Freshdesk contact for new Stripe customers"
      var freshdesk={};
     
      function setElements(stripe) {
          freshdesk.name = stripe.description;
          freshdesk.email = stripe.email;
     
      }
     
      function template() {
          return `{
        "name": "${freshdesk.name}",
        "email": "${freshdesk.email}",
        "other_emails": []
      }`;
      }
     
      module.exports = function (context, events) {
     
          let actions = [];
     
          for (let event of events.body) {
              setElements(event);
              actions.push(template());
          }
     
          context.res = {
              body: actions
          };
     
          context.done();
      };            

    Delete Integration

      integration.delete(integrationId)
        .catch(err => console.log(err));

    Start Running

      //by default integrations start running when created
      //this method may be used if integration has been stopped.
      integration.publish(integrationId)
        .catch(err => console.log(err));

    Stop Running

      //suspends integration data synchronization
      integration.unpublish(integrationId)
        .catch(err => console.log(err));

    For product information please visit our site at https://www.apigum.com

    Install

    npm i apigum-sdk

    DownloadsWeekly Downloads

    2

    Version

    1.0.2

    License

    ISC

    Unpacked Size

    38.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • shuky.ba