Additional Data
You can assign additional data to a account, and one, or more contacts. The additional-data is a collection of custom fields, and can be whatever you want it to be.
You start be defining your connection types. If the additional data is a fruit, the connection types can be owner
, plucker
and eater
.
Then you create your "fruit" and assign it to an account. When created you can connect contacts to it.
Connection types
A connection type is just a name and a id for the link between contacts and the actual additional data.
Get connection types
GET /additional-data/connections
Query string parameters
- Supports Searching
- Supports Pagination
Response
Status code 200
{
"data": [
{
"id": 1,
"name": "Name",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 07:36:46"
}
],
"pagination": {
"total": 1,
"page": 1,
"per_page": 15,
"urls": {
"previous": null,
"next": null
}
}
}
Get a connection type
GET /additional-data/connections/:connection_id
Response
Status code 200
{
"id": 1,
"name": "Name",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 07:36:46"
}
The data
The actual data is just custom fields. Create your custom fields before you create additional data!
Get all additional data for an account
GET /accounts/:account_id/additional-data
Query string parameters
- Supports Searching
- Supports Pagination
Response
Status code 200
{
"data": [
{
"id": "69bf1263-f438-40c1-ba9d-d350669ab13c",
"custom_fields": [
{
"type": "text",
"name": "name",
"label": "name",
"value": "Something something",
"validation": null,
"required": false
}
],
"created_at": "2015-05-01 12:00:12",
"updated_at": "2015-05-01 12:00:12",
"deprecated_at": "2015-05-01 12:00:12"
}
],
"pagination": {
"total": 20,
"page": 1,
"per_page": 15,
"urls": {
"previous": null,
"next": "http://api.easir.com/accounts/ee0d6beb-ca91-4d6d-84a7-f325288a6e96/additional-data/?page=2"
}
}
}
Get specific additional data
GET /accounts/:account_id/additional-data/:additional_data_id
Response
Status code 200
{
"id": "69bf1263-f438-40c1-ba9d-d350669ab13c",
"custom_fields": [
{
"type": "text",
"name": "name",
"label": "name",
"value": "Something something",
"validation": null,
"required": false
}
],
"connections": [
{
"id": "aa057f9d-d970-450a-b8c1-007cb3e5ef5a",
"type": {
"id": 1,
"name": "Some updated name",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 08:12:03"
},
"contact": {
"id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c",
"b2c": true,
"account": {
"id": "3cb87c2f-0feb-3b10-90a1-b5d01bb3eb69",
"name": "Account name"
},
"user": null,
"status": "opportunity",
"fixed_fields": [
{
"type": "text",
"name": "salutation",
"label": "Salutation",
"value": "Prof.",
"validation": null,
"required": false
}
],
"custom_fields": [],
"created_at": "2015-02-24 12:34:56",
"updated_at": "2015-02-24 12:34:56"
},
"created_at": "2015-05-01 12:00:12",
"updated_at": "2015-05-01 12:00:12"
}
],
"created_at": "2015-05-01 12:00:12",
"updated_at": "2015-05-01 12:00:12",
"deprecated_at": "2015-05-01 12:00:12"
}
Get all additional data for a contact
GET /accounts/:account_id/contacts/:contact_id/additional-data
Query string parameters
- Supports Searching
- Supports Pagination
Response
Status code 200
{
"data": [
{
"id": "69bf1263-f438-40c1-ba9d-d350669ab13c",
"custom_fields": [
{
"type": "text",
"name": "name",
"label": "name",
"value": "Some name",
"validation": null,
"required": false
}
],
"connections": [
{
"id": "aa057f9d-d970-450a-b8c1-007cb3e5ef5a",
"type": {
"id": 1,
"name": "Some updated name",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 08:12:03"
},
"contact": {
"id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c",
"b2c": true,
"account": {
"id": "3cb87c2f-0feb-3b10-90a1-b5d01bb3eb69",
"name": "Account name"
},
"user": null,
"status": "opportunity",
"fixed_fields": [
{
"type": "text",
"name": "salutation",
"label": "Salutation",
"value": "Prof.",
"validation": null,
"required": false
}
],
"custom_fields": [],
"created_at": "2015-02-24 12:34:56",
"updated_at": "2015-02-24 12:34:56"
},
"created_at": "2015-05-01 12:00:12",
"updated_at": "2015-05-01 12:00:12"
}
],
"created_at": "2015-05-01 12:00:12",
"updated_at": "2015-05-01 12:00:12",
"deprecated_at": "2015-05-01 12:00:12"
}
],
"pagination": {
"total": 1,
"page": 1,
"per_page": 15,
"urls": {
"previous": null,
"next": null
}
}
}
Create additional data
POST /accounts/:account_id/additional-data
Parameters
- Supports Fields
- Does not support
fixed_fields
- Does not support
- Supports Backdating
deprecated
boolean - Marks the data as deprecated
Payload
{
"custom_fields": [
{
"name": "name",
"value": "Some name"
}
],
"deprecated": true
}
Response
Status code 201
{
"id": "dedb6474-087c-417e-93e3-aba65d747f90",
"custom_fields": [
{
"type": "text",
"name": "name",
"label": "name",
"value": "Some name",
"validation": null,
"required": false
}
],
"created_at": "2015-05-05 08:43:54",
"updated_at": "2015-05-05 08:43:54",
"deprecated_at": "2015-05-01 12:00:12"
}
Update additional data
PUT /accounts/:account_id/additional-data/:additional_data_id
Parameters
- Supports Fields
- Does not support
fixed_fields
- Does not support
deprecated
boolean - Marks the data as deprecated
Payload
{
"custom_fields": [
{
"name": "name",
"value": "Some updated name"
}
]
}
Response
Status code 200
{
"id": "dedb6474-087c-417e-93e3-aba65d747f90",
"custom_fields": [
{
"type": "text",
"name": "name",
"label": "name",
"value": "Some updated name",
"validation": null,
"required": false
}
],
"created_at": "2015-05-05 08:43:54",
"updated_at": "2015-05-05 08:45:25",
"deprecated_at": "2015-05-01 12:00:12"
}
Delete additional data
DELETE /accounts/:account_id/additional-data/:additional_data_id
Response
Status code 204
Connections
When you want to connect a contact and some additional data you have to use your connection type.
A contact can only be connected to the same additional data with the same connection type once
Connect a contact
POST /accounts/:account_id/additional-data/:additional_data_id/connections
Parameters
connection_id
integer - Id of the connection you want to use.- Required
contact_id
UUID - Id of the contact you want to connect.- Required
Payload
{
"connection_id": 1,
"contact_id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c"
}
Response
Status code 201
{
"id": "5b0fa7cb-8ae2-41b0-8128-856b7e7063af",
"type": {
"id": 1,
"name": "Some updated name",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 08:12:03"
},
"contact": {
"id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c",
"b2c": true,
"account": {
"id": "3cb87c2f-0feb-3b10-90a1-b5d01bb3eb69",
"name": "Account name"
},
"user": null,
"status": "opportunity",
"fixed_fields": [
{
"type": "text",
"name": "salutation",
"label": "Salutation",
"value": "Prof.",
"validation": null,
"required": false
}
],
"custom_fields": [],
"created_at": "2015-02-24 12:34:56",
"updated_at": "2015-02-24 12:34:56"
},
"created_at": "2015-05-05 11:05:18",
"updated_at": "2015-05-05 11:05:18"
}
Update a connection
PUT /accounts/:account_id/additional-data/:additional_data_id/connections/:connection_id
Parameters
connection_id
integer - Id of the connection you want to use.- Required
contact_id
UUID - Id of the contact you want to connect.- Required
Payload
{
"connection_id": 3,
"contact_id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c"
}
Response
Status code 200
{
"id": "5b0fa7cb-8ae2-41b0-8128-856b7e7063af",
"type": {
"id": 3,
"name": "Something other",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 08:12:03"
},
"contact": {
"id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c",
"b2c": true,
"account": {
"id": "3cb87c2f-0feb-3b10-90a1-b5d01bb3eb69",
"name": "Account name"
},
"user": null,
"status": "opportunity",
"fixed_fields": [
{
"type": "text",
"name": "salutation",
"label": "Salutation",
"value": "Prof.",
"validation": null,
"required": false
}
],
"custom_fields": [],
"created_at": "2015-02-24 12:34:56",
"updated_at": "2015-02-24 12:34:56"
},
"created_at": "2015-05-05 11:05:18",
"updated_at": "2015-05-05 11:05:18"
}
Get a connection
GET /accounts/:account_id/additional-data/:additional_data_id/connections/:connection_id
Response
Status code 200
{
"id": "5b0fa7cb-8ae2-41b0-8128-856b7e7063af",
"type": {
"id": 3,
"name": "Something other",
"created_at": "2015-05-05 07:36:46",
"updated_at": "2015-05-05 08:12:03"
},
"contact": {
"id": "8dbb05f9-e19c-34f8-8885-eed4e520bf3c",
"b2c": true,
"account": {
"id": "3cb87c2f-0feb-3b10-90a1-b5d01bb3eb69",
"name": "Account name"
},
"user": null,
"status": "opportunity",
"fixed_fields": [
{
"type": "text",
"name": "salutation",
"label": "Salutation",
"value": "Prof.",
"validation": null,
"required": false
}
],
"custom_fields": [],
"created_at": "2015-02-24 12:34:56",
"updated_at": "2015-02-24 12:34:56"
},
"created_at": "2015-05-05 11:05:18",
"updated_at": "2015-05-05 11:05:18"
}
Disconnect a contact
DELETE /accounts/:account_id/additional-data/:additional_data_id/connections/:connection_id
Response
Status code 204
Get table fields
GET /additional-data/table-fields
Response
Status code 200
{
"data": [
{
"id": 17,
"name": "car_age",
"label": "Car age",
"type": "date",
"required": false,
"validation": "date",
"hidden": false,
"read_only": false,
"sort_order": 2,
"team_id": null,
"group_id": null
},
{
"id": 16,
"name": "mileage",
"label": "Mileage",
"type": "numeric",
"required": false,
"validation": "numeric",
"hidden": false,
"read_only": false,
"sort_order": 3,
"team_id": null,
"group_id": null
},
{
"id": 15,
"name": "name",
"label": "name",
"type": "text",
"required": false,
"validation": null,
"hidden": false,
"read_only": false,
"sort_order": 4,
"team_id": null,
"group_id": null
}
]
}
Set table fields
PUT /additional-data/table-fields
Parameters
custom_field_ids
array - Custom field-ids.owner_type
must be equal toadditional_data
.- Required
Payload
{
"custom_field_ids": [15, 16, 17]
}
Response
Status code 200
{
"data": [
{
"id": 17,
"name": "car_age",
"label": "Car age",
"type": "date",
"required": false,
"validation": "date",
"hidden": false,
"read_only": false,
"sort_order": 2,
"team_id": null,
"group_id": null
},
{
"id": 16,
"name": "mileage",
"label": "Mileage",
"type": "numeric",
"required": false,
"validation": "numeric",
"hidden": false,
"read_only": false,
"sort_order": 3,
"team_id": null,
"group_id": null
},
{
"id": 15,
"name": "name",
"label": "name",
"type": "text",
"required": false,
"validation": null,
"hidden": false,
"read_only": false,
"sort_order": 4,
"team_id": null,
"group_id": null
}
]
}