bvstone

BVSTools Now Offering Web Services (BETA)

Posted:

BVSTools Now Offering Web Services (BETA)

BVSTools is offering limited services to see if it's something that companies and individuals would be interested in.

These web services can be called from virtually any OS or system that can make a URL call (cURL, GETURI, HTTPAPI, Postman, etc) and can be called from RPG or any program that can use on of these types of web service calls.  

So far the services offered are:

  • MLTSVC1 - This is the "MAILTOOL" E-Mail Service which allows you to send simple emails using a web service instead of having to install email client software on your IBM i, [<tic>or worse, set up the IBM SMTP server</tic>. 

    More importantly, each client can be set up with your your very own configurations for things like from address, reply to address, mail router/server (ie, you can use GMail, Office 365, etc).  Basically anything that can be configured in MAILTOOL can be configured specifically for your web service account.  

    This service is actually built into the default Braintree Open Source module that we have put together.  And Example of using it with Node.js is included, and shown here:
    var submitData = JSON.stringify({key:"myservicekey", toAddress:[json array of recipients], subject:"email subject", message:"my message"});
      
      var options = {
        host: 'ws.bvstools.com',
        port: '80',
        path: '/webservice/mailtoolService',
        method: 'POST',
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded '
        }
      };
      
      var req = http.request(options, function(httpReq) {
        var msg = '';
      
        httpReq.setEncoding('utf8');
        httpReq.on('data', function(chunk) {
          msg += chunk;
        });
        
        httpReq.on('end', function() {
          var jsonContent;  
          var success;
          var response;
          
          try {
            jsonContent = JSON.parse(msg);  
            success=jsonContent.success;
            response=jsonContent.response;
          } catch(e) {
            success='false';
            response='Error parsing response: ' + e;
          }
          
          writeDiagnostic(plist, "@@ Email success: " + success + ":" + response);    
        });
      });
      
      req.write(submitData);
      req.end();

     
  • REVPROXY1 - This is a Reverse Proxy Service that will allow you to make HTTPS requests over SSL to a remote server using simple HTTP requests from your local system.  This can come in handy if your system doesn't work with the latest SSL Ciphers.  Of course, this couldn't be used for anything with sensitive data or requests that require you follow standards (such as PCI for credit card transactions) since the proxy itself is over HTTP (non-secured).  

    The only real requirement is that the request is a GET or POST, and includes a custom HTTP header named REALURI that includes the "Real URI" that you wish to connect to (as well as passing along your service key in a custom header as well).

Pricing is yet to be determined, but most will be less than $300 a year for the service.  If we find that the service is heavily used we will most likely add a limit to how many service calls can be made per month, and bill additional for requests over that limit.  This is all new, so we're still looking at our options.

You may ask why these options are becoming available?  Well, working with clients and doing custom programming we've run into situations where using a service like this not only saved a lot of time and money, but were simply easier to implement, especially since in the background on our server, where the requests are made, our proven software (ie MAILTOOL and GETURI) are being used.

As always, feel free to contact us with any questions.

 

 


Last edited 04/03/2018 at 11:23:36




Reply




© Copyright 1983-2024 BVSTools
GreenBoard(v3) Powered by the eRPG SDK, MAILTOOL Plus!, GreenTools for Google Apps, jQuery, jQuery UI, BlockUI, TinyMCE and running on the IBM i (AKA AS/400, iSeries, System i).