The days of writing PHP from scratch are now behind us. Today, CallFire is introducing its very own PHP Software Development Kit (SDK). Hot off the presses, this SDK is our response to you, the developers who power their work using CallFire's API.
In days past, there was really no agreed upon way to work reliably with CallFire's API when developing an application. One had to choose an HTTP library, then piece together requests from scratch, which required handling all of the request logic, validation, response parsing and documentation manually every time.
Our new SDK will do all of the legwork for you. Simply include the SDK as a dependency in your PHP project using Composer, and you're off and running.
Stable Interface
Perhaps the most valuable feature of the SDK is the reliability of a stable interface for all of your operations, every time you interact with the CallFire API. This allows you to re-use your own code consistently throughout the entirety of your application, and re-use the same code between multiple projects.
Composer support
The installation process for the SDK is based on the de-facto standard dependency management tool for PHP, Composer. Installing the SDK is as easy as it could ever be. Simply add the "callfire/php-sdk" dependency to your Composer requirements, update, and you're ready to go.
Fast, reliable, robust
The SDK aims to always be the simplest part of your application. Using all current best practices for software development, the SDK's interface will have you started and finished on any given task in only a few lines of code. And yet, when something's not quite as expected, things are not so opaque as to be troublesome to debug.
Code complexity for the API component of the SDK is a primary concern. Therefore, you can intuitively trace the behaviour of an operation with minimal effort.
Reliability is also an inherent goal of the SDK. At no time will you ever be wondering if your tools are causing you problems. Every component in the SDK is based off of thoroughly tested design patterns, and any third-party dependencies are equally well-tested, and vetted by the PHP community at large.
The SDK is a tool for you to use in any way you need to. If the SDK doesn't support a behaviour, then it is trivial to inject a complete replacement for just about any given component, without having to untangle any esoteric inter-class interfaces. Dependency injection is an inherent pattern in the SDK.
Updated with the latest and greatest, regularly
The SDK versions on our GitHub repository map directly to versions of the API, and updates to the API are frequently reflected on each version branch. New "revision" releases are tagged often, and this is automatically reflected in Composer. So, whether you want to target a very specific version of the SDK, or want to always have updates as they develop, we've got you covered.
Officially supported
CallFire officially supports the SDK, so if you ever have questions about how to use it, or are having a problem making it work, we have a team of qualified developers available to help.
Documentation and examples, with more being added often
The SDK aims to be fully documented, both inside and out. All of the documentation available via the API is replicated to the relevant "docblocks" within the library. If you're making use of a quality IDE, the documentation should be right at your fingertips as you code, instead of referring back to a separate document.
Bundled directly with the SDK are a set of intuitive code examples with explanations, demonstrating a variety of common tasks. As new features are added to the API, check this documentation for new examples.
Open Source
Best of all, the SDK is open-source, licensed under the MIT license. If you have an improvement to make to the SDK, go for it, make your changes, and submit a pull request back to us. After a thorough review, we'll merge your contributions into the mainline SDK for everyone's benefit.
You can find the new SDK at the CallFire PHP SDK GitHub page.
You can download the CallFire PHP SDK directly from Packagist.