Difference between revisions of "Update WHMCS database after the game server has been created"

Line 1: Line 1:
TCAdmin has a [[Update_IP_and_port_in_WHMCS|recurring task that can update your WHMCS database]] every few hours. If you need to update your database right after the game server has been created you can configure this global script for the after created event. Update the mysql_ variables with your WHMCS database connection.
+
TCAdmin has a [[Update_IP_and_port_in_WHMCS|recurring task that can update your WHMCS database]] every few hours. If you need to update your database right after the game server has been created you can configure this global script for the after created event.
 +
 
 +
== Update WHMCS by connecting to the database ==
 +
Update the mysql_ variables with your WHMCS database connection.
  
 
  '''Operating System:''' Any
 
  '''Operating System:''' Any
  '''Description:''' Update WHMCS.
+
  '''Description:''' Update WHMCS (SQL)
 
  '''Script Engine:''' IronPython
 
  '''Script Engine:''' IronPython
 
  '''Event:''' After Created
 
  '''Event:''' After Created
Line 25: Line 28:
 
   mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Database={3};Pooling=False;", mysql_server, mysql_user, mysql_password, mysql_database));
 
   mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Database={3};Pooling=False;", mysql_server, mysql_user, mysql_password, mysql_database));
 
   mysql.ExecuteNonQuery(String.Format("UPDATE tblhosting SET domain='{0}' WHERE id='{1}'", ThisService.ConnectionInfo, ThisService.BillingId));
 
   mysql.ExecuteNonQuery(String.Format("UPDATE tblhosting SET domain='{0}' WHERE id='{1}'", ThisService.ConnectionInfo, ThisService.BillingId));
 +
 +
 +
== Update WHMCS by connecting to the API ==
 +
Thanks to [https://community.tcadmin.com/profile/12219-dennis/ Dennis] for this script.
 +
Update the API identifier and api secret.
 +
 +
'''Operating System:''' Any
 +
'''Description:''' Update WHMCS (API)
 +
'''Script Engine:''' IronPython
 +
'''Event:''' After Created
 +
'''Script:'''
 +
 +
import urllib2
 +
import urllib
 +
 +
WHMCS_URL = 'https://your-whmcs-site.com/includes/api.php'
 +
WHMCS_API_IDENTIFIER = ''
 +
WHMCS_API_SECRET = ''
 +
 +
query = urllib.urlencode({'action' : 'UpdateClientProduct', 'username' : WHMCS_API_IDENTIFIER, 'password' : WHMCS_API_SECRET, 'serviceid' : ThisService.BillingId, 'domain' :
 +
ThisService.ConnectionInfo, 'responsetype' : 'json'})
 +
 +
try:
 +
  urllib2.urlopen(WHMCS_URL, data=query)
 +
except urllib2.HTTPError, e:
 +
  Script.WriteToConsole(str(e.code))

Revision as of 19:08, 19 November 2020

TCAdmin has a recurring task that can update your WHMCS database every few hours. If you need to update your database right after the game server has been created you can configure this global script for the after created event.

Update WHMCS by connecting to the database

Update the mysql_ variables with your WHMCS database connection.

Operating System: Any
Description: Update WHMCS (SQL)
Script Engine: IronPython
Event: After Created
Script:
import clr;
import System;

clr.AddReference("TCAdmin.DatabaseProviders.MySql");
clr.AddReference("TCAdmin.SDK");
from TCAdmin.DatabaseProviders.MySql import MySqlManager;
from System import String;

mysql_server="WHMCSIP";
mysql_user="WHMCSUSER";
mysql_password="WHMCSPASSWORD";
mysql_database="WHMCSDATABASE";

with MySqlManager() as mysql:
 mysql.UseMasterWebService = False;
 mysql.DisableReplication = True;
 mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Database={3};Pooling=False;", mysql_server, mysql_user, mysql_password, mysql_database));
 mysql.ExecuteNonQuery(String.Format("UPDATE tblhosting SET domain='{0}' WHERE id='{1}'", ThisService.ConnectionInfo, ThisService.BillingId));


Update WHMCS by connecting to the API

Thanks to Dennis for this script. Update the API identifier and api secret.

Operating System: Any
Description: Update WHMCS (API)
Script Engine: IronPython
Event: After Created
Script:
import urllib2
import urllib

WHMCS_URL = 'https://your-whmcs-site.com/includes/api.php' 
WHMCS_API_IDENTIFIER = 
WHMCS_API_SECRET = 

query = urllib.urlencode({'action' : 'UpdateClientProduct', 'username' : WHMCS_API_IDENTIFIER, 'password' : WHMCS_API_SECRET, 'serviceid' : ThisService.BillingId, 'domain' : 
ThisService.ConnectionInfo, 'responsetype' : 'json'})

try:
  urllib2.urlopen(WHMCS_URL, data=query)
except urllib2.HTTPError, e:
  Script.WriteToConsole(str(e.code))
Retrieved from "https://help.tcadmin.com/index.php?title=Update_WHMCS_database_after_the_game_server_has_been_created&oldid=2307"