Back to top

Inxmail Commerce API for SAP

Inxmail Commerce API for SAP allows you to trigger transaction event workflows and retrieve information about the outcomes of these transactions.

Authentication

Inxmail Commerce API requires REST clients to authenticate themselves with an API key using HTTP Basic Authentication. The key consists of a keyid and a secret, which can be supplied to the client software as username and password:

curl -u 'keyid:secret' -H 'Accept: application/json' 'https://space.api.inxmail-commerce.com/api-service/v1/bounces'

Media Types

Inxmail Commerce API uses JSON as data format for requests and responses application/json.

Large responses are paginated, in this case the standard next and previous link relations are used to provide navigation.

Error States

The common HTTP Response Status Codes are used.

General Information

All Requests

All Requests
GET/

All requests are scoped to a single Inxmail Commerce space. The space ID is specified as first part of the domain name.

Example URI

GET https://{spaceid}.api.inxmail-commerce.com/api-service/
URI Parameters
HideShow
spaceid
string (required) Example: a-space

ID of the Inxmail Commerce space. You can find the spaceid in your credential document and the first part of the url which is used for gui access.

Response  404
HideShow

Space with specified ID does not exist

Body
{
  "timestamp": "2015-08-21T06:05:30.257+0000",
  "status": 404,
  "error": "Not Found",
  "message": "Unknown tenant.",
  "path": "/v1/state"
}

Generic E-Mail-Adapter for SAP

Send an email

Send an email
POST/custom/sap/v1/send

Allows submitting an email message as an HTTP call instead of sending it by SMTP.

curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d '{ "type": "email", "sourceSystem": "0MB871I", "campaignId": "cMB871df", "sender": "info@example.invalid", "senderName": "Name of the sender", "replyTo": "reply@example.invalid", "replyToName": "Name for reply to", "recipient": "max.mustermann@example.invalid", "recipientName": "Max Mustermann", "listUnsubscribe": "<https://www.example.invalid/unsubscribe>, <mailto:unsub@example.invalid>", "subjectContentPlainText": "Test subject", "bodyContentHTML": "<html><body><b>This is a test\nbody.</b></body></html>", "bodyContentPlainText": "This is a test text for the text part." }' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/send'

Example URI

POST https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/send
Request  Example
HideShow
Body
{
  "type": "email",
  "sourceSystem": "0MB871I",
  "campaignId": "cMB871df",
  "sender": "info@example.invalid",
  "senderName": "Name of the sender",
  "replyTo": "reply@example.invalid",
  "replyToName": "Name for reply to",
  "recipient": "max.mustermann@example.invalid",
  "recipientName": "Max Mustermann",
  "listUnsubscribe": "<https://www.example.invalid/unsubscribe>, <mailto:unsub@example.invalid>",
  "subjectContentPlainText": "Test subject",
  "bodyContentHTML": "<html><body><b>This is a test\nbody.</b></body></html>",
  "bodyContentPlainText": "This is a test text for the text part."
}
Request  Example with bcc
HideShow
Body
{
  "type": "email",
  "sourceSystem": "0MB871I",
  "campaignId": "cMB871df",
  "sender": "info@example.invalid",
  "senderName": "Name of the sender",
  "replyTo": "reply@example.invalid",
  "replyToName": "Name for reply to",
  "recipient": "max.mustermann@example.invalid",
  "recipientName": "Max Mustermann",
  "bccRecipient": "bcc@example.invalid",
  "listUnsubscribe": "<https://www.example.invalid/unsubscribe>, <mailto:unsub@example.invalid>",
  "subjectContentPlainText": "Test subject",
  "bodyContentHTML": "<html><body><b>This is a test\nbody.</b></body></html>",
  "bodyContentPlainText": "This is a test text for the text part."
}
Response  200
HideShow

Request has been transmitted successfully. Returned id is the transaction id for this request.

Body
{
    "messageId":"5534f2f3fcb24820d52f3413",
    "date":"2015-04-20T12:37:07.299+0000",                
}

Bounce Data

Bounces

Bounces
GET/custom/sap/v1/bounces{?sourceSystem,campaignId,startTimeUTC,endTimeUTC,page,pageSize}

curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/bounces'
curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/bounces?sourceSystem=Production'
curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/bounces?startTimeUTC=20151021000000&endTimeUTC=2015102220000&page=0'

Get information about bounced emails.

The filtering parameters are all optional. If not specified, all bounces are returned. Filters can be combined, only bounces that match all criteria are returned.

The pagination parameters page and pageSize should be used together, and apply within filtered results.

Example URI

GET https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/bounces?sourceSystem=Production&campaignId=4587&startTimeUTC=20151021110033&endTimeUTC=20151021110033&page=0&pageSize=20
URI Parameters
HideShow
sourceSystem
string (optional) Example: Production

filters by the sourceSystem that was specified in the event data

campaignId
string (optional) Example: 4587

filters by the campaignId that was specified in the event data

startTimeUTC
string (optional) Example: 20151021110033

filters bounces starting from this timestamp

endTimeUTC
string (optional) Example: 20151021110033

filters bounces until this timestamp

pageSize
number (optional) Default: 100 Example: 20

number of elements returned in a single response page (max. 2000)

page
number (optional) Default: 0 Example: 0

result page number, if the request returns more results than the page size

Response  200
HideShow

type is one of:

  • Soft - Softbounce. For further information see Softbounce

  • Hard - Hardbounce. For further information see Hardbounce

  • no value - Unknown.

Headers
Content-Type: application/json
Body
{
    "page": 0,
    "lastPage": true
    "bounces": [
        {
            "sourceSystem": "sys1",
            "campaignId": "c1456",
            "messageId": "5451f3b1e1c2485a5b71ca88",
            "recipient": "recipient1@fullbounce.invalid",
            "errorCode": "5.1.1.",
            "errorText": "Address does not exist",
            "type": "Hard",
            "timestamp": "20151021072610",
        },
        {
            "sourceSystem": "sys2",
            "campaignId": "c4587",
            "messageId": "5451f3b1e1c2485a5b71ca31",
            "recipient": "recipient3@fullbounce.invalid",
            "errorCode": "5.1.1.",
            "errorText": "Address does not exist",
            "type": "Hard",
            "timestamp": "20151021073425",
        }
    ]
}
Response  400
HideShow

invalid filter parameters, like invalid begin and end dates

Body
{
  "error": "Bad Request",
  "exception": "com.inxmail.xcom.api.rest.InvalidDateParameter",
  "message": "Start date 2015-10-24T11:20:14.887+0000 is in future",
  "path": "/v1/bounces?begin=2015-10-24T11:20:14.887%2B0000",
  "status": 400,
  "timestamp": "2015-10-23T11:22:01.827+0000"
}

Complaints

Complaints
GET/custom/sap/v1/complaints{?sourceSystem,campaignId,startTimeUTC,endTimeUTC,page,pageSize}

curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/complaints'
curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/complaints?sourceSystem=Production'
curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/complaints?startTimeUTC=20151021000000&endTimeUTC=2015102220000&page=0'

Get information about complaints.

The filtering parameters are all optional. If not specified, all complaints are returned. Only one of sourceSystem or campaignId may be used. Other than that, filters can be combined, only complaints that match all criteria are returned.

The pagination parameters page and pageSize should be used together, and apply within filtered results.

Example URI

GET https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/complaints?sourceSystem=Production&campaignId=4587&startTimeUTC=20151021110033&endTimeUTC=20151021110033&page=0&pageSize=20
URI Parameters
HideShow
sourceSystem
string (optional) Example: Production

filters by the sourceSystem that was specified in the event data

campaignId
string (optional) Example: 4587

filters by the campaignId that was specified in the event data

startTimeUTC
string (optional) Example: 20151021110033

filters bounces starting from this timestamp

endTimeUTC
string (optional) Example: 20151021110033

filters bounces until this timestamp

pageSize
number (optional) Default: 100 Example: 20

number of elements returned in a single response page (max. 2000)

page
number (optional) Default: 0 Example: 0

result page number, if the request returns more results than the page size

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "page": 0,
    "lastPage": true
    "complaints": [
        {
            "sourceSystem": "sys1",
            "campaignId": "c1456",
            "messageId": "5451f3b1e1c2485a5b71ca88",
            "recipient": "recipient1@fullbounce.invalid",
            "type": "abuse",
            "timestamp": "20151021072610",
        },
        {
            "sourceSystem": "sys2",
            "campaignId": "c4587",
            "messageId": "5451f3b1e1c2485a5b71ca31",
            "recipient": "recipient3@fullbounce.invalid",
            "type": "abuse",
            "timestamp": "20151021073425",
        }
    ]
}
Response  400
HideShow

invalid filter parameters, like invalid begin and end dates

Body
{
  "error": "Bad Request",
  "exception": "com.inxmail.xcom.api.rest.InvalidDateParameter",
  "message": "Start date 2015-10-24T11:20:14.887+0000 is in future",
  "path": "/custom/sap/v1/complaints?begin=2015-10-24T11:20:14.887%2B0000",
  "status": 400,
  "timestamp": "2015-10-23T11:22:01.827+0000"
}

Senderdomains

Senderdomains

Senderdomains
GET/custom/sap/v1/verifiedSenders

curl -u 'keyid:secret' 'https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/verifiedSenders'

Get all valid sender domains for the current space.

Example URI

GET https://{spaceid}.api.inxmail-commerce.com/api-service/custom/sap/v1/verifiedSenders
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "senderDomains": [
       "domain1.tld"
       "domain2.tld"
    ]
}

Generated by aglio on 27 Sep 2024