I4A API 2.0

From i4a API Wiki
Jump to navigation Jump to search

Authentication

For security purposes, I4A API 2 will only work on a secure port through HTTPS. To access any of the API functionality, you must first authenticate. Information is available on the API Settings page on how to obtain the values needed to authenticate and update them, if need be.


Authentication Endpoint

'''POST''' /i4a/api2/authenticate/


Parameters

username

form | required

See API Settings page on how to obtain the value.
password

form | required

See API Settings page on how to obtain the value.
token

form | required

See API Settings page on how to obtain the value.


Example:

curl --location --request POST 'https://<yourdomain.com>/i4a/api2/authenticate' \
--form 'username="XXXXXXXX"' \
--form 'password="XXXXXXXX"' \
--form 'token="XXXXXX-XXXX-XXXXX-XXXXXXXXXXX"'

Response:

{
    "expiration": "{ts '2022-10-25 16:03:47'}",
    "success": true,
    "authKey": "XXXXXX-XXXX-XXXXX-XXXXXXXXXXX",
    "error": ""
}

Retrieving Data

Once you have successfully obtained the authKey, you can then access a few different read-only endpoints. Note: Your authKey will expire after 4 hours.


Contacts Endpoint

POST /i4a/api2/contacts/


Parameters

authKey

header | required

The authKey you received during authentication.
Content-Type

header | required

Set this to application/json.
filter

form | optional

This is the query filter.

Basic usage: lastName:Doe - this will search for contacts where lastName = 'Doe'. Note: the colons separate column name and filter value. If more than one filter is needed, please use commas: lastName:Doe,email:test@domain.com. This will search for contacts where lastName = 'Doe' AND email = 'test@domain.com'.

Advanced usage: You can write your own query filter as such: city ='Chicago' OR email LIKE '%i4a%' Note: do not include the keyword 'WHERE'. You may use other query operators (= > < >= <= <> BETWEEN LIKE IN). Date values to query against must be in the format 'yyyy-MM-dd'.

filterOperator

form | optional

This can be either 'OR' or 'AND' (default). Only applicable when filter is used with colons.
pageSize

form | optional

The number of results to return. Maximum is 100 (default).
page

form | optional

The page number, starting at 1 (default). This is useful when your query returns more records than the 'pageSize' allows.


Example:

curl --location --request POST 'https://yourdomain.com/i4a/api2/contacts/' \
--header 'authKey: XXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX' \
--header 'Content-Type: application/json' \
--form 'filter="lastName:Doe"'

Response:

{
    "success": true,
    "data": [
        {
            "zip": "12345",
            "corpexpiration": "2034-11-01 01:00:00.0",
            "c_user_memo": "",
            "firstname": "Tim",
            "customid": "645",
            "email": "tim@test.com",
            "contactid": "693295",
            "corptype": "Regular",
            "country": "US",
            "c_user_test_default_no": false,
            "lastname": "Doe",
            "iscorp": 1,
            "corpjoindate": "2017-09-12 01:00:00.0",
            "id": "693295",
            "middle": "J.",
            "c_user_pets": "cats,monkeys",
            "c_user_photo": "",
            "orgid": "115893",
            "suffix": "",
            "creationdate": "2018-04-16 12:18:30.0",
            "modifiedby": "693295",
            "c_user_gender": "",
            "modifieddate": "2021-12-08 13:22:47.0",
            "isemail": 0,
            "c_user_graduationdate": "",
            "datedropped": "",
            "isactive": 1,
            "daterenewed": "2022-12-09 01:00:00.0",
            "company": "HQC Inc.",
            "region": "",
            "c_user_birthday": "",
            "prefix": "Mr.",
            "review": 0,
            "c_user_certified": "",
            "ccmail": "",
            "c_user_uploadbio": "",
            "phone": "5551234",
            "state": "OH",
            "paidthru": "2034-11-01 01:00:00.0",
            "c_user_end_market": "",
            "primarycontact": "693295",
            "url": "",
            "member_status": "",
            "address1": "123 Happy Lane",
            "isdirectory": 1,
            "address3": "",
            "address2": "",
            "datejoined": "2007-07-23 05:00:00.0",
            "c_user_occupation": "",
            "addid": "140462",
            "groupid": 0,
            "city": "Chicago",
            "isprimary": 1,
            "informalname": "",
            "title": "",
            "fax": "",
            "c_user_resume": ""
        },
        {
            "zip": "",
            "corpexpiration": "",
            "c_user_memo": "",
            "firstname": "John",
            "customid": "649",
            "email": "john@site.com",
            "contactid": "693681",
            "corptype": "",
            "country": "US",
            "lastname": "Doe",
            "iscorp": 0,
            "corpjoindate": "",
            "id": "693681",
            "middle": "",
            "c_user_photo": "",
            "orgid": "150514",
            "suffix": "",
            "creationdate": "2021-11-08 15:31:50.0",
            "modifiedby": "692686",
            "c_user_gender": "",
            "modifieddate": "2021-11-08 15:31:50.0",
            "isemail": 0,
            "c_user_graduationdate": "",
            "datedropped": "",
            "isactive": 1,
            "daterenewed": "",
            "company": "",
            "region": "",
            "c_user_birthday": "",
            "prefix": "",
            "review": 0,
            "c_user_certified": "",
            "ccmail": "",
            "c_user_uploadbio": "",
            "phone": "555-1234",
            "state": "OH",
            "paidthru": "",
            "c_user_end_market": "",
            "primarycontact": "693681",
            "url": "",
            "member_status": "",
            "address1": "555 Street",
            "isdirectory": 1,
            "address3": "",
            "address2": "",
            "datejoined": "",
            "c_user_occupation": "",
            "addid": "140467",
            "groupid": "693681",
            "city": "Cincinnati",
            "isprimary": 1,
            "informalname": "",
            "title": "",
            "fax": "",
            "c_user_resume": ""
        }
    ],
    "error": "",
    "page": 1,
    "pagesize": "100"
}

Views Endpoint

POST /i4a/api2/views/