Блог Горошко Андрея 1C-Битрикс,Bitrix24 Добавить локализацию sale.statusLang.add

Добавить локализацию sale.statusLang.add

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Добавить локализацию sale.statusLang.add», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.

Добавить локализацию sale.statusLang.add

> Scope: sale
>
> Кто может выполнять метод: администратор

Метод добавляет локализацию статуса заказа или доставки.

Параметры метода

Название
тип
Описание
fields
object
Значения полей (подробное описание приведено ниже) для добавления локализации статуса в виде структуры:

fields: {
    statusId: 'значение',
    lid: 'значение',
    name: 'значение',
    description: 'значение'
}

Параметр fields

Название
тип
Описание
statusId
sale_status.id
Символьный идентификатор статуса
lid
sale_lang.lid
Идентификатор языка. Текущие возможные значения приведены ниже:

— ar — арабский
— br — португальский
— de — немецкий
— en — английский
— fr — французский
— hi — хинди
— id — индонезийский
— in — английский (Индия)
— it — итальянский
— ja — японский
— la — испанский
— ms — малайский
— pl — польский
— ru — русский
— sc — китайский (упрощенный)
— tc — китайский (традиционный)
— th — тайский
— tr — турецкий
— ua — украинский
— vn — вьетнамский

Список актуальных языков можно получить методом sale.statuslang.getlistlangs

name
string
Название статуса для создаваемой локализации
description
string
Описание статуса для создаваемой локализации

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"statusId":"RD","lid":"ru","name":"Возвращен покупателем","description":"Покупатель вернул товар по причине наличия дефекта"}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.statuslang.add
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"statusId":"RD","lid":"ru","name":"Возвращен покупателем","description":"Покупатель вернул товар по причине наличия дефекта"},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/sale.statuslang.add
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'sale.statuslang.add',
    		{
    			fields: {
    				statusId: 'RD',
    				lid: 'ru',
    				name: 'Возвращен покупателем',
    				description: 'Покупатель вернул товар по причине наличия дефекта'
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'sale.statuslang.add',
                [
                    'fields' => [
                        'statusId'    => 'RD',
                        'lid'         => 'ru',
                        'name'        => 'Возвращен покупателем',
                        'description' => 'Покупатель вернул товар по причине наличия дефекта'
                    ],
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error adding status language: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'sale.statuslang.add',
        {
            fields: {
                statusId: 'RD',
                lid: 'ru',
                name: 'Возвращен покупателем',
                description: 'Покупатель вернул товар по причине наличия дефекта'
            }
        },
        function(result) {
            if (result.error()) {
                console.error(result.error());
            } else {
                console.info(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'sale.statuslang.add',
        [
            'fields' =>
            [
                'statusId' => 'RD',
                'lid' => 'ru',
                'name' => 'Возвращен покупателем',
                'description' => 'Покупатель вернул товар по причине наличия дефекта'
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result":{
        "statusLang":{
            "description":"Покупатель вернул товар по причине наличия дефекта",
            "lid":"ru",
            "name":"Возвращен покупателем",
            "statusId":"RD"
        }
    },
    "time":{
        "start":1712218058.514339,
        "finish":1712218060.34603,
        "duration":1.831691026687622,
        "processing":0.042268991470336914,
        "date_start":"2024-04-04T11:07:38+03:00",
        "date_finish":"2024-04-04T11:07:40+03:00"
    }
}

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа
statusLang
sale_status_lang
Объект с информацией о добавленной локализации статуса
time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":201750000003,
    "error_description":"Duplicate entry for key [statusId, lid]"
}

Возможные коды ошибок

КодОписание
201750000003Локализация для переданного статуса уже существует
201750000004Передан неизвестный идентификатор языка локализации lid
200040300020Недостаточно прав для добавления локализации статуса
100Не указан или пустой параметр fields
0Не переданы обязательные поля структуры fields
0Другие ошибки (например, фатальные ошибки)
  • [](./index)
  • [](./sale-status-lang-get-list-langs)
  • [](./sale-status-lang-list)
  • [](./sale-status-lang-delete-by-filter)
  • [](./sale-status-lang-get-fields)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к sale.statusLang.add, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Добавить локализацию sale.statusLang.add».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Верстка адаптивной шапки сайта с закреплением при прокрутке и компактным мобильным видомВерстка адаптивной шапки сайта с закреплением при прокрутке и компактным мобильным видом

Профессиональный frontend-инжиниринг и адаптивная верстка макетов под 1С-Битрикс являются ключевыми факторами высокой конверсии и удержания покупателей. Услуга «Верстка адаптивной шапки сайта с закреплением при прокрутке и компактным мобильным видом» обеспечивает

Удалить соответствие физическому или юридическому лицу sale.businessValuePers…Удалить соответствие физическому или юридическому лицу sale.businessValuePers…

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Удалить соответствие физическому или юридическому лицу sale.businessValuePers…», разберем

Изменить склад catalog.store.updateИзменить склад catalog.store.update

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Изменить склад catalog.store.update», разберем архитектурные особенности и предоставим