Die Schnittstelle (API)

In ResellerProfessional 2.0 (RP) steht Ihnen eine Programmierschnittstelle (API) zur Verfügung, mit deren Hilfe Sie das ResellerProfessional erweitern können. Sie können z.B. eigene Menüpunkte einfügen, die auf Inhalte des ResellerProfessionals zurückgreifen, Ihren Kunden zusätzliche Informationen zur Verfügung zu stellen und Informationen ausgeben, die Ihre Arbeit mit dem ResellerProfessional vereinfachen.

Die Schnittstelle

Die Schnittstelle ermöglicht einen lesenden Zugriff auf die Klassen und Funktionen des ResellerProfessionals über eigene Skripte. Ein schreibender Zugriff ist nicht möglich. Grundsätzlich sollten Sie für die Nutzung der API bereits Erfahrung mit der Programmierung von Schnittstellen bzw. mit PHP besitzen.

In dieser FAQ finden Sie Informationen zum Aufbau der Schnittstelle und Code-Beispiele für PHP, mit denen die Möglichkeiten und die Funktionsweise der API verdeutlicht werden sollen. Eine Liste der verfügbaren Klassen und Funktionen finden Sie ferner im ResellerProfessional unter dem Navigationspunkt "API-Doku". Dort stehen unter dem Reiter "Beispielskripte" außerdem einige Beispielskripte zum Download zur Verfügung.

Bevor Sie starten

Für die Nutzung eigener Skripte und den Zugriff auf das ResellerProfessional über die Schnittstelle benötigen Sie einen Client, den Sie in ResellerProfessional herunterladen können:

  • Klicken Sie in ResellerProfessional unter "System" auf den Navigationspunkt "API Doku".

  • Wechseln Sie dort auf den Reiter "Beispielskripte".

  • Laden Sie mit einem Klick auf "Download des API-Clients (bb.rpc.class.php)" die Datei "bb.rpc.class.php" herunter.

  • Bitte legen Sie diese Datei auf Ihrem Webspace ab. Achten Sie dabei darauf, die Datei mit Ihrem FTP- oder SSH-Programm im Binärmodus zu übertragen.

  • Die Datei können Sie in einem beliebigen Verzeichnis hochladen. Sie müssen dann lediglich bei der Einbindung der Datei in Ihren Skripten den jeweiligen Verzeichnispfad angeben.

Bitte beachten Sie:
Die Nutzung der Schnittstelle ist nur in Verzeichnissen möglich, in denen Sie keine PHP-Light Version verwenden.

Grundlegende Befehlszeilen

Um eine Verbindung mit der Schnittstelle aufzubauen, müssen Sie einige Codezeilen im jeweiligen Skript verwenden. Dazu zählen der Pfad zu Ihrer RP-Instanz, die Informationen zum Login sowie die Befehlszeile(n), um die benötigten Informationen auszulesen und im Fehlerfall z.B. die Meldungen des ResellerProfessionals als Ausgabe zu erhalten. Nachfolgend finden Sie einige grundlegende Informationen und Erläuterungen zu diesen Codezeilen:

URL Ihrer RP-Instanz

Die folgende Zeile muss vor der Zeile zur Einbindung des API-Clients gesetzt werden. Die URL muss mit einem Schrägstrich abschließen.

define("BBRPC_URL","http://Ihre-Auftragsnummer.premium-admin.eu/");

Datei, in welcher die Cookie-Daten gespeichert werden

Die folgende Zeile muss vor der Zeile zur Einbindung des API-Clients gesetzt werden:

define("BBRPC_COOKIE","bbRpc.cookie");

Einbinden des API-Clients

Sollte der API-Client nicht im selben Verzeichnis wie Ihre Skripte liegen, müssen Sie den Pfad zum API-Client angeben.

require_once("bb.rpc.class.php");

Funktion zum Ausgeben der Nachrichten des RP-Systems
Erfolgs-/Fehler-/Warn-/Info- Meldungen

function printBBRPCMsgs(){   
global $_BBRPC_Msgs;
foreach($_BBRPC_Msgs as $hMsg) {
echo("[".$hMsg["typ"]."] ".$hMsg["msg"]."\n");
}
}

Anmelden an Ihrer RP-Instanz

// auth(sUser,sPass) 
// sUser string = Benutzername des Admin-Zugangs Ihrer RP-Instanz
// sPass string = Passwort des Admin-Zugangs Ihrer RP-Instanz
bbRpc::auth("Ihr-Admin-Benutzer","Ihr-Admin-Passwort");

Einen Aufruf über die Schnittstelle starten

// call(sName,hArgs) 
// sName string [Klassenname]::[Funktionsname]
// hArgs hash Parameter-Hash
$xRet = bbRpc::call("bbDomain::readEntry",array("return_array"=>1));

Den Rückgabewert ausgeben

print_r($xRet);

Meldungen des RP-Systems ausgeben

printBBRPCMsgs();

Abmelden von Ihrer RP-Instanz

bbRpc::logout();

Grundgerüst einer PHP-Datei zur Nutzung der Schnittstelle

Ein PHP-Skript kann im einfachsten Fall wie folgt aufgebaut werden:

<?php
define("BBRPC_URL","http://Ihre-Auftragsnummer.premium-admin.eu/");
define("BBRPC_COOKIE","bbRpc.cookie");
require_once("bb.rpc.class.php");
function printBBRPCMsgs(){
global $_BBRPC_Msgs;
foreach($_BBRPC_Msgs as $hMsg){
echo("[".$hMsg["typ"]."] ".$hMsg["msg"]."\n");
}
}
bbRpc::auth("Ihr-Admin-Benutzer","Ihr-Admin-Passwort");

//An dieser Stelle erfolgt nun die Abfrage der gewünschten Informationen,
//die nachstehende Zeile ist ein Beispiel zum Auslesen der Domaindaten
$xRet = bbRpc::call("bbDomain::readEntry",array("return_array"=>1));

print_r($xRet);
printBBRPCMsgs();
bbRpc::logout();
?>

Anwendungsbeispiele zur Nutzung der Schnittstelle

Im Folgenden finden Sie Beispiele zur Nutzung der Schnittstelle. Eine Liste der verfügbaren Klassen und Funktionen finden Sie im ResellerProfessional unter dem Navigationspunkt "API-Doku". Dort stehen unter dem Reiter "Beispielskripte" außerdem einige Beispielskripte zum Download zur Verfügung.

1. Auslesen von Artikeln

Für das Auslesen einzelner Tarifdaten sind die Funktionen unter der Gruppierung "bbProduct" zuständig. Mit diesem Beispiel werden alle vorhandenen Artikel ausgelesen:

<?php
define("BBRPC_URL","http://Ihre-Auftragsnummer.premium-admin.eu/");
define("BBRPC_COOKIE","bbRpc.cookie");
require_once("bb.rpc.class.php");
function printBBRPCMsgs(){
global $_BBRPC_Msgs;
foreach($_BBRPC_Msgs as $hMsg){
echo("[".$hMsg["typ"]."] ".$hMsg["msg"]."\n");
}
}
bbRpc::auth("Ihr-Admin-Benutzer","Ihr-Admin-Passwort");
// Alle Artikel abfragen
$xRet = bbRpc::call("bbProduct::readEntry",array("return_array"=>1));
// Die Werte ausgeben
print_r($xRet);
printBBRPCMsgs(); bbRpc::logout();
?>

2. Auslesen der Verbraucher eines bestimmten Artikels

Um alle Daten des Reiters "Verbraucher" eines bestimmten Artikels z.B. eines Tarifs auszulesen, nutzen Sie bitte die folgenden Zeilen in Ihrem Skript:

$xRet = bbRpc::call("bbProduct::readLoad",
array(
"peid"=>99, // Die Verbraucher des Artikels mit der ID 99 werden zurückgegeben
"return_array"=>1, // Gibt ein assoziatives Array zurück, auch wenn nur ein
// Eintrag gefunden wird
)
);
// Die Werte ausgeben
print_r($xRet);

3. Inklusivtraffic aus den Verbrauchern eines bestimmten Artikels

Wenn Sie den Inklusivtraffic für einen bestimmten Tarif auslesen möchten, kann zunächst das Auslesen aller Verbraucher wie im vorangegangenen Beispiel erfolgen. Angepasst wird dann lediglich die Ausgabe der Daten, welche die Variable "traffic_incl" nutzt.

// Die Verbraucher eines bestimmten Tarifs auslesen
$xRet = bbRpc::call("bbProduct::readLoad",
array(
"peid"=>99,
"return_array"=>1,
)
);
// Den Inklusivtraffic des erhaltenen Verbrauchers eines bestimmten Tarifs ausgeben.
echo $xRet[0]['traffic_incl'];

4. Kundendaten auslesen

Das folgende Skript gibt die Daten Ihrer Kunden - Kundennummer, Geburtsdatum und E-Mail-Adresse - aus:

<?php
define("BBRPC_URL","http://Ihre-Auftragsnummer.premium-admin.eu/");
define("BBRPC_COOKIE","bbRpc.cookie");
require_once("bb.rpc.class.php");
function printBBRPCMsgs(){
global $_BBRPC_Msgs;
foreach($_BBRPC_Msgs as $hMsg) {
echo("[".$hMsg["typ"]."] ".$hMsg["msg"]."\n");
}
}
bbRpc::auth("Ihr-Admin-Benutzer","Ihr-Admin-Passwort");
// Die Daten der Kunden auslesen
$xRet = bbRpc::call("bbCustomer::readEntry",array("return_array"=>1));
print_r($xRet);
printBBRPCMsgs();
bbRpc::logout();
?>

5. Nicht bezahlte Rechnungen inklusive der jeweiligen Kundendaten auslesen

Für die Ausgabe nicht bezahlter Rechnungen inklusive der Kundendaten wie Vorname, Name, Firma, Adresse, Ruf- und Faxnummer sowie E-Mail-Adresse können Sie das folgende Beispiel nutzen:

$xRet = bbRpc::call("bbOrder::readAccountEntry",
array(
"paid"=>"not", // sucht nach Eintraegen die bei 'Rechnungs-Status' mit
// 'unbezahlt' markiert sind
"return_array"=>1, // gibt immer ein ein assoziatives Array zurueck auch wenn nur ein Element
// gefunden wird
"return_customer"=>1, // wenn das Kunden-Objekt zurueckgegeben werden soll
"return_adress"=>1, // wenn das Rechnungs-Adress-Objekt zurueckgegeben werden soll
"return_customer_overview"=>1, // wenn Anrede und andere Felder automatisch in das
// Kunden-Objekt eingefuegt werden sollen
"return_items"=>1, // wenn die Rechnungs-Item-Objekte zurueckgegeben werden sollen
)
);
print_r($xRet);
NeinJa

Haben Ihnen die FAQ weitergeholfen?

domainFACTORY Forum

Im domainFACTORY Forum finden Sie viele weitere Fragen und Antworten oder stellen Sie einfach Ihre Frage. Die domainFACTORY Community hilft Ihnen gerne weiter!

Forenbereiche zum Thema dieser FAQ

ResellerProfessional  Zugriff exklusiv für Reseller – bitte im Forum akkreditieren

Sie kommen aus Deutschland? Besuchen Sie unsere deutsche Webseite!
Sie kommen aus Österreich? Besuchen Sie unsere österreichische Webseite!
Sie kommen nicht aus Deutschland oder Österreich? Besuchen Sie unsere internationale Webseite!
Nicht mehr anzeigen