Direct Mail API - Recipients

List Recipients

Use the API to obtain a list of recipient objects. Include group_id to only return recipients in the specified group. You can use the offset and limit parameters for pagination.

[GET]
https://ca.stannp.com/api/v1/recipients/list

Parameters

ParameterTypeDescription
group_idintID of the group to filter the recipients.
offsetintOffset for pagination.
limitintLimit for pagination.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/list" \
-u {API_KEY}:
    

Response Example

[
  {
    "id": "1943",
    "account_id": "5",
    "title": "Mr",
    "firstname": "John",
    "lastname": "Example",
    "company": "Example Co",
    "address1": "123 Example street",
    "city": "Example Town",
    "country": "CA",
    "postcode": "EX12 3AB"
  },
  {
    "id": "1944",
    "account_id": "5",
    "title": "Mrs",
    "firstname": "Jane",
    "lastname": "Example",
    "company": "Example Co",
    "address1": "123 Example street",
    "city": "Example Town",
    "country": "CA",
    "postcode": "EX12 3AB"
  }
]

Get a Single Recipient

Obtain the recipient object for the recipient ID specified.

[GET]
https://ca.stannp.com/api/v1/recipients/get/:id

Parameters

ParameterTypeDescription
idintID of the recipient to fetch.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/get/:id" \
-u {API_KEY}:
    

Response Example

{
  "id": "1943",
  "account_id": "5",
  "title": "Mr",
  "firstname": "John",
  "lastname": "Example",
  "company": "Example Co",
  "address1": "123 Example street",
  "city": "Example Town",
  "country": "CA",
  "postcode": "EX12 3AB"
}

Create a New Recipient

Use the API to create a new recipient.

[POST]
https://ca.stannp.com/api/v1/recipients/new

Parameters

ParameterTypeDescription
firstnamestringRecipient's first name.
lastnamestringRecipient's last name.
address1stringAddress line 1.
address2stringAddress line 2.
address3stringAddress line 3.
citystringAddress city.
postcodestringAddress postal code.
countrystringISO 3166-1 Alpha 2 Country Code (GB,US,FR...).
emailstringThe recipient's email address.
phone_numberstringThe recipient's phone number.
ref_idstringThis is an alternative ID. You can use an ID from a different service so you can always match a recipient across multiple services.
group_idintThe group ID you wish to add the data to.
on_duplicatestringWhat to do if a duplicate is found (update/ignore/duplicate).
test_levelstringThis is how we test to see if this recipient is a duplicate record. You can choose from the following. Defaults to 'fullname'. - 'email' - This will match a duplicate based on the email address. - 'fullname' - This will match a duplicate based on the full name and address. - 'initial' - This will match a duplicate based on the initial of the first plus last name and address. - 'ref_id' - This will match a duplicate on any alternative ID you have stored. If you have added custom fields to your recipients you can also add them as parameters when adding new recipient records.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/new" \
-u {API_KEY}: \
-d "firstname=Steve" \
-d "lastname=Parish" \
-d "address1=Unit 12 Taw Trade Park" \
-d "address2=Suite 100" \
-d "address3=Building A" \
-d "city=Barnstaple" \
-d "postcode=EX31 1JZ" \
-d "country=CA" \
-d "email=steve.parish@example.com" \
-d "phone_number=+11234567890" \
-d "ref_id=SP12345" \
-d "group_id=123" \
-d "on_duplicate=update" \
-d "test_level=fullname" 
    

Response Example

{
  "id": "1941",
  "valid": true
}

Delete a Recipient

Use the API to permanently delete a recipient from your account.

[POST]
https://ca.stannp.com/api/v1/recipients/delete

Parameters

ParameterTypeDescription
idintID of the recipient to delete.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/delete" \
-u {API_KEY}: \
-d "id=12345" 
    

Response Example

{
  "success": true
}

Delete All Recipients from Account

Use the API to permanently delete all recipients in your account.

[POST]
https://ca.stannp.com/api/v1/recipients/deleteAll

Parameters

ParameterTypeDescription
delete_allboolSet to true to confirm. **WARNING:** This will completely delete all recipients in your account. This cannot be reversed.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/deleteAll" \
-u {API_KEY}: \
-d "delete_all=true" 
    

Response Example

{
  "success": true
}

Import a Data File

Use the API to import a data file into your account.

[POST]
https://ca.stannp.com/api/v1/recipients/import

Parameters

ParameterTypeDescription
filestringA CSV or XLS file as binary format, a base64 encoded string of a CSV file, or a URL to a file.
group_idintID of the group you wish to import data into.
duplicatesstringWhat to do if a duplicate is found (update/ignore/duplicate). update = [default] Updates the duplicated record with newest data. ignore = do not add the new duplicated record. duplicate = Add all duplicate records.
no_headingsboolTrue or false. If your CSV file hasn't got a row of heading names at the top you can set this value to true. If you do not have a heading row then you must supply the headings by using the following mappings parameter.
mappingsstringIf your CSV file has a heading row with names that differ to our names then you can pass a comma separated string here to remap the headings. eg: title, firstname, lastname, company, address1, address2, city, postcode, country, custom, custom, skip. 'custom' means we will create a new field name matching your heading name. 'skip' will ignore the column so it is not imported. If you do not use this parameter then your heading names must match ours exactly. title, firstname, lastname, company, job_title, address1, address2, address3, city, postcode, country.

Request Example

        curl "https://ca.stannp.com/api/v1/recipients/import" \
-u {API_KEY}: \
-d "file=/home/user/Desktop/data.csv" \
-d "group_id=123" \
-d "duplicates=update" \
-d "no_headings=false" \
-d "mappings=title,firstname,lastname,company,address1,address2,city,postcode,country,custom,custom,skip" 
    

Response Example

{
  "success": true
}