Note: This feature is not currently applicable to the URL-to-PDF feature, as it returns PDF data in real-time. If there is a need or justification for returning the PDF in a notification, please let us know and we will consider it.
Since ShrinkTheWeb's launch, we have always instructed users of the "Advanced Method" API to poll on a graduating delay (30s, 60s, 90s, etc) to download requested web page screenshot captures when ready. While this method works and is relatively straightforward, it is not really scalable.
Although it has been "on the list" for years to provide a notify callback, providing a more robust delivery of images, potentially much quicker turnaround, and reducing unnecessary requests to our servers; there are always a hundred other "urgent" tasks to handle. So it kept getting pushed back.
Now, though, I'm happy to announce that we will finally be releasing a notify callback that will automatically contact your server when a capture is ready and will send information about the capture, along with the image data itself. This will all happen within a single call (POST), reducing resource usage on both sides.
This feature will be released soon, so please leave a quick comment to subscribe to this thread, if you are interested in trying it out. On release day, we will also update the Sample PHP code with a sample "notify callback" script that you can just drop in place.
Much of the effort this year has been done in preparation for our upcoming API overhaul that will pave the way for adding support for some great, new features that go beyond just capturing and delivering screenshots of websites. The details are still being kept under wraps, but there is a reason to all the madness!
Stay Tuned!
GEEK-SPEAK
For those who are curious, the notification callback from our server will be in JSON format. If requested, we will add XML format, but we feel that users will not require XML, so we are not going to support it initially.
In regards to the single POST notification with image payload, there will be an option to NOT get the image payload, opting for the URL to download from the API instead. The benefit to overriding the default for making a secondary download request is that some users, with large images (1 Mb or more), may save on bandwidth costs. The reason is that including the image data with the JSON response requires Base64 encoding of the image data, which adds 33% overhead to the size. If you override the default and download from the API, it means making an extra call but will reduce the bandwidth usage.
Lastly, when we release the updated API later this year, we will switch to JSON as the default (from XML now) for all requests. There will be entirely new Sample PHP Code for users to drop in, so that they can take advantage of the new features. However, we will also make notes of the minor changes required to upgrade custom integrations that cannot be so easily replaced with our Sample code. With a few easy find/replace searches, the conversion should be easy, and for those who absolutely cannot make changes; the current API will remain operational, indefinitely. It just won't allow users to take advantage of the new features that are planned.
If anyone has questions or ideas, please feel free to share or ask away!