This method will queue a new email so that it can be send later (with the POST method). See the "post" method for parameter description. To see an example usage take a look at docs/REST/samples/email-service/queue_email.php
PUT https://gambio-shop.de/shop1/api.php/v2/emails
The request body takes a complete GXCustomerEmail resource, containing the following writable properties:
{
"attachments": [
{
"name": "nice_name_for_my_file.txt",
"path": "/var/www/html/shop/uploads/attachments/1434614398/myfile.txt"
}
],
"bcc": [
{
"contactName": "Chris Doe",
"emailAddress": "bcc@email.de"
}
],
"cc": [
{
"contactName": "Chloe Doe",
"emailAddress": "cc@email.de"
}
],
"contentHtml": "<strong>html content</strong>",
"contentPlain": "plain content",
"creationDate": "2015-06-04 14:36:00",
"isPending": false,
"recipient": {
"contactName": "Jane Doe",
"emailAddress": "recipient@email.de"
},
"replyTo": {
"contactName": "John Doe (Reply To)",
"emailAddress": "reply_to@email.de"
},
"sendDate": "2015-06-04 14:36:00",
"sender": {
"contactName": "John Doe",
"emailAddress": "sender@email.de"
},
"subject": "Test Subject"
}
{
"attachments": [
"string"
],
"bcc": [
"string"
],
"cc": [
"string"
],
"contentHtml": "string",
"creationDate": "string",
"isPending": "boolean",
"recipient": {
"contactName": "string",
"emailAddress": "string"
},
"sender": {
"contactName": "string",
"emailAddress": "string"
},
"sentDate": "string",
"subject": "string"
}
| Name | Type | Description | Additional |
|---|---|---|---|
| attachments[] | array of string | ||
| bcc[] | array of string | ||
| cc[] | array of string | ||
| contentHtml | string | ||
| creationDate | string | ||
| isPending | boolean | ||
| recipient | object | GXCustomerEmailAddress | |
| recipient.contactName | string | ||
| recipient.emailAddress | string | ||
| sender | object | GXCustomerEmailAddress | |
| sender.contactName | string | ||
| sender.emailAddress | string | ||
| sentDate | string | ||
| subject | string |
In order to provide the authentication, you must insert the Basic Auth inside the HTTP header. The Basic Auth
is an encrypted base64 string that holds the following content: admin@shop.de:12345 where the structure is
as follows: username:password.
An example header would look as follows:
Authorization: Basic YWRtaW5Ac2hvcC5kZToxMjM0NQ==
This request requires the use of one of following authorisation methods:
BASIC
.
The following HTTP status codes may be returned, optionally with a response resource.
| Status code | Description | Resource |
|---|---|---|
| 200 | OK Upon success, returns the email that was queued. |
GXCustomerEmail |
| 400 | Bad Request (Email data missing) |
defaultErrorResponse |
Here are some example implementations for this operation.
MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}"); Request request = new Request.Builder() .url("https://gambio-shop.de/shop1/api.php/v2/emails") .put(body) .addHeader("content-type", "application/json") .addHeader("authorization", "Basic REPLACE_BASIC_AUTH") .build();
Response response = client.newCall(request).execute();
var options = { "method": "PUT", "hostname": "gambio-shop.de", "port": null, "path": "/shop1/api.php/v2/emails", "headers": { "content-type": "application/json", "authorization": "Basic REPLACE_BASIC_AUTH" } };
var req = http.request(options, function (res) { var chunks = [];
res.on("data", function (chunk) { chunks.push(chunk); });
res.on("end", function () { var body = Buffer.concat(chunks); console.log(body.toString()); }); });
req.write(JSON.stringify({ id: 0, subject: '', sender: { emailAddress: '', contactName: '' }, recipient: { emailAddress: '', contactName: '' }, contentHtml: '', isPending: false, creationDate: '', sentDate: '', bcc: [ '' ], cc: [ '' ], attachments: [ '' ] })); req.end();
var options = { method: 'PUT', url: 'https://gambio-shop.de/shop1/api.php/v2/emails', headers: { authorization: 'Basic REPLACE_BASIC_AUTH', 'content-type': 'application/json' }, body: { id: 0, subject: '', sender: { emailAddress: '', contactName: '' }, recipient: { emailAddress: '', contactName: '' }, contentHtml: '', isPending: false, creationDate: '', sentDate: '', bcc: [ '' ], cc: [ '' ], attachments: [ '' ] }, json: true };
request(options, function (error, response, body) { if (error) throw new Error(error);
console.log(body); });
var req = unirest("PUT", "https://gambio-shop.de/shop1/api.php/v2/emails");
req.headers({ "authorization": "Basic REPLACE_BASIC_AUTH", "content-type": "application/json" });
req.type("json"); req.send({ "id": 0, "subject": "", "sender": { "emailAddress": "", "contactName": "" }, "recipient": { "emailAddress": "", "contactName": "" }, "contentHtml": "", "isPending": false, "creationDate": "", "sentDate": "", "bcc": [ "" ], "cc": [ "" ], "attachments": [ "" ] });
req.end(function (res) { if (res.error) throw new Error(res.error);
console.log(res.body); });
var xhr = new XMLHttpRequest(); xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } });
xhr.open("PUT", "https://gambio-shop.de/shop1/api.php/v2/emails"); xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader("authorization", "Basic REPLACE_BASIC_AUTH");
xhr.send(data);
$.ajax(settings).done(function (response) { console.log(response); });
$curl = curl_init();
curl_setopt_array($curl, array( CURLOPT_URL => "https://gambio-shop.de/shop1/api.php/v2/emails", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PUT", CURLOPT_POSTFIELDS => "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}", CURLOPT_HTTPHEADER => array( "authorization: Basic REPLACE_BASIC_AUTH", "content-type: application/json" ), ));
$response = curl_exec($curl); $err = curl_error($curl);
curl_close($curl);
if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
$request = new HttpRequest(); $request->setUrl('https://gambio-shop.de/shop1/api.php/v2/emails'); $request->setMethod(HTTP_METH_PUT);
$request->setHeaders(array( 'authorization' => 'Basic REPLACE_BASIC_AUTH', 'content-type' => 'application/json' ));
$request->setBody('{"id":0,"subject":"","sender":{"emailAddress":"","contactName":""},"recipient":{"emailAddress":"","contactName":""},"contentHtml":"","isPending":false,"creationDate":"","sentDate":"","bcc":[""],"cc":[""],"attachments":[""]}');
try { $response = $request->send();
echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
$client = new http\Client; $request = new http\Client\Request;
$body = new http\Message\Body; $body->append('{"id":0,"subject":"","sender":{"emailAddress":"","contactName":""},"recipient":{"emailAddress":"","contactName":""},"contentHtml":"","isPending":false,"creationDate":"","sentDate":"","bcc":[""],"cc":[""],"attachments":[""]}');
$request->setRequestUrl('https://gambio-shop.de/shop1/api.php/v2/emails'); $request->setRequestMethod('PUT'); $request->setBody($body);
$request->setHeaders(array( 'authorization' => 'Basic REPLACE_BASIC_AUTH', 'content-type' => 'application/json' ));
$client->enqueue($request)->send(); $response = $client->getResponse();
echo $response->getBody();
conn = http.client.HTTPSConnection("gambio-shop.de")
payload = "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}"
headers = { 'content-type': "application/json", 'authorization': "Basic REPLACE_BASIC_AUTH" }
conn.request("PUT", "/shop1/api.php/v2/emails", payload, headers)
res = conn.getresponse() data = res.read()
print(data.decode("utf-8"))
url = "https://gambio-shop.de/shop1/api.php/v2/emails"
payload = "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}" headers = { 'content-type': "application/json", 'authorization': "Basic REPLACE_BASIC_AUTH" }
response = requests.request("PUT", url, data=payload, headers=headers)
print(response.text)
url = URI("https://gambio-shop.de/shop1/api.php/v2/emails")
http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url) request["content-type"] = 'application/json' request["authorization"] = 'Basic REPLACE_BASIC_AUTH' request.body = "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}"
response = http.request(request) puts response.read_body
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); curl_easy_setopt(hnd, CURLOPT_URL, "https://gambio-shop.de/shop1/api.php/v2/emails");
struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "authorization: Basic REPLACE_BASIC_AUTH"); headers = curl_slist_append(headers, "content-type: application/json"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}");
CURLcode ret = curl_easy_perform(hnd);
import ( "fmt" "strings" "net/http" "io/ioutil" )
func main() {
url := "https://gambio-shop.de/shop1/api.php/v2/emails"
payload := strings.NewReader("{\"id\":0,\"subject\":\"<ADD STRING VALUE>\",\"sender\":{\"emailAddress\":\"<ADD STRING VALUE>\",\"contactName\":\"<ADD STRING VALUE>\"},\"recipient\":{\"emailAddress\":\"<ADD STRING VALUE>\",\"contactName\":\"<ADD STRING VALUE>\"},\"contentHtml\":\"<ADD STRING VALUE>\",\"isPending\":false,\"creationDate\":\"<ADD STRING VALUE>\",\"sentDate\":\"<ADD STRING VALUE>\",\"bcc\":[\"<ADD STRING VALUE>\"],\"cc\":[\"<ADD STRING VALUE>\"],\"attachments\":[\"<ADD STRING VALUE>\"]}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Basic REPLACE_BASIC_AUTH")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
NSDictionary *headers = @{ @"content-type": @"application/json", @"authorization": @"Basic REPLACE_BASIC_AUTH" }; NSDictionary *parameters = @{ @"id": @0, @"subject": @"", @"sender": @{ @"emailAddress": @"", @"contactName": @"" }, @"recipient": @{ @"emailAddress": @"", @"contactName": @"" }, @"contentHtml": @"", @"isPending": @NO, @"creationDate": @"", @"sentDate": @"", @"bcc": @[ @"" ], @"cc": @[ @"" ], @"attachments": @[ @"" ] };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://gambio-shop.de/shop1/api.php/v2/emails"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; [request setHTTPMethod:@"PUT"]; [request setAllHTTPHeaderFields:headers]; [request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"%@", error); } else { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; NSLog(@"%@", httpResponse); } }]; [dataTask resume];
let headers = [ "content-type": "application/json", "authorization": "Basic REPLACE_BASIC_AUTH" ] let parameters = [ "id": 0, "subject": "", "sender": [ "emailAddress": "", "contactName": "" ], "recipient": [ "emailAddress": "", "contactName": "" ], "contentHtml": "", "isPending": false, "creationDate": "", "sentDate": "", "bcc": [""], "cc": [""], "attachments": [""] ]
let postData = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: nil)
var request = NSMutableURLRequest(URL: NSURL(string: "https://gambio-shop.de/shop1/api.php/v2/emails")!, cachePolicy: .UseProtocolCachePolicy, timeoutInterval: 10.0) request.HTTPMethod = "PUT" request.allHTTPHeaderFields = headers request.HTTPBody = postData
let session = NSURLSession.sharedSession() let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in if (error != nil) { println(error) } else { let httpResponse = response as? NSHTTPURLResponse println(httpResponse) } })
dataTask.resume()
let uri = Uri.of_string "https://gambio-shop.de/shop1/api.php/v2/emails" in let headers = Header.add_list (Header.init ()) [ ("content-type", "application/json"); ("authorization", "Basic REPLACE_BASIC_AUTH"); ] in let body = Cohttp_lwt_body.of_string "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}" in
Client.call ~headers ~body `PUT uri >>= fun (res, body_stream) -> (* Do stuff with the result *)