Documents not downloading, invalid ID

I’ve fixed your script (you were using $curl when calling curl_setopt, but were defining $ch5, which leaves $curl undefined and your PHP code will fall over.

#!/usr/bin/php
<?php
$url5 = "https://document-api.companieshouse.gov.uk/document/xtXcP0MpmXVAgJh
KdDk2XywNgqIOX9MnUOzgPKeV7O8";
$api5 = "PUT YOUR API KEY HERE";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept:application/pdf'));
curl_setopt($curl, CURLOPT_USERPWD,$api5);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

$result5 = curl_exec($curl);
curl_close($curl);

$jsonObj5 = json_decode($result5);
var_dump($jsonObj5);
?>

This will return you all the information you may want about the document. To get the one-use, limited-time URL of the actual PDF document, do this (note the /content in $ur5):

#!/usr/bin/php
<?php
$url5 = "https://document-api.companieshouse.gov.uk/document/xtXcP0MpmXVAgJh
KdDk2XywNgqIOX9MnUOzgPKeV7O8/content";
$api5 = "PUT YOUR API KEY HERE";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept:application/pdf'));
curl_setopt($curl, CURLOPT_USERPWD,$api5);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

$result5 = curl_exec($curl);
curl_close($curl);

$jsonObj5 = json_decode($result5);
var_dump($jsonObj5);
?>

Hope that helps!
Chris

1 Like