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
Read-only parameters such as a resource's ID field are to be omitted.
The request body takes a 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 | Required | |
bcc[] | array of string | Required | |
cc[] | array of string | Required | |
contentHtml | string | Required | |
creationDate | string | Required | |
isPending | boolean | Required | |
recipient | object | GXCustomerEmailAddress | Required |
recipient.contactName | string | Required | |
recipient.emailAddress | string | Required | |
sender | object | GXCustomerEmailAddress | Required |
sender.contactName | string | Required | |
sender.emailAddress | string | Required | |
sentDate | string | Required | |
subject | string | Required |
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.
curl --request PUT \ --header 'authorization: Basic REPLACE_BASIC_AUTH' \ --header 'content-type: application/json' \ --data '{"id":0,"subject":"","sender":{"emailAddress":"","contactName":""},"recipient":{"emailAddress":"","contactName":""},"contentHtml":"","isPending":false,"creationDate":"","sentDate":"","bcc":[""],"cc":[""],"attachments":[""]}'
wget --quiet \ --method PUT \ --header 'content-type: application/json' \ --header 'authorization: Basic REPLACE_BASIC_AUTH' \ --body-data '{"id":0,"subject":"","sender":{"emailAddress":"","contactName":""},"recipient":{"emailAddress":"","contactName":""},"contentHtml":"","isPending":false,"creationDate":"","sentDate":"","bcc":[""],"cc":[""],"attachments":[""]}' \ --output-document
echo '{"id":0,"subject":"","sender":{"emailAddress":"","contactName":""},"recipient":{"emailAddress":"","contactName":""},"contentHtml":"","isPending":false,"creationDate":"","sentDate":"","bcc":[""],"cc":[""],"attachments":[""]}' | \ authorization:'Basic REPLACE_BASIC_AUTH' \ content-type:application/json
HttpResponse response = Unirest.put("https://gambio-shop.de/shop1/api.php/v2/emails") .header("content-type", "application/json") .header("authorization", "Basic REPLACE_BASIC_AUTH") .body("{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}") .asString();
OkHttpClient client = new OkHttpClient(); 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() .put(body) .addHeader("content-type", "application/json") .addHeader("authorization", "Basic REPLACE_BASIC_AUTH") .build(); Response response = client.newCall(request).execute();
var request = new RestRequest(Method.PUT); request.AddHeader("authorization", "Basic REPLACE_BASIC_AUTH"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var http = require("https"); 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: '<ADD STRING VALUE>' },
recipient:
{ emailAddress: '', contactName: '<ADD STRING VALUE>' },
contentHtml: '',
isPending: false, creationDate: '', sentDate: '', bcc: [ '' ], cc: [ '' ], attachments: [ '' ] })); req.end();
var request = require("request"); var options = { method: 'PUT',
headers: { authorization: 'Basic REPLACE_BASIC_AUTH', 'content-type': 'application/json' },
body:
{ 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>' ] }, json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error); console.log(body);
});
var unirest = require("unirest"); 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": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" },
"recipient": { "emailAddress": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" },
"contentHtml": "", "isPending": false, "creationDate": "", "sentDate": "", "bcc": [ "<ADD STRING VALUE>"
],
"cc": [ "<ADD STRING VALUE>"
],
"attachments": [ "<ADD STRING VALUE>"
]
}); req.end(function (res) {
if (res.error) throw new Error(res.error); console.log(res.body);
});
var data = JSON.stringify({ "id": 0, "subject": "", "sender": { "emailAddress": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" },
"recipient": { "emailAddress": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" },
"contentHtml": "", "isPending": false, "creationDate": "", "sentDate": "", "bcc": [ "<ADD STRING VALUE>"
],
"cc": [ "<ADD STRING VALUE>"
],
"attachments": [ "<ADD STRING VALUE>"
]
}); 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);
var settings = { "async": true, "crossDomain": true, "method": "PUT", "headers": { "content-type": "application/json",
"authorization": "Basic REPLACE_BASIC_AUTH" },
"processData": false, "data": "{\"id\":0,\"subject\":\"\",\"sender\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"recipient\":{\"emailAddress\":\"\",\"contactName\":\"\"},\"contentHtml\":\"\",\"isPending\":false,\"creationDate\":\"\",\"sentDate\":\"\",\"bcc\":[\"\"],\"cc\":[\"\"],\"attachments\":[\"\"]}" } $.ajax(settings).done(function (response) {
console.log(response); });
<?php $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; }
<?php $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; }
<?php $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();
import http.client 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"))
import requests 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)
require 'uri' require 'net/http' 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 *hnd = curl_easy_init(); 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);
package main 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)) }
#import NSDictionary *headers = @{ @"content-type": @"application/json",
@"authorization": @"Basic REPLACE_BASIC_AUTH" };
NSDictionary *parameters = @{ @"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": @NO, @"creationDate": @"<ADD STRING VALUE>", @"sentDate": @"<ADD STRING VALUE>", @"bcc": @[ @"<ADD STRING VALUE>" ], @"cc": @[ @"<ADD STRING VALUE>" ], @"attachments": @[ @"<ADD STRING VALUE>" ] }; 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];
import Foundation let headers = [
"content-type": "application/json", "authorization": "Basic REPLACE_BASIC_AUTH" ] let parameters = [ "id": 0, "subject": "", "sender": [ "emailAddress": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" ],
"recipient": [ "emailAddress": "<ADD STRING VALUE>",
"contactName": "<ADD STRING VALUE>" ],
"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()
open Cohttp_lwt_unix open Cohttp open Lwt 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 *)