Skip to content

databox/databox-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Databox

Push API resources Open API documentation

Installation & Usage

Requirements

PHP 7.4 and later. Should also work with PHP 8.0.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/Databox/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php

require_once __DIR__ . '/../../../vendor/autoload.php';

use Databox\Api\DefaultApi;
use Databox\ApiException;
use Databox\Configuration;
use Databox\Model\PushData as DataboxPushData;
use Databox\Model\PushDataAttribute;
use GuzzleHttp\Client;

execute();

function execute()
{
    // Configure HTTP basic authorization: basicAuth
    $config = Configuration::getDefaultConfiguration()
        ->setHost('https://push.databox.com')
        ->setUsername('<CUSTOM_DATA_TOKEN>');

    $headers = [
        'Content-Type' => 'application/json',
        'Accept'       => 'application/vnd.databox.v2+json'
    ];

    $apiInstance = new DefaultApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
        new Client(['headers' => $headers]),
        $config
    );

    $pushData = (new DataboxPushData())
        ->setKey('<METRIC_KEY_NAME>') // for e.g. sessions
        ->setValue(125)
        ->setDate('2017-01-01T00:00:00Z') // Date in ISO8601 format
        ->setUnit('<UNIT>'); // for e.g. $

    // Optional
    if (true) { // If you want to push data to a specific dimension
        $pushDataAttribute = new PushDataAttribute(
            [
                'key'   => '<DIMENSION_KEY>', // for e.g. country
                'value' => '<DIMENSION_VALUE>' // for e.g. US
            ]
        );

        $pushData->setAttributes([$pushDataAttribute]);
    }

    try {
        $apiInstance->dataPost([$pushData]);
        echo "Successfully pushed data to Databox";
    } catch (ApiException $e) {
        echo 'Exception when calling DefaultApi->dataPost: ' . $e->getMessage() . PHP_EOL . $e->getResponseBody() . PHP_EOL;
    }
}

API Endpoints

All URIs are relative to https://push.databox.com

Class Method HTTP request Description
DefaultApi dataDelete DELETE /data
DefaultApi dataMetricKeyDelete DELETE /data/{metricKey}
DefaultApi dataPost POST /data
DefaultApi metrickeysGet GET /metrickeys
DefaultApi metrickeysPost POST /metrickeys
DefaultApi pingGet GET /ping

Models

Authorization

Authentication schemes defined for the API:

basicAuth

  • Type: HTTP basic authentication

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 0.4.1
    • Package version: 2.1.3
    • Generator version: 7.6.0
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen