Adding Members to OptimizeMember from External Platforms

This is an Advanced and Experimental feature. Please bear in mind some features detailed on this page are subject to change or update. You may require the help of a developer to work with your external platform to integrate with OptimizeMember.

Please note we cannot provide assistance with your external platform or payment processor, you will need to contact their support for assistance with implementing any HTTP commands or URL post commands.

Step 1: Copy your API key from OptimizeMember

The first step in the integration process is to copy the OptimizeMember API key.  This will allow your external platform to communicate securely with your OptimizeMember site.

First, go to OptimizeMember > API / Scripting > Pro API For Remote Operations

From this section you need to copy the secret API Key.

Step 2: Setup the HTTP post or HTTP Get Command in your external platform

The next step is to setup the command to send the account setup message from your external platform to OptimizeMember.  This can be done through a HTTP Post or HTTP Get command (check with your external platform or payment service for more information on this).

Using HTTP POST 

HTTP POST URL should be www.example.com/?optimizemember_pro_remote_op_integration=1 (again, replace with your own domain).

Using HTTP GET

 HTTP GET URL should be www.example.com/?optimizemember_pro_remote_op_integration=1 (again, replace with your own domain) and name/value pairs should be appended to it.

So for example your URL might look like this: www.example.com/?optimizemember_pro_remote_op_integration=1&op=create_user&api_key=#APIKEY&data[user_login]={USERNAME}&data[user_email]={EMAIL} (where #APIKEY is copied from first step and {USERNAME} and {EMAIL} needs to be substituted with variables from your system).

 There are few mandatory name/value pairs:

  • op - should be ‘create_user’ (action that is being done)
  • api_key - secret api key copied from the first step
  • data[user_login] - contact username and
  • data[user_email] - contact email

Some integration providers (for example Nanacast) are sending both GET and POST data which confuses OPM and in cases like that ‘method’ param needs to be added to the URL with ‘get’ as a value. For Nanacast URL would look like this:

www.example.com/?optimizemember_pro_remote_op_integration=1&op=create_user&api_key=#APIKEY&data[user_login]={u_email}&data[user_email]={u_email}&data[first_name]={u_firstname}&method=get

There are great number of additional name/value pairs:

  • data[modify_if_login_exists] - 0|1 (if data[user_login] is already present in the system, user update will be made)
  • data[user_pass] - user password (if left empty, OPM will auto generate it)
  • data[first_name] - user first name
  • data[last_name] - user last name
  • data[optimizemember_level] - level number (if left empty, 0 will be used - free subscriber)
  • data[optimizemember_ccaps] - packages (comma separated if more than one)
  • data[opt_in] - 0|1 (if is set to 1, attempt to trigger defined auto-responders)
  • data[notification] - 0|1 (if is set to 1, OPM will email new user with username/password)