Além dos parâmetros apresentados na lista geral, devem ser passadas as chaves de autenticação, no caso do Rest API segue abaixo um exemplo de como faze-lo em python:
import hmac import time import requests import hashlib from ordereddict import OrderedDict def encode_param_without_escaping(key, value): if isinstance(value, list): return '&'.join([key + '[]=' + item for item in value]) else: if isinstance(value, dict): value = json.dumps(value) return "{key}={value}".format(key=key, value=value) timestamp = int(time.time()) data = { "auth_key": 'SUA CHAVE PÚBLICA', "auth_timestamp": timestamp, "auth_version": "1.0", "recipient_list": [ "Destinatario1 <destinatario1@exemplo.com>", "<destinatario2@exemplo.com>" ], 'message_text': 'Exemplo', "from": 'Remetente <remetente@exemplo.com>', "subject": "Exemplo" } params_dict = OrderedDict(sorted(data.items())) params_list = [] for key, value in params_dict.iteritems(): params_list.append(encode_param_without_escaping(key, value)) msg_default = '&'.join(params_list) hmac_dict = { 'key': 'SUA CHAVE PRIVADA', 'digestmod': hashlib.sha256 } hmac_dict.update({'msg': 'POST\n/api/send_mail/\n' + msg_default}) auth_signature_post_text = hmac.new(**hmac_dict).hexdigest() url_base = '{0}{1}?auth_key={2}&auth_timestamp={3}&auth_version=1.0&auth_signature={4}' url_post_text = url_base.format( 'http://postman.alterdata.com.br', '/api/send_mail/', 'SUA CHAVE PÚBLICA', timestamp, auth_signature_post_text ) response = requests.post(url_post_text, {}, params_dict)