API til integration – eksempel i PHP

Contents

    I Ubivox har du adgang til et API, så din (web)applikation kan tale direkte med vores systemer.

    Her følger et eksempel på hvordan det kan gribes an i PHP. Eksemplet gør brug af Zends framework, som kan hentes på zend.com. Hent Zend Framework Minimal og pak det ud i en mappe for sig. Sæt include-path til at pege på library-mappen, og kør dernæst et par Zend-tryllerier:

    set_include_path(‘/sti/til/ZendFramework-1.10.8-minimal/library/’);

    require_once(‘Zend/Loader/Autoloader.php’);
    Zend_Loader_Autoloader::getInstance();

    Ret følgende defines til:

    define(‘USERNAME’, ‘username-til-API’);
    define(‘PASSWORD’, ‘password-til-API’);
    define(‘LIST_ID’, 42);

    Følgende kodestump instantierer $client-objektet, så det kan bruges til kommunikation med servicen.

    define(‘HOSTNAME’, ‘https://’.USERNAME.’.clients.ubivox.com/xmlrpc/’);

    $http = new Zend_Http_Client(HOSTNAME, array(‘keepalive’=>true));
    $http->setAuth(USERNAME, PASSWORD, Zend_Http_Client::AUTH_BASIC);

    $client = new Zend_XmlRpc_Client(HOSTNAME, $http);

    Nu har du forhåbentlig forbindelse til API’et. Dernæst kan du køre følgende, som henter information om modtageren foo@eksempel.dk:

    try {
    $response = $client->call(‘ubivox.get_subscriber’,
    array(‘foo@eksempel.dk’));

    var_dump($response);
    } catch (Zend_XmlRpc_Client_FaultException $e) {
    var_dump($e);
    }

    Vil du kalde f.eks. create_subscription kan du gøre som følger:

    try {

    $client->call(‘ubivox.create_subscription’,
    array(‘foo@eksempel.dk’, LIST_ID, true));

    } catch(Zend_XmlRpc_Client_HttpException $e) {

    // Connection error
    var_dump($e);

    } catch(Zend_XmlRpc_Client_FaultException $e) {

    switch($e->getCode()) {
    case 1003: // Allready subscribed on this list in ubivox
    break;
    case 2001: // Invalid mailing list
    break;
    case 1001: // E-mail address is invalid
    break;
    }

    } catch(Exception $e) {

    // Unknown error
    var_dump($e);

    }

    // The subscription was created

    Komplet dokumentation til Ubivox’ API kan du finde under menupunktet Konto. Dokumentation til Zends XMLRPC-framework kan du finde på zend.com – søg efter xmlrpc.

    Updated on 2. november 2015
    Was this article helpful?

    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *