Questo metodo deve essere utilizzato dall’OE per effettuare l’invio di una fattura nel formato XML e già firmata digitalmente secondo norme AGID, ovvero con estension .p7m e formato CAdES-BES (CMS Advanced Electronic Signatures).
curl -X POST https://demows.fatturazioneelettronica.aruba.it/services/invoice/uploadSigned \
-H 'Accept: application/json' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=' \
-d '{
"dataFile" : "dGVzdA=="
}'
<?php
// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");
$rest = new CkRest();
// URL: https://demows.fatturazioneelettronica.aruba.it/services/invoice/uploadSigned
$bTls = true;
$port = 443;
$bAutoReconnect = true;
$success = $rest->Connect('demows.fatturazioneelettronica.aruba.it',$port,$bTls,$bAutoReconnect);
if ($success != true) {
print 'ConnectFailReason: ' . $rest->get_ConnectFailReason() . "\n";
print $rest->lastErrorText() . "\n";
exit;
}
// See the Online Tool for Generating JSON Creation Code
$json = new CkJsonObject();
$json->UpdateString('dataFile','dGVzdA==');
$rest->AddHeader('Content-Type','application/json;charset=UTF-8');
$rest->AddHeader('Authorization','Bearer NLOGDVXLVaF3tzmnVPkTwpkuh7dG0i09uSCcog3u+rE=');
$rest->AddHeader('Accept','application/json');
$sbRequestBody = new CkStringBuilder();
$json->EmitSb($sbRequestBody);
$sbResponseBody = new CkStringBuilder();
$success = $rest->FullRequestSb('POST','/services/invoice/uploadSigned',$sbRequestBody,$sbResponseBody);
if ($success != true) {
print $rest->lastErrorText() . "\n";
exit;
}
$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
print 'Response Status Code = ' . $respStatusCode . "\n";
print 'Response Header:' . "\n";
print $rest->responseHeader() . "\n";
print 'Response Body:' . "\n";
print $sbResponseBody->getAsString() . "\n";
exit;
}
$jsonResponse = new CkJsonObject();
$jsonResponse->LoadSb($sbResponseBody);
// See the Online Tool for Generating JSON Parse Code
$errorCode = $jsonResponse->stringOf('errorCode');
$errorDescription = $jsonResponse->stringOf('errorDescription');
$uploadFileName = $jsonResponse->stringOf('uploadFileName');
?>
{
"errorCode": "",
"errorDescription": "",
"uploadFileName": "IT00499202641_kwefc.xml.p7m"
}