Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    appnexus-apipublic

    Build Status

    appnexus-api

    appnexus-api is an easy-to-use Appnexus client for node.

    Install

    $ npm install appnexus-api
    

    Request throttling

    This library throttle requests to respect Appnexus limits:

    • Max 10 authentications per 5 minute period
    • Max 60 writes per minute
    • Max 100 reads per minute

    Usage

    See system tests.

    Keep authenticated

    Appnexus token is valid for 2 hours. Appnexus recomends to listen for the
    "NOAUTH" error and then reauthenticate.
    This library does not implement that behavior.

    Here is an example of continuous authentication.

    var Appnexus = require('appnexus-api'),
    reauthenticateEvery = 60*60*1000;
    reauthenticateRetry = 500;
    
    (function authenticate() {
        self.client.authenticate(function (err, token) {
            if (err) {
                self.emit('error', err);
                setTimeout(authenticate, reauthenticateRetry);
            } else {
                self.client.token = token;
                setTimeout(authenticate, reauthenticateEvery);
            }
        });
    }());
    

    In the example the client try to reauthenticate every hour.
    If it fails, it will keep trying retry every 500 ms. Request throttle will prevent
    exceeding appnexus authentication request limits.

    Unit testing

    You can use mocha with your preferred options or just make test-unit

    Test against Appnexus endpoint

    You can run the system tests against an Appnexus like system.
    Before you run them, double check that your environment is set up.
    For instance you can create a testing-env.sh shell script like:

    # Appnexus testing environment credentials
    export APPNEXUS_USERNAME=johndoe
    export APPNEXUS_PASSWORD=secret
    export APPNEXUS_ENDPOINT=http://sand.api.appnexus.com
    

    And add it to your working environment with $ . ./testing-env.sh then

    $ npm test
    

    or

    $ make test-system
    

    System tests are instrumentalised using the excellent debug library.

    Bitdeli Badge

    Keywords

    install

    npm i appnexus-api

    Downloadsweekly downloads

    50

    version

    0.0.11

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar