NATS4 REST API Send Email
From TMM Wiki
Revision as of 22:40, 19 May 2017 by Tmm vincent (talk | contribs) (added legacy changes section, and updated main sections for new REST API)
POST /service/sendemail
Description
- NATS4 supports an API resource to automatically send emails to members or affiliates. The function differentiates between members and affiliates based on whether the email uses a member ID number or login ID number as an argument.
Resource URL
- http://domain/api/service/sendemail
- Replace domain with the nats domain
- POST
Response Format
- JSON
- HTTP headers
Parameters
Paremeters must be sent with the request body. The examples below show the parameters sent as x-www-form-urlencoded
This api endpoint will allow you to add option rules by optionid, rule type, loginid, siteid, tourid, programid, billerid, country, start_time, end_time and cascadeid. These are parameters used to specify which option rule you're adding:
- subject: The email subject
- type: string
- required
- type: 'member' or 'affiliate'
- type: string
- required
- template: The name of the template being used for the email.
- type: integer
- required
- memberid: The ID number if the email type is a Member email. This argument is required to be defined if the email is being sent to a member.
- type: integer
- optional
- loginid: The ID number if the email type is an Affiliate email. This argument is required to be defined if the email is being sent to an affiliate
- type: integer
- optional
- custom_vars: The ip address
- type: string
- optional
- memberidx: The biller's membership identifier.
- type: string
- optional
Example Request
POST
http://domain/api/service/sendemail
- Response:
"SUCCESS"
Example Code
PHP
<?php $curl = curl_init(); $data = array( 'subject' => 'hello', 'type' => 'affiliate', 'template' => 'test', 'loginid' => '1', ); $url = 'http://domain/api/service/sendemail'; $headers = array( 'api-key: 44b5498dbcb481a0d00b404c0169af62', 'api-username: tmm1phrvezsbu' ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); $resp = curl_exec($curl); //dumps an associative array representation of the json var_dump(json_decode($resp, true)); // Close request to clear up some resources curl_close($curl);
Python
- This example requires pip and the request library which can be installed via pip by: 'pip install requests'
import requests import json url = 'http://domain/api/service/sendemail' payload = { 'subject' => 'hello', 'type' => 'affiliate', 'template' => 'test', 'loginid' => '1', } headers = { 'api-key': '44b5498dbcb481a0d00b404c0169af62', 'api-username': 'tmm1phrvezsbu' } res = requests.post(url, data=payload, headers=headers) print res.text
node.js
- This example requires npm and the request module which can be installed via npm by: 'npm install request'
var request = require('request'); data = 'subject' => 'hello', 'type' => 'affiliate', 'template' => 'test', 'loginid' => '1', } var options = { url: 'http://domain/api/service/sendemail', method: 'POST', form: data, json: true, headers: { 'api-key': '44b5498dbcb481a0d00b404c0169af62', 'api-username': 'tmm1phrvezsbu' } }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } else{ console.log(body); } } request(options, callback);
Curl
curl -X POST 'http://domain/api/service/sendemail' -H "api-key: 44b5498dbcb481a0d00b404c0169af62" -H "api-username: tmm1phrvezsbu" -H "Content-Type: application/x-www-form-urlencoded" -d 'subject=hello&type=affiliate&template=test&loginid=1'
Legacy Changes
Use the following documentation changes if you are using the REST API with NATS versions below 4.1.13.5:
Resource URL
- http://domain/api/sendemail
- Replace domain with your nats domain
Parameters
- No changes.