Reference
Constants

Constants

This page documents field-type helpers re-exported from the top-level dealcloud_sdk package, plus additional modules under dealcloud_sdk.constants you can import for environment variable names, OAuth scope defaults, pagination defaults, HTTP retry tuning, and user-activity translation tables.

# Field types (also re-exported at package root)
from dealcloud_sdk import TEXT, get_field_type_name
 
# Other modules (submodule import)
from dealcloud_sdk.constants import env_var_names, auth, data, request, user_activity

For configuration behavior, see Authentication, Configuration files, and Advanced configuration. For tuning throughput, see Performance tuning.

Field Type Constants

The SDK exports integer constants for field types (no enum) from dealcloud_sdk.constants.field_types (re-exported at the package root). Use these when comparing field.fieldType or when building requests:

from dealcloud_sdk import TEXT, CHOICE, NUMBER, DATE, REFERENCE, BOOLEAN, USER
from dealcloud_sdk import BINARY, ENTRY_LIST_ID, COUNTER, IMAGE, DATA_SOURCE, CURRENCY
 
# Compare with field type
if field.fieldType == TEXT:
    print("Text field")
if field.fieldType in (BINARY, IMAGE):
    print("File or image field")

Field Type Constants Table

NameValueDescription
TEXT1Single-line text
CHOICE2Choice
NUMBER3Numeric values
DATE4Date only
REFERENCE5Reference
BOOLEAN6True/false
USER7User reference
BINARY13File / document (attachment)
ENTRY_LIST_ID14Entry list reference
COUNTER15Counter
IMAGE16Image field
DATA_SOURCE17Data source
CURRENCY18Currency values

Mappings

FIELD_TYPE_NAMES

Dictionary mapping field type ID to display name:

from dealcloud_sdk import FIELD_TYPE_NAMES
 
name = FIELD_TYPE_NAMES.get(field_id, f"Unknown({field_id})")

FIELD_TYPE_IDS

Dictionary mapping display name to field type ID:

from dealcloud_sdk import FIELD_TYPE_IDS
 
type_id = FIELD_TYPE_IDS.get("Text", -1)  # 1
type_id = FIELD_TYPE_IDS.get("Reference", -1)  # 5

Helper Functions

get_field_type_name()

Get human-readable name for a field type ID:

from dealcloud_sdk import get_field_type_name
 
name = get_field_type_name(1)   # "Text"
name = get_field_type_name(5)   # "Reference"
name = get_field_type_name(99)  # "Unknown(99)"

get_field_type_id()

Get field type ID from display name:

from dealcloud_sdk import get_field_type_id
 
type_id = get_field_type_id("Text")      # 1
type_id = get_field_type_id("Choice")   # 2
type_id = get_field_type_id("Unknown")  # -1 if not found

Usage Examples

Check Field Type

from dealcloud_sdk import TEXT, CHOICE, BINARY, IMAGE
 
def is_reference_field(field):
    return field.fieldType == REFERENCE and field.entryLists
 
def is_file_field(field):
    return field.fieldType in (BINARY, IMAGE)

Field Type Report

from dealcloud_sdk import DealCloud, get_field_type_name
 
def field_type_report(dc, object_id):
    fields = dc.get_fields(object_id)
    by_type = {}
    for f in fields:
        type_name = get_field_type_name(f.fieldType)
        by_type.setdefault(type_name, []).append(f.apiName)
    print(f"Field types in {object_id}:")
    for type_name, field_names in sorted(by_type.items()):
        print(f"  {type_name}: {len(field_names)}")

Filter by Field Type

from dealcloud_sdk import TEXT, CHOICE, BINARY, IMAGE
 
def get_text_fields(dc, object_id):
    fields = dc.get_fields(object_id)
    return [f for f in fields if f.fieldType == TEXT]
 
def get_reference_fields(dc, object_id):
    fields = dc.get_fields(object_id)
    return [f for f in fields if f.fieldType == REFERENCE and f.entryLists]
 
def get_file_fields(dc, object_id):
    fields = dc.get_fields(object_id)
    return [f for f in fields if f.fieldType in (BINARY, IMAGE)]

Environment variable names

Module: dealcloud_sdk.constants.env_var_names. String constants for environment variable names used when loading DealCloudConfig from the environment (including the legacy DealCloud.from_env() path). Prose descriptions of each variable appear in Authentication and Configuration files.

ConstantTypical value
SITE_URL_ENV_NAMEDC_SITE_URL
CLIENT_ID_ENV_NAMEDC_CLIENT_ID
CLIENT_SECRET_ENV_NAMEDC_API_KEY
CONNECTOR_TIMEOUT_SECONDS_ENV_NAMEDC_SDK_CONNECTOR_TIMEOUT_SECONDS
QUERY_PAGE_SIZE_ENV_NAMEDC_SDK_QUERY_PAGE_SIZE
QUERY_CELL_PAGINATION_LIMIT_ENV_NAMEDC_SDK_QUERY_CELL_PAGINATION_LIMIT
QUERY_DELETE_PAGE_SIZE_ENV_NAMEDC_SDK_QUERY_DELETE_PAGE_SIZE
CONCURRENCY_LIMIT_READ_ENV_NAMEDC_SDK_CONCURRENCY_LIMIT_READ
CONCURRENCY_LIMIT_DELETE_ENV_NAMEDC_SDK_CONCURRENCY_LIMIT_DELETE
CONCURRENCY_LIMIT_CREATE_ENV_NAMEDC_SDK_CONCURRENCY_LIMIT_CREATE
RETRY_TOO_MANY_REQUESTS_ENV_NAMEDC_SDK_RETRY_TOO_MANY_REQUESTS
RETRY_INTERNAL_SERVER_ERROR_ENV_NAMEDC_SDK_RETRY_INTERNAL_SERVER_ERROR
RETRY_SERVICE_UNAVAILABLE_ENV_NAMEDC_SDK_RETRY_SERVICE_UNAVAILABLE
RETRY_BAD_GATEWAY_ENV_NAMEDC_SDK_RETRY_BAD_GATEWAY
RETRY_GATEWAY_TIMEOUT_ENV_NAMEDC_SDK_RETRY_GATEWAY_TIMEOUT
RETRY_BACKOFF_FACTOR_ENV_NAMEDC_SDK_RETRY_BACKOFF_FACTOR
RETRY_MAX_BACKOFF_SECONDS_ENV_NAMEDC_SDK_RETRY_MAX_BACKOFF_SECONDS

Default OAuth scopes

Module: dealcloud_sdk.constants.auth.

NameValue
DEFAULT_SCOPE("data", "user_management")

The token endpoint accepts any scope strings your tenant documents; the SDK does not validate scope names. Common values include data, user_management, publish, ri_import, backup (see DealCloud token docs).

Data operation defaults

Module: dealcloud_sdk.constants.data. Defaults used internally for pagination and parallel workers; your DealCloudConfig / env vars override these where applicable.

ConstantRole
DEFAULT_PAGE_SIZEDefault read page size
CELL_PAGINATION_LIMITMax cells per write request
DELETION_PAGINATION_LIMITDefault batch size for deletes
DATA_READ_WORKER_COUNTParallel read workers
VIEW_READ_WORKER_COUNTParallel workers for views
DELETE_WORKER_COUNTParallel delete workers
MAX_SPECULATIVE_PAGESInitial parallel page fetches

Request and retry constants

Module: dealcloud_sdk.constants.request. Aligns with custom retry behavior in the HTTP stack; for how these map to RestClient and DealCloudConfig, see Advanced configuration.

ConstantRole
MAX_RETRIES_DEFAULTDefault max retries when status not in per-status map
RETRYABLE_STATUS_CODESTuple of HTTP statuses that may retry (e.g. 429, 5xx)
RETRY_COUNT_BY_STATUSPer-status retry counts (e.g. more attempts for 429)
BACKOFF_FACTORExponential backoff base
MAX_BACKOFF_SECONDSCap on wait between retries
DEFAULT_TIMEOUT_SECONDSDefault request timeout
RESPECT_RETRY_AFTER_HEADERHonor Retry-After on 429

User activity translation tables

Module: dealcloud_sdk.constants.user_activity. Maps numeric IDs returned by the User Activity API to display names. See User activity (opens in a new tab) in the DealCloud docs.

ExportDescription
ACTIVITY_TYPESActivity type ID → name (e.g. login, export)
SOURCE_TYPESSource ID → name (Web, Mobile, Outlook, …)
EXPORT_DATA_TYPESSubtypes when activity is export-related

Helpers: get_activity_types, get_activity_type_name, get_activity_type_id, get_activity_type_ids, get_source_types, get_source_type_name, get_source_type_id, get_source_type_ids, get_export_data_types, get_export_data_type_name, get_export_data_type_id, get_export_data_type_ids.

from dealcloud_sdk.constants import user_activity
 
name = user_activity.get_activity_type_name(8)  # "Export Data"
sources = user_activity.get_source_types()

Use with User Management activity APIs as documented for your tenant.