public static function documentDetails($client, $documentGuid)
 {
     $xml = $client->get(sprintf('/api/documents/%s.xml', $documentGuid));
     $array = ArrayHelpers::normaliseKeys(XmlHelpers::toArray($xml));
     $array = ArrayHelpers::collapseGroup($array, 'audit_trail');
     $array = ArrayHelpers::collapseGroup($array, 'form_fields');
     $array = ArrayHelpers::collapseGroup($array, 'recipients');
     $array = ArrayHelpers::collapseGroup($array, 'pages');
     return new self($array);
 }
 /**
  * Creates an intermediate document via the Prepackage Template call.
  *
  * @see https://rightsignature.com/apidocs/api_calls?api_method=prepackageTemplate
  *
  * @param object $client       HTTP client
  * @param string $templateGuid template GUID
  * @param string $callbackUrl  optional callback URL
  *
  * @return RightSignature\PrepackagedDocument
  */
 public static function prepackage($client, $templateGuid, $callbackUrl = null)
 {
     $payload = $callbackUrl ? "<callback_location>{$callbackUrl}</callback_location>" : null;
     $xml = $client->post("/api/templates/{$templateGuid}/prepackage.xml", $payload);
     $array = ArrayHelpers::normaliseKeys(XmlHelpers::toArray($xml));
     $array = ArrayHelpers::collapseGroup($array, 'merge_fields');
     $array = ArrayHelpers::collapseGroup($array, 'roles');
     $array = ArrayHelpers::collapseGroup($array, 'pages');
     return new PrepackagedDocument($client, $array);
 }
 /**
  * Parse the XML response of a Prefill Template call.
  */
 private static function _parsePrefillResponse($xml)
 {
     $array = ArrayHelpers::normaliseKeys(XmlHelpers::toArray($xml));
     $array = ArrayHelpers::collapseGroup($array, 'merge_fields');
     $array = ArrayHelpers::collapseGroup($array, 'roles');
     $array = ArrayHelpers::collapseGroup($array, 'pages');
     return $array;
 }