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_activityFor 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
| Name | Value | Description |
|---|---|---|
TEXT | 1 | Single-line text |
CHOICE | 2 | Choice |
NUMBER | 3 | Numeric values |
DATE | 4 | Date only |
REFERENCE | 5 | Reference |
BOOLEAN | 6 | True/false |
USER | 7 | User reference |
BINARY | 13 | File / document (attachment) |
ENTRY_LIST_ID | 14 | Entry list reference |
COUNTER | 15 | Counter |
IMAGE | 16 | Image field |
DATA_SOURCE | 17 | Data source |
CURRENCY | 18 | Currency 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) # 5Helper 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 foundUsage 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.
| Constant | Typical value |
|---|---|
SITE_URL_ENV_NAME | DC_SITE_URL |
CLIENT_ID_ENV_NAME | DC_CLIENT_ID |
CLIENT_SECRET_ENV_NAME | DC_API_KEY |
CONNECTOR_TIMEOUT_SECONDS_ENV_NAME | DC_SDK_CONNECTOR_TIMEOUT_SECONDS |
QUERY_PAGE_SIZE_ENV_NAME | DC_SDK_QUERY_PAGE_SIZE |
QUERY_CELL_PAGINATION_LIMIT_ENV_NAME | DC_SDK_QUERY_CELL_PAGINATION_LIMIT |
QUERY_DELETE_PAGE_SIZE_ENV_NAME | DC_SDK_QUERY_DELETE_PAGE_SIZE |
CONCURRENCY_LIMIT_READ_ENV_NAME | DC_SDK_CONCURRENCY_LIMIT_READ |
CONCURRENCY_LIMIT_DELETE_ENV_NAME | DC_SDK_CONCURRENCY_LIMIT_DELETE |
CONCURRENCY_LIMIT_CREATE_ENV_NAME | DC_SDK_CONCURRENCY_LIMIT_CREATE |
RETRY_TOO_MANY_REQUESTS_ENV_NAME | DC_SDK_RETRY_TOO_MANY_REQUESTS |
RETRY_INTERNAL_SERVER_ERROR_ENV_NAME | DC_SDK_RETRY_INTERNAL_SERVER_ERROR |
RETRY_SERVICE_UNAVAILABLE_ENV_NAME | DC_SDK_RETRY_SERVICE_UNAVAILABLE |
RETRY_BAD_GATEWAY_ENV_NAME | DC_SDK_RETRY_BAD_GATEWAY |
RETRY_GATEWAY_TIMEOUT_ENV_NAME | DC_SDK_RETRY_GATEWAY_TIMEOUT |
RETRY_BACKOFF_FACTOR_ENV_NAME | DC_SDK_RETRY_BACKOFF_FACTOR |
RETRY_MAX_BACKOFF_SECONDS_ENV_NAME | DC_SDK_RETRY_MAX_BACKOFF_SECONDS |
Default OAuth scopes
Module: dealcloud_sdk.constants.auth.
| Name | Value |
|---|---|
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.
| Constant | Role |
|---|---|
DEFAULT_PAGE_SIZE | Default read page size |
CELL_PAGINATION_LIMIT | Max cells per write request |
DELETION_PAGINATION_LIMIT | Default batch size for deletes |
DATA_READ_WORKER_COUNT | Parallel read workers |
VIEW_READ_WORKER_COUNT | Parallel workers for views |
DELETE_WORKER_COUNT | Parallel delete workers |
MAX_SPECULATIVE_PAGES | Initial 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.
| Constant | Role |
|---|---|
MAX_RETRIES_DEFAULT | Default max retries when status not in per-status map |
RETRYABLE_STATUS_CODES | Tuple of HTTP statuses that may retry (e.g. 429, 5xx) |
RETRY_COUNT_BY_STATUS | Per-status retry counts (e.g. more attempts for 429) |
BACKOFF_FACTOR | Exponential backoff base |
MAX_BACKOFF_SECONDS | Cap on wait between retries |
DEFAULT_TIMEOUT_SECONDS | Default request timeout |
RESPECT_RETRY_AFTER_HEADER | Honor 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.
| Export | Description |
|---|---|
ACTIVITY_TYPES | Activity type ID → name (e.g. login, export) |
SOURCE_TYPES | Source ID → name (Web, Mobile, Outlook, …) |
EXPORT_DATA_TYPES | Subtypes 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.