API Spec
- Jump to:
- Contacts
- Webhook
- ContactLists
- Files
- Journeys
Contacts
Used to access Contacts and their related Interactions
| Method | URL | Description | 
|---|---|---|
| GET | contacts/{contactId} | Get the details for a specific contact | 
| GET | contacts/{contactId}/journeys | Get a list of a Contact's Journeys | 
| GET | contacts/{contactId}/communications | Get all Communications a Contact has had with the Platform | 
| GET | contacts/{contactId}/journeyactivities/{journeyId} | Get all interactions a Contact has in a given Journey | 
| GET | contacts/{contactId}/summary | Get the last 10 Emails, Texts, LandingPages, WebForms, RSVPEvents and Competitions interactions this Contact has had with the Platform | 
| GET | contacts/{contactId}/emails | Get a list of a Contact's Email Interactions | 
| GET | contacts/{contactId}/textmessages | Get a list of a Contact's TextMessage Interactions | 
| GET | contacts/{contactId}/landingpages | Get a list of a Contact's Landing Page Interactions | 
| GET | contacts/{contactId}/webforms | Get a list of a Contact's WebForm Interactions | 
Webhook
Use to subscribe to Events in the Which50 Platform and receive webhook calls.
| Method | URL | Description | 
|---|---|---|
| GET | webhook/webhooksubscriptions?pageNumber={pageNumber}&pageSize={pageSize} | Retrieves a list of webhook subscriptions. | 
| POST | webhook/subscribe/{eventName} | Creates a webhook subscription for a given event name. | 
| DELETE | webhook/subscribe/{id} | Deactivates a webhook subscription. | 
| PUT | webhook/saltkey | No documentation available. | 
| GET | webhook/saltkey | No documentation available. | 
| PUT | webhook/apikey | No documentation available. | 
| GET | webhook/apikey | No documentation available. | 
ContactLists
Used to View ContactList Contacts, Schemas/Fields, as well as insert/update contacts
| Method | URL | Description | 
|---|---|---|
| GET | contactLists | Gets a list of ContactLists | 
| GET | contactLists/{contactListId} | Get a specific ContactList | 
| GET | contactLists/{contactListId}/fields | Get a specific ContactList's fields | 
| GET | contactLists/{contactListId}/fields/{fieldId} | Get the details of a specific ContactList's Field | 
| GET | contactLists/{contactListId}/journeys | Get a list of Journeys that use a specific ContactList | 
| GET | contactLists/{contactListId}/contacts | Get a list of Contacts for a specific ContactList | 
| PATCH | contactLists/{contactListId}/contact | Find all contacts within a given contactlist that match a set of values, then update their properties to given values E.G. Find all contacts with an ReferanceAccountID of 123456 and set their address to "123 Red Street, D1". | 
| POST | contactLists/{contactListId}/contact | Create/Update a contact in a specific ContactList | 
| POST | contactLists/contactForm | Create/Update a contact in a specific ContactList. Directly replaces the old api/Contact.aspx Form endpoint | 
| POST | contactLists/{contactListId}/import | Create an Import job for a specific ContactList | 
| GET | contactLists/{contactListId}/import/{importJobId} | Check the status of an Import Job belonging to a specific ContactList | 
| POST | contactLists/{contactListId}/import/{importJobId} | Insert/Update a batch of Contacts in a specific Import Job belonging to a specific Contact List | 
| POST | contactLists/{contactListId}/import/{importJobId}/run | Run an ImportJob for a specific ContactList, to start the batch Insert/Update process | 
| GET | contactLists/{contactListId}/linkeddata | Get a list of Linked Data for a specific contact list | 
| GET | contactLists/{contactListId}/linkeddata/{linkedDataId} | Get a specific Linked Data from a specific contact list | 
| GET | contactLists/{contactListId}/linkeddata/{linkedDataId}/fields | Get a specific Linked Data schema's fields from a specific ContactList | 
| GET | contactLists/{contactListid}/linkeddata/{linkedDataId}/fields/{fieldId} | Get the details of a specific Linked Data schema's Field | 
| GET | contactLists/{listId}/linkeddata/{linkedDataId}/records | Get a specific set of Linked Data's records from a specific ContactList | 
| POST | contactLists/{contactListId}/registerDevice | Create/Update a contact in a specific ContactList, and store their DeviceID in the ContactDevice table | 
| GET | contactLists/serverTime | Returns the current Server Time | 
Files
Used to manage files in the FTP folder
| Method | URL | Description | 
|---|---|---|
| GET | files?filePath={filePath} | Gets and returns a file as specified by the filePath parameter | 
| GET | files/edocument/{eDocumentTrackId} | Gets and returns a generated eDocument as specified by the eDocumentTrackId parameter | 
| POST | files?subFolder={subFolder} | Upload a file to the specified subFolder. The file must be attached as a Form-data value | 
| DELETE | files?filePath={filePath}&download={download} | Deletes the file as specified by the filePath parameter. | 
Journeys
Used to access Journeys and related Reports/Activities
| Method | URL | Description | 
|---|---|---|
| GET | journeys | Get a List of Journeys | 
| GET | journeys/{journeyid} | Get the details of a specific Journey | 
| GET | journeys/{journeyid}/contacts | Get a list of Contacts for a specific Journey | 
| GET | journeys/{journeyid}/reports | Get channel reports for a specific Journey | 
| GET | journeys/{journeyId}/reports/emails | Get an Emails Report for a specific Journey | 
| GET | journeys/{journeyId}/reports/emails/{emailId}/contacts | Get all Contacts from a given Journey who where sent a specific Email. | 
| GET | journeys/{journeyId}/reports/emails/{emailId}/contacts/{state} | Get all Contacts from a given Journey who where sent a given email which is at a specified State | 
| GET | journeys/{journeyId}/reports/textmessages | Get a TextMessages Report for a specific Journey | 
| GET | journeys/{journeyId}/reports/textmessages/{textMessageId}/contacts | Get all Contacts from a given Journey who where sent a specific TextMessage. | 
| GET | journeys/{journeyId}/reports/textmessages/{textMessageId}/contacts/{state} | Get all Contacts from a given Journey who where sent a given TextMessage - which is at a specified State | 
| GET | journeys/{journeyId}/reports/landingpages | Get a LandingPages Report for a specific Journey | 
| GET | journeys/{journeyId}/reports/landingpages/{landingpageId}/contacts | Get all Contacts from a given Journey who visited a specific Landing Page | 
| GET | journeys/{journeyId}/reports/landingpages/{landingpageId}/contacts/{state} | Get all Contacts from a given Journey who visited a specific Landing Page by their state in it's workflow | 
| GET | journeys/{journeyId}/activities | Get a list of Activities for a given Journey | 
| GET | journeys/{journeyId}/activities/{activityId} | Get a specific Activity for a given Journey | 
| GET | journeys/{JourneyId}/activities/{activityId}/contacts | Get a list of Contacts who participated in a specific Journey Activity | 
| POST | journeys/sendEmail | Create/Update a contact in a specific ContactList and send an email to the contact. | 
| PATCH | journeys/sendEmail | Create/Update a contact in a specific ContactList and send an email to the contact. | 
| PUT | journeys/sendEmail | Create/Update a contact in a specific ContactList and send an email to the contact. | 
| POST | journeys/sendTextMessage | Create/Update a contact in a specific ContactList and send an email to the contact. | 
| PATCH | journeys/sendTextMessage | Create/Update a contact in a specific ContactList and send an email to the contact. | 
| PUT | journeys/sendTextMessage | Create/Update a contact in a specific ContactList and send an email to the contact. |