Engaging Networks API (ENS)

A collection of REST based APIs to programmatically interact with the Engaging Networks platform.
Headers

Base URL:

CA clients - https://ca.engagingnetworks.app
US clients - https://us.engagingnetworks.app
API Methods

Common Authentication Errors

  1. “Invalid api key [XXXXXXXXXXXXXXXXXXXX]” The API key passed into the authenticate request is invalid or the call is being made to the wrong data center. US accounts should use https://us.engagingnetworks.app and International accounts should use https://ca.engagingnetworks.app.

  2. “A user was not found for api key[XXXXXXXXXXXXXXXXXXXXX]. Please contact support” The API key passed in does not have a valid user associated to it.

  3. “Authentication call is being made from an unregistered source address for this ENS api key” The request is being made from an IP address that is not whitelisted for the ApiUser in EN

  4. “The user specified by api key [XXXXXXXXXXXXXXXXXXXX] is not active or does not have access to EN services” The user associated to the API key is inactive or has been removed from the system.

  5. “The user with username [api@engagingnetworks.net] has exceeded its api limit” The API user has used up the request limit for the hour and will need to wait before making more requests.

  6. “Invalid ens-auth-token” The auth token being used has either expired or is invalid.

Authentication Services

These services are used to authenticate to ENS

POST /ens/service/authenticate
GET /ens/service/authenticate/{token}
DELETE /ens/service/authenticate/{token}
Authenticate to ENS
POST /ens/service/authenticate

Pass in your API key to the autenticate call to get back a ens-auth-key to use in alls subsequent calls. NOTE: The ens-auth-key is not required on this call. This call requires the API key to be posted to the system to get back an ens-auth-key.

Request headers

Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Request body

a022e7be-47ae-4ea9-b435-97e072f639a6

string
Validate ENS Authentication
GET /ens/service/authenticate/{token}

Use this call to validate if your ENS session token is still valid

Path variables

token
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Delete session
DELETE /ens/service/authenticate/{token}

Remove this session key for usage.

Path variables

token
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Supporter Services

These services are for manipulating supporter data

Note:

  1. These services are rate limited. If you are ‘syncing’ large amounts of records, please consider using the ‘bulk API’ tools instead. Please contact support for further information.

  2. In order to make use of these Supporter API calls, a permission group with the permission ‘Manage individual supporters’ (under Data Management) is enabled and assigned to the API User.

  3. Common errors codes

  • 10000001: invalid email address
  • 10000002: invalid supporter id
  • 10000004: updating a supporter’s email address to an existing supporter’s email address
  • 10000005: specifying an invalid field on a supporter create/update
  • 10000006: unable to retrieve origin source
  • 10000007: unable to update origin source
  • 10000008: unable to create an origin source
  • 10000009: unabel to delete an origin source
  • 20000001: invalid question id passed in
GET /ens/service/supporter/{supporterId}
POST /ens/service/supporter
GET /ens/service/supporter
PUT /ens/service/supporter/{supporterId}
DELETE /ens/service/supporter/{supporterId}
GET /ens/service/supporter/{supporterId}/transactions
GET /ens/service/supporter/fields
GET /ens/service/supporter/questions
GET /ens/service/supporter/questions/{id}
GET /ens/service/supporter/query
GET /ens/service/supporter/{supporterId}/transactions/recurring
PUT /ens/service/supporter/{supporterId}/transactions/recurring/{transactionId}
GET /ens/service/supporter/{supporterId}/originsource
POST /ens/service/supporter/{supporterId}/originsource
PUT /ens/service/supporter/{supporterId}/originsource
DELETE /ens/service/supporter/{supporterId}/originsource
Get Supporter By ID
GET /ens/service/supporter/{supporterId}

Path variables

supporterId
number required

Request parameters

includeQuestions
boolean optional

Whether to return question responses from the supporter

includeMemberships
boolean optional

Whether to return membership details for this supporter

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Add or Update Supporter
POST /ens/service/supporter

Add a new supporter or update an existing supporter if the supporter’s email address already exists in the system.

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Update an existing supporter's optin status
POST https://ca.engagingnetworks.app/ens/service/supporter HTTP/1.1 

Content-Type: application/json

{
   "Email Address": "joe.smith@noaddress.com",
   "questions": {
      "Marketing Optin": "N",
   }
}
Get Supporter By Email Address
GET /ens/service/supporter

Pass in the supporter email address you are looking for (all lowercase)

Request parameters

email
string required

The email address of the supporter you are looking for (lower case)

includeQuestions
boolean optional

If the response should include question responses along with supporter data

includeMemberships
boolean optional

Whether to include membership details for this supporter

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Update Supporter Email
PUT /ens/service/supporter/{supporterId}

Path variables

supporterId
number required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Update supporter's email address
PUT https://ca.engagingnetworks.app/ens/service/supporter/{supporterId} HTTP/1.1 

Content-Type: application/json

{   
   "Email Address": "joe.smith.updated@noaddress.com"
}
Delete Supporter
DELETE /ens/service/supporter/{supporterId}

Path variables

supporterId
number required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Supporter Transactions
GET /ens/service/supporter/{supporterId}/transactions

Get transactions for this supporter

Path variables

supporterId
number required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Supporter Fields
GET /ens/service/supporter/fields

Get the list of supporter fields that can be saved or updated for this supporter in the POST/PUT calls.

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Supporter Questions
GET /ens/service/supporter/questions

Get the list of question fields that can be saved or updated for this supporter in the POST/PUT calls.

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Responses

200 OK
Body
Object
id
integer
Example:
6321
questionId
integer
Example:
615
name
string
Example:
Double Opt-in
type
string
Example:
CONF
Get Supporter Question by ID
GET /ens/service/supporter/questions/{id}

Get a question by id that includes its pull configuration (html field type and field values)

Path variables

id
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Example:
application/json
Query Supporters
GET /ens/service/supporter/query

Query supporters by various search functions.

  1. latestCreated - the latest supporters created in the system
  2. latestModified - the latest supporters modified in the system
  3. suppressed - Supporters that are currently suppressed in the system
  4. profile - Supporters that belong to a particular profile

Request parameters

type
string required

the type of query to perform (latestCreated, latestModified, suppressed, profile)

daysBack
integer optional

the number of days to go back for the search, this is not required for profile searches but required for all other types. Valid values are 1 to 32.

Min: 1
Max: 32
Default:
1
exportGroup
string optional

the export group to use that identifies the attributes of the supporter to return

profileId
integer optional

the ID of the profile to return the supporters for (only applies when type=profile)

start
integer optional

the row to start from for pagination

rows
integer optional

the number of rows to return (maximum=100)

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Suppressed Supporters
Get Supporters By Profile
Get Supporters By Create Date

Return the supporters that have been suppressed in the past 7 days

/supporter/query?type=suppressed&daysBack=7

Return the list of supporters that belong to a particular profile

/supporter/query?type=profile&daysBack=10&profileId=333

Get the list of supporters that have been created in the past 3 days using export group ‘basic only’

/supporter/query?type=latestCreated&daysBack=3&exportGroup=basic only
Get Recurring Transactions
GET /ens/service/supporter/{supporterId}/transactions/recurring

Get recurring transactions for the given supporter

Path variables

supporterId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Update Recurring Transaction by transactionId
PUT /ens/service/supporter/{supporterId}/transactions/recurring/{transactionId}

Update a recurring transaction. The available attributes to update a recurring transaction are its day of charge (paymentDay), amount, and its status (‘ACTIVE’, ‘PAUSED’, ‘CANCELED’).

{ “amount” : “12.15”, “paymentDay” : 15, “status” : “ACTIVE” }

Path variables

supporterId
string required
transactionId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Supporter Origin Source
GET /ens/service/supporter/{supporterId}/originsource

Get origin source details for a supporter

Path variables

supporterId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Responses

200 OK
Body
Object
code
string
Example:
EN123
category
string
Example:
advocacy
Add Supporter Origin Source
POST /ens/service/supporter/{supporterId}/originsource

Add an origin source to a supporter

Path variables

supporterId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Request body

Object
category
string
Example:
fundraising
code
string
Example:
FUND
Update Supporter Origin Source
PUT /ens/service/supporter/{supporterId}/originsource

Update a supporter’s origin source

Path variables

supporterId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Request body

Object
category
string
Example:
fundraising
code
string
Example:
FUND
Delete Supporter Origin Source
DELETE /ens/service/supporter/{supporterId}/originsource

Remove a supporter’s origin source.

Path variables

supporterId
string required

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Page Services

A set of services that can be used to manipulate pages built in EN.

Note: These services are rate limited. If you are ‘syncing’ large amounts of records, please consider using the ‘bulk API’ tools instead. Please contact support for further information.

GET /ens/service/page?type=dcf&status=live
GET /ens/service/page/{pageId}
POST /ens/service/page/{pageId}/process
Get Pages by Type
GET /ens/service/page?type=dcf&status=live

Get all pages by type and status. type is a required parameter and status is optional. Valid values for type are [dcf,mem,ems,unsub,pet,leadgen,survey,ecommerce,premium,sp,ss,sh,cc,tp,ev,ec,et,nd] Valid values for status are [live,new,tested,close]

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json
Get Page Details
GET /ens/service/page/{pageId}

Gets basica attributes about a page

Path variables

pageId
integer required

Return some basic attributes about a page

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Responses

200 OK
Body
Object
id
integer
Example:
1045
campaignId
integer
Example:
652343
name
string
Example:
My Page
title
string
Example:
My Page Title
type
string
Example:
dc
subType
string
Example:
PET
clientId
integer
Example:
1234
createdOn
integer
Example:
1485423965000
modifiedOn
integer
Example:
1487614627000
campaignBaseUrl
string
Example:
https://e-activist.com
campaignStatus
string
Example:
new
defaultLocale
string
Example:
en-US
campaignAttributes
Array
Example:
["Save the Whales","Trees"]
string
Example:
Save the Whales
locales
Array
Example:
["fr-FR","fr-CA"]
string
Example:
fr-FR
trackingParameters
Array of string

[“facebook”,“email”]

Process a Page Request
POST /ens/service/page/{pageId}/process

Process an EN page

A few notes regarding processing events through ENS

  1. The attendee list indicates the number of tickets being bought. So if you pass in one attendee, you are buying one ticket, if you pass in 5, you are buying tickets for that ticket.
  2. For the attendee element, an email address is required and must be submitted. The other attributes are all optional.
  3. The transaction element does not require a ‘donationAmt’ attribute. To pass in an additional amount, you will use event.addtionalAmount to do that.
  4. The example listed below is for a paid event. For free you would pass “cash” as paymenttype
  5. The rest of the payload should be self explanatory and match how we post data through a page.

Path variables

pageId
integer required

Processes a page built in EN

Request headers

ens-auth-token
string required

The ens-auth-token is the session token obtained from authenticating to ENS using your api key and is required on all calls after authentication.

Example:
f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type
string required

All responses for the service come back as JSON. This header is required on all calls after authentication.

Default:
application/json

Responses

200 Created
Body
Object
id
integer
Example:
1231231
status
string
Example:
SUCCESS
supporterEmailAddress
string
Example:
joe.smith@noaddress.com
supporterId
integer
Example:
2343122
Process a page
Process a data capture page
Process a donation page
Process an advocacy page
Process a membership page
Process an event page

Process a data capture page this time using standard supporter field properties. For question responses, the componentId of the question is used in the attribute name.

POST https://ca.engagingnetworks.app/ens/service/page/100/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type: application/json
{
   "standardFieldNames": true,
   "supporter": {
      "firstName": "Joe",
      "lastName": "Smith",
      "emailAddress": "joe.smith@noaddress.com",
      "NOT_TAGGED_1": "a generic field response"
      "questions": {
        "question.4512": "Y"
      }
   },
   "trackingId": "fb111",
   "appealCode":  "client appeal code",
   "txn1": "client-ext-ref-value1",
   "txn2": "client-ext-ref-value2"   
}

HTTP/1.1 200 OK 
Content-Type: application/json

{
    "id": 1231231,
    "status": "SUCCESS",
    "supporterEmailAddress": "joe.smith@noaddress.com",
    "supporterId": 2343122
}

Process a data capture page

POST https://ca.engagingnetworks.app/ens/service/page/100/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type: application/json
{
   "supporter": {
      "First Name": "Joe",
      "Last Name": "Smith",
      "Email Address": "joe.smith@noaddress.com",
      "questions": {
        "Marketing Optin": "Y",
        "Interested Emails": "daily emails"
      }
   },
   "suppressAutoResponder": true,
   "trackingId": "fb111",
   "appealCode":  "client appeal code",
   "txn1": "client-ext-ref-value1",
   "txn2": "client-ext-ref-value2"   
}

Process a donation page

POST https://ca.engagingnetworks.app/ens/service/page/{pageId}/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63

HTTP/1.1 200 OK 

Content-Type: application/json

{
	"supporter": {
		"Email Address": "joe.smith@noaddress.com",
		"First Name": "Joe",
		"Last Name": "Smith",
		"Address 1": "111 Main St",
		"region": "DE",
		"Postcode": "23433",
		"Country": "USA"
	},
	"transaction": {
		"paymenttype": "VISA",
        "donationAmt": "1.00",
        "ccnumber": "4222222222222220",
        "ccexpire": "12/2018"
	},
	"trackingId": "fb111",
	"appealCode": "client appeal code",
	"txn1": "client-ext-ref-value1",
	"txn2": "client-ext-ref-value2"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
  "id": 67710,
  "type": "CREDIT_SINGLE",
  "currency": "GBP",
  "status": "SUCCESS",
  "error": "",
  "recurringPayment": false,
  "paymentType": "VISA",
  "amount": 1,
  "transactionId": "ND3212T5291521174653468672__A659106__A3E6A98",
  "supporterEmailAddress": "joe.smith@noaddress.com",
  "supporterId": 139846,
  "createdOn": 1487353181180
}


Process an advocacy page

POST https://ca.engagingnetworks.app/ens/service/page/{pageId}/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63

HTTP/1.1 200 OK 

Content-Type: application/json
{
    "demo": true,
    "supporter": {
        "First Name": "Spider",
        "Last Name": "Man",
        "Email Address": "spider.man@avengers.com",
        "Address 1": "100 Main St",
        "Postal Code": "43031",
        "Country": "US"
    },
    "contactMessage": {
        "subject": "Please help",
        "message": "{contact_data~salutation}\nMr Freeze is destroying the city!\n\nKind regards,\n\nSpidey"
    }
}

HTTP/1.1 200 OK 

Content-Type: application/json
{
  "id": 67710,
  "status": "SUCCESS",
  "supporterEmailAddress": "spider.man@avengers.com",
  "supporterId": 139846,
  "createdOn": 1487353181180
}

donationAmt is an additional amount that can be applied on top of the membership. promoCode is optional.

POST https://ca.engagingnetworks.app/ens/service/page/100/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type: application/json

{
	"supporter": {
		"Email Address": "joe.smith@noaddress.com",
		"First Name": "Joe",
		"Last Name": "Smith",
		"Address 1": "111 Main St",
		"Region": "DE",
		"Postcode": "23433",
		"Country": "USA"
	},
	"transaction": {
		"paymenttype": "VISA",
        "donationAmt": "5",
        "ccnumber": "4222222222222220",
        "ccexpire": "12/2020"
	},
  "membership": {
     "promoCode": "",
     "membershipVariantId": 157,
     "members": [
       {
          "firstName": "Joe",
          "lastName": "Supporter",
          "emailAddress": "joe.supporter111@noaddress.com",
          "address1": "111 Main St",
          "city": "Rockville",
          "region": "MD",
          "postcode": "12345",
          "country": "US",
          "phoneNumber": "111-222-3333"
       }
     ]
  }
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": 1231231,
    "status": "SUCCESS",
    "supporterEmailAddress": "joe.smith@noaddress.com",
    "supporterId": 2343122
}

Process an event page that is configured in Engaging Networks

POST https://ca.engagingnetworks.app/ens/service/page/{pageId}/process HTTP/1.1 

ens-auth-token: f472b605-bae1-4e26-ad5b-829c91735f63
Content-Type: application/json

{
  "supporter": {
    "Email Address": "aleksandar+12345@engagingnetworks.net",
    "First Name": "Joe",
    "Last Name": "Smith",
    "Address 1": "111 Main St",
    "region": "DE",
    "Postcode": "23433",
    "Country": "USA"
  },
  "transaction": {
    "paymenttype": "VISA",
    "ccnumber": "4222222222222220",
    "ccexpire": "12/2022"
  },
  "event": {
    "discount": "TestDiscount",
    "tickets": [
      {
        "ticketId": 1972,
        "quantity": 2,
        "attendees": [
          {
            "title": "Mr",
            "firstName": "Foo",
            "lastName": "Bar",
            "emailAddress": "foo1@bar.com",
            "address1": "2 main",
            "address2": "Unit 5",
            "city": "San Diego",
            "region": "CA",
            "postCode": "92105",
            "country": "US",
            "phoneNumber": "999 999 9999",
            "dietaryPreference": "Nut allergies",
            "mobilityRequirement": "Easy access",
            "other1": "Oth1",
            "other2": "Oth2",
            "other3": "Oth3",
            "other4": "Oth4",
            "other5": "Oth5",
            "other6": "Oth6"
          },
          {
            "title": "Mr",
            "firstName": "Pat",
            "lastName": "Smith",
            "emailAddress": "pat@example.com"
          }
        ]
      },
      {
        "ticketId": 1978,
        "quantity": 3,
        "attendees": [
          {
            "title": "Mr",
            "firstName": "Foo",
            "lastName": "Bar",
            "emailAddress": "foo1@bar.com",
            "address1": "2 main",
            "address2": "Unit 5",
            "city": "San Diego",
            "region": "CA",
            "postCode": "92105",
            "country": "US",
            "phoneNumber": "999 999 9999",
            "dietaryPreference": "Nut allergies",
            "mobilityRequirement": "Easy access",
            "other1": "Oth1",
            "other2": "Oth2",
            "other3": "Oth3",
            "other4": "Oth4",
            "other5": "Oth5",
            "other6": "Oth6"
          },
          {
            "title": "Mr",
            "firstName": "Pat",
            "lastName": "Smith",
            "emailAddress": "pat@example.com"
          },
          {
            "title": "Mr",
            "firstName": "Matt",
            "lastName": "Bourke",
            "emailAddress": "matt@example.com"
          }
        ]
      }
    ]
  },
  "trackingId": "fb111",
  "appealCode": "client appeal code",
  "txn1": "client-ext-ref-value1",
  "txn2": "client-ext-ref-value2"
}

HTTP/1.1 200 OK 

Content-Type: application/json

{
  "id": 23433,
  "type": "CREDIT_SINGLE",
  "currency": "USD",
  "status": "SUCCESS",
  "error": "",
  "recurringPayment": false,
  "paymentType": "VISA",
  "amount": 100,
  "transactionId": "ND839485948594385943__A234343__AFJ234343",
  "supporterEmailAddress": "joe.smith@noaddress.com",
  "supporterId": 234333,
  "createdOn": 1657353181180
}
Export Job Services

Run your saved queries as jobs and download the results to a CSV

GET /ens/service/exportjob/{en_job_id}
GET /ens/service/exportjob/{en_job_id}/download
POST /ens/service/exportjob
Check Job Results
GET /ens/service/exportjob/{en_job_id}

Use this service to poll if a job is ready to be downloaded as a CSV

Path variables

en_job_id
number required

The job ID that was returned from the POST call to submit the job

Download Job Results
GET /ens/service/exportjob/{en_job_id}/download

Once the job results are ready to be downloaded, use this method to pull the results as a CSV. NOTE: ContentType of this request is “text/csv”

Path variables

en_job_id
number required

The job ID returned from the POST call

Create Export Job
POST /ens/service/exportjob

Submit an export job to the EN platform

  • format should be “Transaction” or “User Data”
  • queryName is a stored query for exporting data
  • fieldGroup is an export group in your account
Submit a Job
POST https://ca.engagingnetworks.app/ens/service/exportjob HTTP/1.1 

Content-Type: application/json
{
   "displayUserDataInTransactionExport":false,
   "applyCustomReferenceNames":false,
   "fileType":"csv",
   "queryName":"HighGivers",
   "format":"Transaction",
   "fieldGroup": "UserDataOnly"
}

Response
{
   "id": 2343432,
   "createdOn": 165892834983483,
   "status": "pending"
}
Marketing Automation Services

Get a list of your running marketing automations and add programtically add more supporters to your automation.

GET /ens/service/ma
GET /ens/service/ma/{maId}
GET /ens/service/ma/{maId}/stats
POST /ens/service/ma/{maId}/supporter/bulk
Get Marketing Automations
GET /ens/service/ma

Get a list of your running marketing automations

Get automations in a folder

Get marketing automations by folderId

GET https://ca.engagingnetworks.app/ens/service/ma?folderId=2434 HTTP/1.1 
Get Marketing Automation by ID
GET /ens/service/ma/{maId}

Get a marketing automation by ID

Path variables

maId
string required
Get Marketing Automation Stats
GET /ens/service/ma/{maId}/stats

Get some basic metrics on your marketing automation

Path variables

maId
string required
Add Supporters to Marketing Automation
POST /ens/service/ma/{maId}/supporter/bulk

Add an array of supporters (up to 1000 per call) to your marketing automation.
NOTE: The supporter must exist in EN, not be supressed or in the exclude criteria of the marketing automation.

Path variables

maId
string required
Add supporters

Add six supporters to an automation with ID 10010

POST https://ca.engagingnetworks.app/ens/service/ma/10010/supporter/bulk HTTP/1.1 

Content-Type: application/json

[2374873,980432,89495845,7834792,12637263,908734]