Skip to content

PHP JSON client-side library that defines the PHP classes that can be (de)serialized to/from JSON. This is useful for accessing the REST endpoints that are published by the madana-api, but only those that produce a JSON representation of their resources (content type "application/json").

Notifications You must be signed in to change notification settings

MADANA-IO/madana-apiclient-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MadanaAPIClient

Using the madana-api

This documentation contains a Quickstart Guide, relating client functionality and information about the available endpoints and used datamodels.

The madana-api and its implementations are still in heavy development. This means that there may be problems in our protocols, or there may be mistakes in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! If you find a vulnerability that may affect live deployments -- for example, by exposing a remote execution exploit -- please send your report privately to info@madana.io. Please DO NOT file a public issue. If the issue is a protocol weakness that cannot be immediately exploited or something not yet deployed, just discuss it openly


Note: Not all functionality might be acessible without having accquired and api-license token. For more information visit www.madana.io


Installation & Usage

Requirements

PHP 7.2 and later.

Composer

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

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

Then run composer install

Manual Installation

Download the files and include autoload.php:

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

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');




$apiInstance = new OpenAPI\Client\Api\AccountServiceApi(
    // 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 GuzzleHttp\Client()
);
$token = 'token_example'; // string

try {
    $result = $apiInstance->activateUser($token);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountServiceApi->activateUser: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to http://api.madana.io/rest

Class Method HTTP request Description
AccountServiceApi activateUser GET /account/activation/{token}
AccountServiceApi createPasswordReset POST /account/password Sends an Password reset mail to the given MailAddress.
AccountServiceApi requestVerificationMail GET /account/verifymail Used to request a new activation-mail for the user.
AccountServiceApi updatePassword PUT /account/password Receives the Password reset and tries to set the provided password for the user.
AuthenticationServiceApi authenticateApplication POST /authentication/application Authenticates a new application and returns the token.
AuthenticationServiceApi authenticateEthereumWallet POST /authentication/ethereum/{wallet}
AuthenticationServiceApi authenticateUser POST /authentication Authenticates a new user and returns the token ( forbidden if the credentials cannot be validated ).
AuthenticationServiceApi authenticateWithEthereumChallenge POST /authentication/ethereum/{wallet}/challenge
AuthenticationServiceApi getFractalAuthenticationURL GET /authentication/fractal Returns the AUthorization URL to verify a Twitter Accounts.
AuthenticationServiceApi getNonceForEthereumWallet GET /authentication/ethereum/{wallet} Returns a nonce for the client which is used as content for the to be created signature.
AuthenticationServiceApi getObject GET /authentication Used to validate the active connection with the API.
AuthenticationServiceApi getTwitterAuthenticationURL GET /authentication/twitter Returns the AUthorization URL to verify a Twitter Accounts.
AuthenticationServiceApi setFacebookUID POST /authentication/facebook Used as Callback URL when users have successfully authorized their facbeook account.
AuthenticationServiceApi setFractalUID POST /authentication/fractal
AuthenticationServiceApi setTwitterUID POST /authentication/twitter
CertificateServiceApi authenticateCertificate POST /certificates Issues certificates for logged-in users.
CertificateServiceApi getCertificateByFingerprint GET /certificates/{fingerprint}
CertificateServiceApi getRootCertificate GET /certificates/root
DataCollectionServiceApi getMethodsForType GET /datacollection/types/{name}/methods
DataCollectionServiceApi getNodes GET /datacollection/methods
DataCollectionServiceApi getTypes GET /datacollection/types
EnclaveServiceApi addHistory POST /enclaves/{uuid}/history
EnclaveServiceApi approveEnclave POST /enclaves/{uuid}/approval
EnclaveServiceApi assignEnclaveAgent POST /enclaves/{uuid}/assign
EnclaveServiceApi attestateEnclave POST /enclaves/{uuid}/attestation
EnclaveServiceApi createEnclaveRunRequest POST /enclaves
EnclaveServiceApi getEnclave GET /enclaves/{uuid}
EnclaveServiceApi getEnclaveTypes GET /enclaves/types
EnclaveServiceApi getEnclaves GET /enclaves Returns UUIDs of existing analyses.
EnclaveServiceApi getStats GET /enclaves/stats
EnclaveServiceApi killEnclave POST /enclaves/{uuid}/kill
EnvironmentServiceApi deleteEnvironment DELETE /environments/{uuid}
EnvironmentServiceApi deleteEnvironmentSubscription DELETE /environments/{uuid}/subscribe
EnvironmentServiceApi getEnvironment GET /environments/{uuid}
EnvironmentServiceApi getEnvironments GET /environments Returns UUIDs of existing analyses.
EnvironmentServiceApi getPublishedEnvironments GET /environments/published
EnvironmentServiceApi getSubscribedEnvironments GET /environments/subscriptions
EnvironmentServiceApi publishEnvironment POST /environments
EnvironmentServiceApi subscribeEnvironment POST /environments/{uuid}/subscribe
EnvironmentServiceApi updateEnvironment PUT /environments/{uuid}
InvoiceServiceApi getBillingPortalURL GET /invoices/portal
InvoiceServiceApi getInvoices GET /invoices
NodeServiceApi createNode POST /nodes/v2
NodeServiceApi getBootstrap GET /nodes/bootstrap
NodeServiceApi getNodeLicenses GET /nodes/licenses
NodeServiceApi getNodeV2 GET /nodes/v2/{ident}
NodeServiceApi getNodes2 GET /nodes
NodeServiceApi getNodesV2 GET /nodes/v2 Returns UUIDs of existing analyses.
NodeServiceApi killNode POST /nodes/v2/{ident}/kill
NodeServiceApi postNodeInfo POST /nodes
NodeServiceApi postNodeInfo_0 POST /nodes/create
OrganizationServiceApi getNodes3 GET /organizations
RequestServiceApi addData POST /requests/{uuid}/data Is used to upload and park the data till the AnalysisRequest gets processed.
RequestServiceApi cancelProcessing POST /requests/{uuid}/cancel Endpoint is called from the Analysis Processing entity to submit the result.
RequestServiceApi createNewRequest POST /requests Endpoint used to create a new Analysis Request.
RequestServiceApi getActions GET /requests/actions
RequestServiceApi getAgent GET /requests/{uuid}/agent Is called from the APE to request all parked datasets.
RequestServiceApi getAllRequests GET /requests Returns UUIDs of existing analyses.
RequestServiceApi getData GET /requests/{uuid}/data Is called from the APE to request all parked datasets.
RequestServiceApi getRequest GET /requests/{uuid} Returns the details for certain Request.
RequestServiceApi getResult GET /requests/{uuid}/result Can be called from creator to request the AnalysisResult.
RequestServiceApi getStatus GET /requests/stats
RequestServiceApi giveConsent POST /requests/{uuid}/consent Used to give consent for request.
RequestServiceApi initRequestParameters POST /requests/{uuid} Endpoint used initialized addition datacollection parameters for requester.
RequestServiceApi setAgent POST /requests/{uuid}/agent Is called from the APE to request all parked datasets.
RequestServiceApi setResult POST /requests/{uuid}/result Endpoint is called from the Analysis Processing entity to submit the result.
SocialPlatformServiceApi getPlatforms GET /platforms Used to Handle Incoming Webhooks from Facebook.
SocialPlatformServiceApi listenTwitterWebhook POST /platforms/twitter Used to Handle Incoming Webhooks from Facebook.
SocialPlatformServiceApi registerTwitterWebhook GET /platforms/twitter Used to Handle Incoming Webhooks from Twitter.
SocialServiceApi getMyProfile GET /social/profiles/me
SocialServiceApi getPlatforms2 GET /social Returns all Platforms / Systems that can be Connected to the MADANA Service.
SocialServiceApi getRanking GET /social/ranking Returns the Ranking by PTS within the System.
SocialServiceApi getSocialPlatformFeed GET /social/feed/{platform}
SocialServiceApi getUserProfile GET /social/profiles/{username}
SocialServiceApi getUserProfile_0 GET /social/profiles/{username}/simple
SubscriptionServiceApi addFreeSubscription POST /subscriptions/saas/free
SubscriptionServiceApi addPassTrialSubscription POST /subscriptions/paas/trial
SubscriptionServiceApi getApplication GET /subscriptions/active
SubscriptionServiceApi getCheckoutSession GET /subscriptions/{productname}/checkout
SubscriptionServiceApi getCheckoutSession2 POST /subscriptions/{productname}/{newplan}
SystemServiceApi getAllObjects GET /system/health
SystemServiceApi getApplication2 GET /system/usage Return the current application usage.
UserServiceApi cancelSubscription POST /users/{username}/subscriptions/{planname}/cancel
UserServiceApi createObject POST /users Creates a new user object.
UserServiceApi deleteObject DELETE /users/{username} Deletes an User based on the provided id and securitycontext.
UserServiceApi deleteObject_0 DELETE /users/{username}/social/{platform}/{ident} Deletes linked account from the user and securitycontext.
UserServiceApi getAvatars GET /users/{username}/avatars
UserServiceApi getCertificates GET /users/{username}/certificates
UserServiceApi getEnclaveHistory GET /users/{username}/enclavehistory
UserServiceApi getObject2 GET /users/{username}
UserServiceApi setAvatar POST /users/{username}/avatars
UserServiceApi setSettings POST /users/{username}/settings
UserServiceApi updateObject PUT /users/{username} Updates Userproperties based on the provided user object.

Models

Authorization

All endpoints do not require authorization.

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.5.0-master.56
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen

About

PHP JSON client-side library that defines the PHP classes that can be (de)serialized to/from JSON. This is useful for accessing the REST endpoints that are published by the madana-api, but only those that produce a JSON representation of their resources (content type "application/json").

Topics

Resources

Stars

Watchers

Forks

Languages