AWBS API

From AWBS Wiki
Revision as of 13:27, April 2, 2010 by Awbsrob (Talk | contribs)

Jump to: navigation, search

Available Commands

adduser

Example Post String: command=adduser&accesskey=mykey&activate=1&address1=101 Somestreet&city=somecity&country=us&countrycode=1&email=user@somedomain.com&first_name=Some&last_name=User&username=sampleuser&password=$pass&ppassword=somepass&phone=0000000000&rspchoice=1&state=fl&zip=00000&lpquestion=Some secret question&lpanswer=Some Answer

Available Parameters:

PARAMETER DESCRIPTION
activate 1=Active 2=Canceled 3=Pending 4=Suspended 5=Fraud 9=Flagged
address1 User's Postal Address Line 1
address2 User's Postal Address Line 2
city User's City
company Company Name
country 2 letter country code
countrycode 2 or 3 digit country dialing code
custom1 Custom Field 1 Information
custom2 Custom Field 2 Information
custom3 Custom Field 3 Information
email User's E-Mail Address
fax User's Fax Number
first_name User's First Name
groupname User group ID number
jobtitle User's Job Title
language Language for User (default=english)
last_login Last login time for user, must be in unix time
last_name User's Last Name
last_transaction Last Transaction time by user, must be in unix time
lpanswer Secret Answer
lpquestion Secret Question
mail_type 1=Text 2=HTML
maillist Add to mailing list 1=Yes 0=No
password MD5 Encoded Password for User
phone User's Phone Number (no spaces, or hyphens)
ppassword User's Password in plain text
province User's Province of Residence
refill_notify 1=Yes 0=No
resellermaxaccts Maximum number of eNom Reseller accounts allowed
rspchoice Region Selection Type 1=State 2=Province 3=No choice
second_email Secondary E-Mail for User
sendmail Send New Account E-Mail to User
state User's State of Residence
username Username to be used by user
zip Zip Code or Postal Code

addhosting

Example Post String:


PARAMETER DESCRIPTION
addtoqueue Add hosting setup to the Queue
afid Affiliate ID (If account is to be associated with an affiliate)
bw Bandwidth in MB
diskspace Disk space in MB (Not available until 2.9.1)
domain Domain to be used on Hosting Account
hplan Hosting Plan Name (Case Sensitive, Must match AWBS Hosting Plan)
ip IP address associated with Hosting Plan
next_invoice Next invoice generation date (unixtime)
ns1 Nameserver 1
ns2 Nameserver 2
owner Owner Username
price_override Price Override Amount
renew_date Next renew date (unixtime)
renewed_on Last renew (unixtime)
server Server to setup on (case sensitive)
start_date Start Date (default=today)
status Account Status (1=Active 2=Canceled 3=Pending 4=Suspended)
term Term of Hosting (Monthly, Quarterly, BiAnnually, Annually)
uname Control Panel Username
upass Control Panel Password

adddomain

PARAMETER DESCRIPTION
afid (affiliate id)
auto_renew '1'
domainid
expiredate
feature1 '1'
feature2 '1'
feature3 '1'
feature4 '1'
feature5 '0'
owner (owners username)
regdate 'Today'
registrar (Enom, Directi, Irrp, Generic, Nominet, Custom1)
regstatus ((Case Sensitive) Closed, Completed, Pending, Error, Canceled, Locked, Lost,Failed)
regtype ((Case sensitive) New, Renew, Transfer, DNS)
sld
tld

suspendhosting

PARAMETER DESCRIPTION
domain
owner (owners username)
reseller
send_email

unsuspendhosting

PARAMETER DESCRIPTION
domain
owner (owners username)
reseller
send_email

cancelhosting

PARAMETER DESCRIPTION
domain
owner (owners username)
reseller
send_email

addhostingpackage

PARAMETER DESCRIPTION
annually
biannually
description
monthly
planname
quarterly
serverplan
setupfee

addhostingserver

PARAMETER DESCRIPTION
serverip
servername

resetpassword

PARAMETER DESCRIPTION
newpassword (plain text)
user
userid

checkserverstats

Note: checkserverstats will return a list of open/pending items separated by a pipe (|) character. helpdesk|others|reminders|contact_form|package_queue|users

checkapi

Sending &checkapi=1 will return SUCCESS if you validate on the api (and pass ip check).

addinvoice

PARAMETER DESCRIPTION
affiliate_id
due_date (unix time)
invoice_description
item_description
itype (domains 1,hosting 2,domain with hosting 3,others 6,servers 8,addons 9)
owner (owners username)
packageid
send_email y/n
tax_code (domain package 1,hosting package 2,setup fee 3,server package 4,other package 5,reactivation fee 6,declined cc 7,addon package 8)
total (invoice total)

getcart

cartid (found in COOKIE[cartId])

checkdomain

PARAMETER DESCRIPTION
sld SLD of Domain to be Checked
tld TLD of Domain to be Checked

Returns: AVAIL, NOTAVAIL or ERROR

getuser

Example Posting: command=getuser&accesskey=mykey&username=sampleuser

PARAMETER DESCRIPTION
username To view the return on the array you must: unserialize(base64_decode(urldecode(return_variable)))
Values contained in the array include:
address1, address2, city, country, countrycode, custom1, custom2, custom3, email, fax,
firstname, fraudbypass, groupnumber, id, jobtitle, language, lastlogin, lastname, phone, province,
rspchoice, secondemail, state, taxexempt, trusteduser, userid, zip

payinvoice

PARAMETER DESCRIPTION
amount (total paying)
authcode (auth code or check number)
cardtype (card or payment type)
invoiceid
owner (owners username)

updatecc

ccaddress cccard (card type) cccity cccountry ccissuenumber (issue number) ccmonth (expire month) ccname1 (card first name) ccname2 (card last name) ccnumber (card type) ccphone ccstartmonth (start month) ccstartyear (start year) ccstate ccyear (expire year) cczip clearcc (1=clear card info) owner (owners username)

verifyuser

password (md5 encoded user password) username

Usage Instructions

  1. Edit your Extended System Config and allow API access from your IP in the remote_list field. Note: Each allowed IP is separated by a | (pipe)
  2. Set your Private Key in AWBS System Setup/System Options.

The API currently accepts HTTP POST only.

Sample cURL Post

$data="command=adduser&help=1&accesskey=mykey";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$data");
curl_setopt($ch, CURLOPT_URL, "https://www.yoursite.com/interface.php");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
$ret = curl_exec($ch);
curl_close($ch);

Note: You can alternatively send: &maccesskey=[md5 encoded key as shown on the System Config page] if you wish to not send the key in plain text

Return and Options

Posting help=1 will get you help on the function sent in the command.

When not sending help=1, you will receive either a "SUCCESS" response, or if the call failed, you will receive an "ERROR,error description" response.

You can also send the &altout=1 command. This will cause the api to return the insert_id for sql injections instead of the usual SUCCESS. Sending &checkapi=1 will return SUCCESS if you validate on the api (and pass ip check).