...
Note |
---|
title | Running PHP in CGI or FCGId mode? |
---|
|
Update your .htaccess file to pass an environment variable to Blesta so it can capture the basic authentication details as per the following snippet: Code Block |
---|
| RewriteEngine on
...
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
|
If running PHP-FPM, set CGIPassAuth On in your .htaccess, or within your httpd.conf like the example:
Code Block |
---|
<FilesMatch \.php$>
CGIPassAuth On
SetHandler proxy:unix:/var/php-fpm/166630281728629.sock|fcgi://127.0.0.1
</FilesMatch>
|
Connecting
There are a number of ways to connect to the API. Choose the option that best fits your environment.
...
API Request | Description | PHP | CURL |
---|
encryption/systemEncrypt | Encrypts the given value using 256-bit AES in CBC mode using a SHA-256 HMAC hash as the key, based on the system configured setting in Blesta.system_key |
Expand |
---|
|
Code Block |
---|
language | php |
---|
linenumbers | true |
---|
| <?php
require_once "blesta_api.php";
$user = "username";
$key = "key";
$url = "https://yourdomain.com/installpath/api/";
$api = new BlestaApi($url, $user, $key);
$response = $api->post("encryption", "systemEncrypt", array('value' => "my text"));
print_r($response->response());
print_r($response->errors());
?>
|
|
|
Expand |
---|
|
curl https://yourdomain.com/installpath/api/encryption/systemEncrypt.json -u username:key -d 'value=my text' |
|
|
encryption/systemDecrypt | Decrypts the given value using 256-bit AES in CBC mode using SHA-256 HMAC hash as the key, based on the system configured setting in Blesta.system_key |
Expand |
---|
|
Code Block |
---|
language | php |
---|
linenumbers | true |
---|
| <?php
require_once "blesta_api.php";
$user = "username";
$key = "key";
$url = "https://yourdomain.com/installpath/api/";
$api = new BlestaApi($url, $user, $key);
$response = $api->post("encryption", "systemDecrypt", array('value' => "b2J2aW91c2x5IG5vdCByZWFsbHkgZW5jcnlwdGVk"));
print_r($response->response());
print_r($response->errors());
?>
|
|
|
Expand |
---|
|
curl https://yourdomain.com/installpath/api/encryption/systemDecrypt.json -u username:key -d 'value=b2J2aW91c2x5IG5vdCByZWFsbHkgZW5jcnlwdGVk' |
|
|
invoices/add | Creates a new invoice using the given data |
Expand |
---|
|
Code Block |
---|
language | php |
---|
linenumbers | true |
---|
| <?php
require_once "blesta_api.php";
$user = "username";
$key = "key";
$url = "https://yourdomain.com/installpath/api/";
$api = new BlestaApi($url, $user, $key);
$data = array(
'vars' => array(
'client_id' => 1,
'date_billed' => date("c"),
'date_due' => date("c"),
'currency' => "USD",
'lines' => array(
array(
'description' => "Line item #1",
'amount' => "5.99"
),
array(
'description' => "Line item #2",
'amount' => "3.75",
'qty' => 2
)
),
'delivery' => array("email")
)
);
$response = $api->post("invoices", "add", $data);
print_r($response->response());
print_r($response->errors());
?>
|
|
|
Expand |
---|
|
curl https://yourdomain.com/installpath/api/invoices/add.json -u username:key -d 'vars[client_id]=1' -d 'vars[date_billed]=2013-11-20T16:43:00-07:00' -d 'vars[date_due]=2013-11-20T16:43:00-07:00' -d 'vars[currency]=USD' -d 'vars[lines][0][description]=Line item #1' -d 'vars[lines][0][amount]=5.99' -d 'vars[lines][1][description]=Line item #2' -d 'vars[lines][1][amount]=3.75' -d 'vars[lines][1][qty]=2' -d 'vars[delivery][0]=email' |
|
|
users/auth | Determines whether the user credentials are valid to be authenticated with Blesta |
Expand |
---|
|
Code Block |
---|
language | php |
---|
linenumbers | true |
---|
| <?php
require_once "blesta_api.php";
$user = "username";
$key = "key";
$url = "https://yourdomain.com/installpath/api/";
$api = new BlestaApi($url, $user, $key);
$data = array(
'username' => 'myuser',
'vars' => array(
'username' => 'myuser',
'password' => 'mypassword'
),
'type' => 'any'
);
$response = $api->post("users", "auth", $data);
print_r($response->response());
print_r($response->errors());
?>
|
|
|
Expand |
---|
|
curl https://yourdomain.com/installpath/api/users/auth.json -u username:key -d 'username=myuser' -d 'vars[username]=myuser' -d 'vars[password]=mypassword' -d 'type=any' |
|
|
How to Read the Source Docs
...