Custom Fields Mapping

Custom Fields Mapping describes how custom fields seen by user (e.g. contact custom field "Role in organisation") are mapped to custom field objects in Search API backend (e.g. "contact:12345").

Custom Fields Mapping API returns list of all custom fields defined on account for given entity (lead/contact/deal), alongside with additional meta-information (custom field type, id to use within search API, user-provided name).

Endpoints

There is one mapping API endpoint for each entity type:

EndpointActionResponse payloadDescription
/v3/deals/custom_fieldsGETJSONDeal custom fields mapping
/v3/leads/custom_fieldsGETJSONLead custom fields mapping
/v3/contacts/custom_fieldsGETJSONContact custom fields mapping

Schema

Custom fields

CustomField type consists of following attributes:

AttributeTypeDescription
idstringID of this custom field in Sell backend systems
namestringUser-defined custom field name, e.g. "Role in organisation"
typestringType of this custom field, see custom field type in firehose section
resource_typestringType of entity this custom field is defined for, possible values are lead, deal and contact, prospect_and_customer
search_api_idstringSearch API attribute id to use with Search API to e.g. sort on this custom field
GET /v3/deals/custom_fieldsAuthorization: Bearer $TOKEN
{    "items": [        {            "data": {                "id": "12345",                "name": "Required delivery date",                "type": "date",                "resource_type": "deal",                "search_api_id": "custom_fields.12345"            },            "meta": {                "type": "custom_field"            }        },        {            "data": {                "id": "56789",                "name": "Internal department ID",                "type": "string",                "resource_type": "deal",                "search_api_id": "custom_fields.56789"            },            "meta": {                "type": "custom_field"            }        }    ],    "meta": {        "type": "collection",        "count": 2    }}

Use with Search API

Custom field IDs obtained through Mapping API may be used to query Search API

POST /v3/deals/searchAuthorization: Bearer $TOKEN
{  "items": [    {      "data": {        "per_page": 2,        "query": {          "projection": [            {              "name": "id"            },            {              "name": "custom_fields.56789"            }          ],          "sort": [            {              "attribute": {                "name": "custom_fields.155488"              },              "order": "ascending"            }          ]        }      }    }  ]}
{  "items": [    {      "successful": true,      "items": [        {          "data": {            "custom_fields": {              "56789": "marketing"            },            "id": 11111,            "version": 21          },          "meta": {            "type": "deal"          }        },        {          "data": {            "custom_fields": {              "56789": "public relations"            },            "id": 33333,            "version": 8          },          "meta": {            "type": "deal"          }        }      ],      "meta": {        "count": 2,        "http_status": "200 OK",        "links": {          "next_page": "neXTpAgeT0k3n=="        },        "total_count": 321,        "type": "collection"      }    }  ]}