wxPerts consults on many projects, and as such has had the opportunity to work with several 3rd Party Web Services and APIs. For each new web service, we encounter we create a base class to manage the service. Many of these services took several days or even weeks of R&D to perfect, let’s just say not all API developers provide the same level of documentation.
These API classes are not “plug into your project and you’re done”. Many of these services have quite a few options and different paths, and sometimes that is where a lot of the initial R&D time was spent. Our knowledge of the API and experience with the different options and paths offered, allows us to integrate these services into a new project quickly.
We are now offering specific consulting for these services, we have already done all the leg work, so with a brief conversation about your specific needs, we can help you determine which options to take, and integrate our class into your project. Many of these services we can have up and running in your project in 2 hours or less. Once we discuss your needs we will give you a flat rate quote to integrate the service with your project.
Below is a listing of the Web Services and APIs we current have base classes for, if you need help with a service not listed, please don’t hesitate to call! Our experience with such a wide variety of APIs, allows us to quickly decipher and integrate new services.
Accounting
Quickbooks Online
Integration with Quickbooks Online. Our class handles all of the complicated Authentication and Authorization required by the Quickbooks API and encapsulates the various API endpoints to class methods, making it very easy for you to integrate you application with Quickbooks online.
Payment Processing
Stripe
We use this service for WinDev-US, pcReminder, and have several clients also using it.
- Payment Processing
- Subscription Payments
- Connect (Interact with other Stripe Accounts)
- If you operate a service for other vendors (Etsy for example), you can create stripe accounts for them, and then take a percentage of the processing fee.
- This includes all the new additions for PCI compliance like hosted payment fields, processing in browser code, etc.
PayPal
We push our clients towards stripe these days, but have some that have established relationships with PayPal, or just want to use the “800 lb Gorilla”. PayPal has quite a few different services and it can be challenging understanding which you should use.
- Website Payment Pro
- NVP (Named Value Pair)
- DoDirectPayment
Authorize.Net
The “old school processor” if you have an existing merchant account, Authorize.Net provide a gateway for using that account for online processing. Storing Cardholder Profiles allows you to store the cardholders card information with Authorize.Net and charge their card in the future without you having to deal with PCI compliance.
- One time Payment Processing
- Storing and Maintaining Cardholder Profiles
- Processing Payments for Cardholder Profiles.
- ACH Payment Processing
Shipping / Address Verification
UPS
UPS is another company that offers quite a few different services and API, and it is very apparent that they weren’t all written by the same group of developers
- WorldShip
- If you do a lot of UPS shipping, you likely have WorldShip installed on site. Our class can generated and process XML Autoimport files, so you can tie your application to WorldShip and not rekey information for shipping.
- Ratings
- Get exact rates for a shipment, either published rates or the negotiated rates of your UPS account
- Address Verification
Fedex
We have many integrated this for commercial freight clients, but most of the functionality will be very easy to translate to consumer shipping as well
- Send Pickup Request
- Packages
US Holland
Another commercial freight integration we have done for clients
- Dispatch Shipments
- Track Shipments
SAIA LTL Freight Shipping
Yet another commercial freight integration we have done for clients
- Pickup shipping request
SmartyStreets
Verify and Standardize addresses
Online File Storage
Dropbox
The “800 lb Gorilla” in the online file storage business. Integrating Dropbox services with your project, can add some very nice features
Google Drive
If you have a Google apps account, you might want to consider Google Drive integration as an alternative to Dropbox.
Amazon S3
If document storage is an integral part of your project, then Amazon S3 should be a consideration, especially if you are already using Amazon Servers. S3 offers some professional-grade features that you won’t find in the other services, such as document life cycle rules, versioning. S3 also offers a very attractive pricing model compared to using a normal virtual server attached storage.
- Document Storage and Retrieval
- Document Version viewing and Retrieval
Wasabi
Wasabi is an alternative to Amazon S3 and has an S3 Compliant interface. We have tested our S3 Class with it, and have a few clients that are using Wasabi instead of S3.
Communications
Mailgun
We use Mailgun for all of our automated email needs and strongly recommend that our clients do as well. Mailgun handles all the complexity of SPAM requirements and a higher percentage of emails will reach the recipient using Mailgun than using your own SMTP servers, not to mention removing the workload from your servers. You can use Mailgun to automate the processing of received emails as well, and tracking of received, viewed, etc. of sent emails.
- Batch sending of Emails, including HTML and Text formatted versions
- Event tracking of Emails, Read, Viewed, Clicked, etc.
NexMo (Vonage)
A communications API offering SMS, Voice, and other communications requirements. We have a couple of clients using SMS services.
- SMS sending
- SMS Shortcodes
- International SMS
- Incoming SMS
- SMS Return Receipts
- Retrieving Balance and Cost information
Other APIs
ASPOSE
- PDF Form Filling
- PDF Signature
- Word Field Merging
- Word Document Manipulation
Google Maps
- Route Calculation
- Alternative Routes
- Realtime tracking
EFI Pace
Management Information System designed for the print industry. We have integrated Pace with our clients Shop Floor, Online ordering and other external systems.
HomeSeer
Home Automation software. We have interfaced with HomeSeer’s APIs as part of a commercial utility billing application
Teamwork
Online project management. We have interfaced Teamwork’s API with our own internal project management system to create the most efficient method of managing all the projects we are involved with.
Amazon Elastic Transcoder
Convert media files from one format to the other with S3 integration. It also provides watermarking of videos.
Amazon AWS Authorization Base Class
Of all of the API we have worked with Amazon may be the most complicated when it comes to authenticating and signing your REST calls. In fact it is so complicated that we create a base class that just handles the authorization and signing of amazon calls for all of our Amazon classes. If we haven’t created a class for an amazon service you need to use yet, be sure to give us a holler as we can save you a lot of initial leg work!
General Single Sign-on and OAuth2 Classes
Many of these services require OAuth2 authentication to access. We have created a base class that handles all of the internal workings for the OAuth2 Communications so your API class doesn’t have to get muddled with all that extra code and logic.
This has also lead to us developing Single Sign-on logic, currently, we have logic for Google, Facebook, and very soon Quickbooks.
Note: We also have created Single Sign-on logic for being the identity provider!