Marketing Emails API

Messages


Resource representation

{ "templateId": {string}, "subject": {string}, "html": {string}, "company": { "id": {string} }, "replyTo": { "emailAddress": {string} }, "recipients": [ { "id": {string} } ] }
Parameter name Value Description
templateId string The id of the email template to use.
subject string The subject of the email. Only required if you don't use an email template. Writable. Max length: 127
html string The content of the email. Only required if you don't use an email template. Writable. Max length: 65535
company object Company for scheduling emails.
company.id string The id of the company.
replyTo object The reply-to address.
emailAddress string The email address of the reply-to.
recipients[] list List of recipient from client list.
recipients[].id string The id of the client.

Send

Send E-Mailing.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

POST https://api.agendize.com/api/2.0/messages/emails/send

Request body

In the request body, supply a list of Message resource with the following properties:

Parameter name Value Description
Required Properties
recipients list List of recipients.
Optional Properties
templateId string The id of the email template to use.
subject string The subject of the email. Only required if you don't use an email template
html string The content of the email. Only required if you don't use an email template

Response

If successful, this method returns a response body with the following structure with the following properties:

{ items: [ { "id": {string}, "recipientId": {string}, "sentDate": { "dateTime": {string}, "timeZone": {string} } } ] }
Parameter name Value Description
id list Sent message identifier.
recipientId string Client identifier. You can use this identifier value with the Client API
sentDate object The sent date.
sentDate.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
sentDate.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.

Watch

Watch for changes to marketing email sent.

Authentication is required to execute this request. Please refer to Authentication for more.

The watch send a message resource in the request body:

{ "id": {string}, "owner": { "id": {string}, "userName": {string} }, "client": { "id": {string}", "firstName": {string}, "lastName": {string}, "emailAddress": {string} }, "history": [ { "date": { "dateTime": {string}, "timeZone": {string} }, "status": "sent" } ], "content": {string} }
Parameter name Value Description
owner string Owner account of the queue and the queue registration. Read-only.
owner.id string Identifier of the owner account.
owner.userName string user name of the owner account.
subject string The subject of the email.
content string The content of the email.
client object Company for scheduling emails.
client.id string Identifier of the client.
client.firstname string First name of the client.
client.lastName string Last name of the client.
client.emailAddress string Email adresse of the client used to send this email.
history[] list History list for this email.
history[].date object The date the history
date.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
date.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
history[].status string The status of the email.

Request

HTTP Request

POST https://api.agendize.com/api/2.0/messages/emails/watch

Request body

{ "address": {string}, "name": {string}, "basicAuth": { "username": {string}, "password": {string} }, "httpRequestHeader": { {name}: {string} }, "schema": {object} "method": {string}, "status": {string}, "oauth2Auth": { "grantType": {string}, "clientId": {string}, "clientSecret": {string}, "refreshToken": {string}, "authUrl": {string}, "accessTokenUrl": {string}, "redirectUri": {string} }, "signature": { "enabled": {boolean}, "cryptoKeyIds": [ {string} ] } }
Required Properties
address string The address where notifications are delivered for this watch.
Optional Properties
name string Name of the watch.
basicAuth string Credentials parameters for HTTP Basic authentication on the destination watch address. Only if you use this authentication method.
basicAuth.username string Username.
basicAuth.password string Password.
httpRequestHeader string Custom header parameters to send with the http request on the destination watch address.
httpRequestHeader.name string header parameter name.
schema object Custom json schema to apply for resource properties.
method string HTTP Method to use for sending content. DELETE Method doesn't accept body content.
status string Status of the watcher. Values: "enabled", "disabled"
oauth2Auth string Credentials parameters for HTTP OAuth2 authentication on the destination watch address. Only if you use this authentication method.
oauth2Auth.grantType string OAuth2 grant type. Values: "refresh_token" (default), "client_credentials".
oauth2Auth.clientId string OAuth2 client id.
oauth2Auth.refreshToken string OAuth2 refresh token. Only for grantType "refresh_token"
oauth2Auth.authUrl string OAuth2 interactive end point to initiate the generation of the refresh token. Only for grantType "refresh_token"
oauth2Auth.accessTokenUrl string OAuth2 end point to generation an access token from the refresh token.
oauth2Auth.scope string OAuth2 api scope. Only for grantType "refresh_token"
signature object Produces a crypto signature of the watched content.
signature.enabled boolean Sets if the signature is enabled or not.
signature.cryptoKeyIds list Arrays of string of crypto keys identifier.

Response

If successful, this method returns a watch resource in the response body.

Examples of schema:

With JSON, only for string value:

{ "schema": { "my_id_key": "{id}", "dataContent": { "givenName": "{firstName}" } } }

With string to support typed values:

{ "schema": "\"my_id_key\": ${$.id}, \"dataContent\": { \"fullName\": \"${$.firstName} ${$.lastName}\"}" }

Replacement string can by defined with jsonpath expressions.

Watch event supported