Difference between revisions of "REST API examples"

From aMember Pro Documentation
Jump to: navigation, search
(Add Invoice, Payment, Access)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* Add user to aMember via API:
+
====Add user to aMember via API====
 
<source>
 
<source>
 
<?php
 
<?php
Line 6: Line 6:
 
$fields = array(
 
$fields = array(
 
     '_key' => 'SECRETKEY',
 
     '_key' => 'SECRETKEY',
    '_format' => 'xml',
 
 
     'login' => 'USERNAME',
 
     'login' => 'USERNAME',
 
     'pass' => 'PASSWORD',
 
     'pass' => 'PASSWORD',
Line 18: Line 17:
 
//set the url, number of POST vars, POST data
 
//set the url, number of POST vars, POST data
 
curl_setopt($ch, CURLOPT_URL, $url);
 
curl_setopt($ch, CURLOPT_URL, $url);
 +
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
Line 30: Line 30:
 
</source>
 
</source>
  
* Add Invoice, Payment, Access  
+
====Add Invoice, Payment, Access====
  
 
<source>
 
<source>
Line 115: Line 115:
 
//set the url, number of POST vars, POST data
 
//set the url, number of POST vars, POST data
 
curl_setopt($ch, CURLOPT_URL, $url);
 
curl_setopt($ch, CURLOPT_URL, $url);
 +
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
Line 126: Line 127:
 
</source>
 
</source>
  
* Add access record only  
+
====Add access record only====
 
<source>
 
<source>
 
<?php
 
<?php
Line 140: Line 141:
 
//set the url, number of POST vars, POST data
 
//set the url, number of POST vars, POST data
 
curl_setopt($ch, CURLOPT_URL, $url);
 
curl_setopt($ch, CURLOPT_URL, $url);
 +
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 
curl_setopt($ch, CURLOPT_POST, true);
 +
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
 +
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
 +
//execute post
 +
$result = curl_exec($ch);
 +
 +
//close connection
 +
curl_close($ch);
 +
 +
</source>
 +
 +
====Change expiration date for existing access record====
 +
 +
<source>
 +
<?php
 +
$ch = curl_init();
 +
$url ="http://www.example.com/amember/api/access/5051"; // Access id should be included in url
 +
$vars = array(
 +
        '_key'          =>      'xxxxx',
 +
        'expire_date'  =>date('Y-m-d')  // Set expire date to today's date
 +
);
 +
//set the url, number of POST vars, POST data
 +
curl_setopt($ch, CURLOPT_URL, $url);
 +
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 +
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Set method to PUT, so API module knows that this is update request.
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));

Latest revision as of 05:25, 16 November 2017

Contents

Add user to aMember via API

<?php
$url = 'http://YOURDOMAIN.COM/amember/api/users';
 
$fields = array(
    '_key' => 'SECRETKEY',
    'login' => 'USERNAME',
    'pass' => 'PASSWORD',
    'email' => 'EMAIL',
    'name_f' => 'FIRST NAME',
    'name_l' => 'LAST NAME',
);
//open connection
$ch = curl_init();
 
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
 
//execute post
$result = curl_exec($ch);
 
//close connection
curl_close($ch);

Add Invoice, Payment, Access

<?php
$url = 'http://YOURDOMAIN.COM/amember/api/invoices';
 
$vars = array(
    '_key' => 'SECRETKEY',
    // Invoice Record
    'public_id' => 'TRAX',
    'user_id' => 1,
    'paysys_id' => 'offline',
    'currency' => 'USD',
    'first_subtotal' => '22.00',
    'first_discount' => '0.00',
    'first_tax' => '0.00',
    'first_shipping' => '0.00',
    'first_total' => '22.00',
    'first_period' => '1m',
    'rebill_times' => 99999, // means until cancel
    'second_subtotal' => '22.00',
    'second_discount' => '0.00',
    'second_tax' => '0.00',
    'second_shipping' => '0.00',
    'second_total' => '22.00',
    'second_period' => '1m',
    'is_confirmed' => 1, // Must be 1
    'status' => 1, // 1 - paid 0 - pending check Invoice model
    'nested' => array(
        'invoice-items' => array(
            // InvoiceItem record
            array(
                'invoice_public_id' => 'TRAX',
                'item_id' => 1, // product_id here;
                'item_type' => 'product',
                'item_title' => 'Archive',
                'item_description' => 'Description of item',
                'qty' => 1,
                'first_discount' => '0.00',
                'first_price' => '22.00',
                'first_tax' => '0.00',
                'first_shipping' => '0.00',
                'first_total' => '22.00',
                'first_period' => '1m',
                'rebill_times' => 99999,
                'second_discount' => '0.00',
                'second_tax' => '0.00',
                'second_shipping' => '0.00',
                'second_total' => '22.00',
                'second_price' => '22.00',
                'second_period' => '1m',
                'currency' => 'USD',
                'billing_plan_id' => 1 // Billing plan within  product, check am_billing_plan table.
            )
        ),
        'invoice-payments' => array(
            // InvoicePayment record
            array(
                'invoice_public_id' => 'TRAX',
                'user_id' => 1,
                'paysys_id' => 'offline',
                'receipt_id' => 'test-receipt',
                'transaction_id' => 'test-transaction',
                'currency' => 'USD',
                'amount' => '22.00'
            )
        ),
        'access' => array(
            // Access record
            array(
                'invoice_public_id' => 'TRAX',
                'user_id' => 1,
                'product_id' => 1,
                'transaction_id' => "test-transaction",
                'begin_date' => '2012-01-01',
                'expire_date' => '2013-01-01'
            )
        )
    ));
 
//open connection
$ch = curl_init();
 
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
//execute post
$result = curl_exec($ch);
 
//close connection
curl_close($ch);

Add access record only

<?php
$ch = curl_init();
$url ="http://www.example.com/amember/api/access";
$vars = array(
        '_key'          =>      'xxxxxxx',
        'user_id'       =>      1,
        'product_id'    =>      1,
        'begin_date'    =>      date('Y-m-d'), // Today; 
        'expire_date'   =>      '2037-12-31' // Lifetime
);
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
//execute post
$result = curl_exec($ch);
 
//close connection
curl_close($ch);

Change expiration date for existing access record

<?php
$ch = curl_init();
$url ="http://www.example.com/amember/api/access/5051"; // Access id should be included in url
$vars = array(
        '_key'          =>      'xxxxx',
        'expire_date'   =>date('Y-m-d')  // Set expire date to today's date
);
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Set method to PUT, so API module knows that this is update request. 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($vars));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
//execute post
$result = curl_exec($ch);
 
//close connection
curl_close($ch);