Sample code for 30+ languages & platforms
PHP ActiveX

TicketBAI -- Send HTTP POST

See more TicketBAI Examples

Demonstrates how to send a TicketBAI POST and get the response.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

$http = new COM("Chilkat.Http");

$success = $http->SetSslClientCertPfx('your.pfx','pfx_password');
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

// Get the XML we wish to send in the body of the request.
$sbXml = new COM("Chilkat.StringBuilder");
$success = $sbXml->LoadFile('qa_data/payload.xml','utf-8');
if ($success == 0) {
    print 'Failed to load XML that is to be the HTTP request body' . "\n";
    exit;
}

// Build the following JSON

// { 
//     "con": "LROE", 
//     "apa": "1.1", 
//     "inte": { 
//         "nif": "número de identificación fiscal", 
//         "nrs": "nombre o Razón social", 
//         "ap1": "primer apellido", 
//         "ap2": "segundo apellido" 
//     }, 
//     "drs": { 
//     "mode": "140", 
//     "ejer": "ejercicio" 
//     } 
// }

// Use this online tool to generate code from sample JSON: 
// Generate Code to Create JSON

$json = new COM("Chilkat.JsonObject");
$json->UpdateString('con','LROE');
$json->UpdateString('apa','1.1');
$json->UpdateString('inte.nif','número de identificación fiscal');
$json->UpdateString('inte.nrs','nombre o Razón social');
$json->UpdateString('inte.ap1','primer apellido');
$json->UpdateString('inte.ap2','segundo apellido');
$json->UpdateString('drs.mode','140');
$json->UpdateString('drs.ejer','ejercicio');

// Add required headers...
$http->SetRequestHeader('eus-bizkaia-n3-version','1.0');
$http->SetRequestHeader('eus-bizkaia-n3-content-type','application/xml');
$http->SetRequestHeader('eus-bizkaia-n3-data',$json->emit());

$url = 'https://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena';
$resp = new COM("Chilkat.HttpResponse");
$http->UncommonOptions = 'SendGzipped';
$success = $http->HttpSb('POST',$url,$sbXml,'utf-8','application/octet-stream',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

$http->ClearHeaders();

print 'response status code: ' . $resp->StatusCode . "\n";

// Examine the response (it is already decompressed)
print 'response body:' . "\n";
print $resp->BodyStr . "\n";

?>