Get Document Template Fields crm.documentgenerator.template.getfields

Scope: crm

Who can execute the method: a user with "edit" access permission for document generator templates

The method crm.documentgenerator.template.getfields returns a card of template fields: which fields are available, their current values, default values, and service indicators.

Method Parameters

Required parameters are marked with *

Name
type

Description

id*
integer

Template identifier

entityTypeId*
integer

Identifier of the CRM entity type. Needed to select the data provider

entityId
integer

Identifier of the CRM entity whose data will be used to compute field values

values
object

Object format:

{
            field_1: value_1,
            field_2: value_2,
            ...,
            field_n: value_n,
        }
        

where:

  • field_n — field name
  • value_n — field value

values are temporary substitutions over the CRM data. The method takes data by entityTypeId and entityId, then applies values from values and recalculates the template fields.

This allows checking the result without changing the data in CRM. For example, if you pass values.DocumentNumber = "2026-001", the DocumentNumber field will return this value in the response.

If values is not passed, the method will return the card of fields based on the original CRM data and template logic

Values Parameter

The composition of the values keys is determined by the template, data provider, and context (entityTypeId, entityId), so it may vary in different scenarios.

Name
type

Description

MyCompanyRequisiteRqCompanyName
string

Short name of the organization

MyCompanyRequisiteRegisteredAddressText
string

Full address

MyCompanyPhone
string

Phone

MyCompanyEmail
string

E-mail

MyCompanyWeb
string

Website

MyCompanyUfLogo
string | null

Logo

RequisiteRqCompanyName
string

Short name of the organization

RequisiteRegisteredAddressText
string

Full address

ClientPhone
string

Phone

ClientEmail
string

Email

ClientWeb
string

Website

DocumentNumber
string

Number

DocumentCreateTime
string

Generation date

ProductsIndex
string

Current number

ProductsProductName
array | string

Name

ProductsProductQuantity
array | string

Quantity

ProductsProductMeasureName
array | string

Units of measure

ProductsProductPriceRaw
array | string

Original price

ProductsProductPriceRawSum
array | string

Total original price

TotalRaw
string

Total original prices

TaxesTaxTitle
array | string

Title

TaxesTaxRate
array | string

Rate

TaxesTaxValue
array | string

Total

TotalSum
string

Total amount

MyCompanyAssignedName
string

First name

MyCompanyAssignedLastName
string

Last name

MyCompanyAssignedPersonalPhone
string

Phone

MyCompanyAssignedEmail
string

E-Mail

DocumentTitle
string

Document title

MY_COMPANY
array

My company

Code Examples

How to Use Examples in Documentation

Example of retrieving document template fields, where:

  • template identifier — 1
  • CRM entity type identifier — 2 (deal)
  • CRM entity identifier — 123
  • field value DocumentNumber2026-001
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":1,"entityTypeId":2,"entityId":123,"values":{"DocumentNumber":"2026-001"}}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.documentgenerator.template.getfields
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"id":1,"entityTypeId":2,"entityId":123,"values":{"DocumentNumber":"2026-001"},"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.documentgenerator.template.getfields
        
try
        {
        	const response = await $b24.callMethod(
        		'crm.documentgenerator.template.getfields',
        		{
        			id: 1,
        			entityTypeId: 2,
        			entityId: 123,
        			values: {
        				DocumentNumber: '2026-001',
        			},
        		}
        	);
        
        	const result = response.getData().result;
        	console.info(result);
        }
        catch (error)
        {
        	console.error('Error:', error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'crm.documentgenerator.template.getfields',
                    [
                        'id' => 1,
                        'entityTypeId' => 2,
                        'entityId' => 123,
                        'values' => [
                            'DocumentNumber' => '2026-001',
                        ],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo '<pre>';
            print_r($result);
            echo '</pre>';
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error getting template fields: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'crm.documentgenerator.template.getfields',
            {
                id: 1,
                entityTypeId: 2,
                entityId: 123,
                values: {
                    DocumentNumber: '2026-001',
                },
            },
            (result) => {
                result.error()
                    ? console.error(result.error())
                    : console.info(result.data())
                ;
            },
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'crm.documentgenerator.template.getfields',
            [
                'id' => 1,
                'entityTypeId' => 2,
                'entityId' => 123,
                'values' => [
                    'DocumentNumber' => '2026-001',
                ],
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Response Handling

HTTP Status: 200

{
            "result": {
                "templateFields": {
                    "DocumentNumber": {
                        "title": "Number",
                        "value": "2026-001",
                        "required": "Y",
                        "group": [
                            "Document"
                        ],
                        "chain": "this.DOCUMENT.DOCUMENT_NUMBER",
                        "default": "2026-001"
                    },
                    "MyCompanyUfLogo": {
                        "title": "Logo",
                        "value": null,
                        "type": "IMAGE",
                        "group": [
                            "Document",
                            "My company"
                        ],
                        "chain": "this.SOURCE.MY_COMPANY.UF_LOGO",
                        "default": null
                    },
                    "MY_COMPANY": {
                        "title": "My company",
                        "value": [
                            {
                                "value": "340",
                                "title": "Wheel of Fortune",
                                "selected": true
                            },
                            {
                                "value": "358",
                                "title": "Bitrix-Development",
                                "selected": false
                            }
                        ],
                        "group": [
                            "Document",
                            "My company"
                        ]
                    }
                }
            },
            "time": {
                "start": 1773821944,
                "finish": 1773821944.196063,
                "duration": 0.19606304168701172,
                "processing": 0,
                "date_start": "2026-03-18T11:19:04+02:00",
                "date_finish": "2026-03-18T11:19:04+02:00",
                "operating_reset_at": 1773822544,
                "operating": 0
            }
        }
        

Returned Data

Name
type

Description

result
object

Root element of the response. Contains the templateFields object

time
time

Information about the execution time of the request

Result Type

Name
type

Description

templateFields
object

Object of template fields, where the key is the field code and the value is the templateField structure

TemplateField Type

Name
type

Description

title
string

Field name

value
string | array

Current field value

default
string

Default field value

required
char

Field mandatory indicator: Y or N

type
string

Field type, e.g., IMAGE

group
array

Groups to which the field belongs

chain
string

Field path in the data provider, e.g., this.SOURCE.MY_COMPANY.UF_LOGO

Error Handling

HTTP Status: 400

{
            "error": "DOCGEN_ACCESS_ERROR",
            "error_description": "Access denied"
        }
        

Name
type

Description

error
string

String error code. It may consist of digits, Latin letters, and underscores

error_description
error_description

Textual description of the error. The description is not intended to be shown to the end user in its raw form

Possible Error Codes

Code

Description

Value

DOCGEN_ACCESS_ERROR

Access denied

No access to the template or insufficient rights to work with document generator templates

0

Template not found

Template with the specified id not found or unavailable

100

Bitrix\DocumentGenerator\Template constructor must be is public

Required parameter not passed

Empty value

Cannot get fields from deleted template

Cannot get fields from a deleted template

Empty value

You do not have permissions to modify templates

Insufficient rights to modify document generator templates

Empty value

Module documentgenerator is not installed

The documentgenerator module is unavailable

Statuses and System Error Codes

HTTP Status: 20x, 40x, 50x

The errors described below may occur when calling any method.

Status

Code
Error Message

Description

500

INTERNAL_SERVER_ERROR
Internal server error

An internal server error has occurred, please contact the server administrator or Bitrix24 technical support

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

An internal server error has occurred, please contact the server administrator or Bitrix24 technical support

503

QUERY_LIMIT_EXCEEDED
Too many requests

The request intensity limit has been exceeded

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

The current method is not allowed to be called using batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

The maximum length of parameters passed to the batch method has been exceeded

401

NO_AUTH_FOUND
Wrong authorization data

Invalid access token or webhook code

400

INVALID_REQUEST
Https required

The methods must be called using the HTTPS protocol

503

OVERLOAD_LIMIT
REST API is blocked due to overload

The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support

403

ACCESS_DENIED
REST API is available only on commercial plans

The REST API is available only on commercial plans

403

INVALID_CREDENTIALS
Invalid request credentials

The user whose access token or webhook was used to call the method lacks permissions

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

The manifest is not available

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

The request requires higher privileges than those provided by the webhook token

401

expired_token
The access token provided has expired

The provided access token has expired

403

user_access_error
The user does not have access to the application

The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users

500

PORTAL_DELETED
Portal was deleted

The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site

Continue Learning