Skip to content

Latest commit

 

History

History
354 lines (303 loc) · 12.5 KB

sale-order-add.md

File metadata and controls

354 lines (303 loc) · 12.5 KB

Добавить заказ sale.order.add

Scope: sale

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

Метод sale.order.add предназначен для добавления заказа.

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

{% include Сноска об обязательных параметрах %}

#| || Название тип | Описание || || fields* object | Значения полей для создания заказа || |#

Параметр fields

{% include Сноска об обязательных параметрах %}

#| || Название тип | Описание || || lid* string | Идентификатор сайта, на котором будет использоваться данный тип плательщика. Имеет постоянное значение 's1' || || personTypeId* sale_person_type.id | Идентификатор типа плательщика || || currency* string | Валюта. Список валют можно получить через метод crm.currency.list || || price double | Цена || || discountValue double | Значение скидки || || statusId sale_status.id | Идентификатор статуса заказа || || empStatusId user.id | Идентификатор пользователя, изменившего статус заказа || || dateInsert datetime | Дата создания заказа || || marked string | Флаг маркировки. Признак того, является ли отгрузка отмеченной как проблемная. Значение Y ставится автоматически, если при сохранении произошла ошибка.

  • Y — да
  • N — нет

По умолчанию устанавливается N || || empMarkedId user.id | Идентификатор пользователя, поставившего маркировку || || reasonMarked string | Причина, по которой заказ был промаркирован || || userDescription string | Комментарий покупателя к заказу || || additionalInfo string | Устаревший.

Дополнительная информация || || comments string | Комментарий менеджера к заказу || || responsibleId user.id | Идентификатор пользователя, ответственного за заказ || || recurringId integer | Идентификатор продления подписки || || lockedBy user.id | Актуально только для коробочной версии.

Идентификатор пользователя, заблокировавшего заказ. Заказ блокируется в административной панели, когда пользователь открывает детальную карточку заказа || || recountFlag string | Устаревший.

Флаг пересчёта.

  • Y — да
  • N — нет

По умолчанию устанавливается Y || || affiliateId integer | Актуально только для коробочной версии.

Идентификатор аффилиата || || updated1c string | Обновлён ли через 1С.

  • Y — да
  • N — нет

По умолчанию устанавливается N || || orderTopic string | Устаревший.

Тема заказа || || xmlId string | Внешний идентификатор || || id1c string | Идентификатор в 1С || || version1c string | Версия в 1с || || externalOrder string | Заказ из внешней системы или нет.

  • Y — да
  • N — нет

По умолчанию устанавливается N || || canceled string | Был ли отменен заказ.

  • Y — да
  • N — нет

По умолчанию устанавливается N || || empCanceledId user.id | Идентификатор пользователя, отменившего заказ || || reasonCanceled string | Причина отмены || || userId user.id | Идентификатор клиента || |#

Примеры кода

{% include Сноска о примерах %}

{% list tabs %}

  • cURL (Webhook)

    -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"lid":"s1","personTypeId":1,"currency":"RUB","price":100,"discountValue":10,"statusId":"N","empStatusId":1,"dateInsert":"2024-03-01T14:00:00","marked":"Y","empMarkedId":1,"reasonMarked":"","userDescription":"","additionalInfo":"","comments":"","companyId":1,"responsibleId":1,"recurringId":1,"lockedBy":1,"recountFlag":"N","affiliateId":1,"updated1c":"N","orderTopic":"","xmlId":"","id1c":"","version1c":"","externalOrder":"N","canceled":"Y","empCanceledId":1,"reasonCanceled":"","userId":1}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/sale.order.add
    
  • cURL (OAuth)

    -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"lid":"s1","personTypeId":1,"currency":"RUB","price":100,"discountValue":10,"statusId":"N","empStatusId":1,"dateInsert":"2024-03-01T14:00:00","marked":"Y","empMarkedId":1,"reasonMarked":"","userDescription":"","additionalInfo":"","comments":"","companyId":1,"responsibleId":1,"recurringId":1,"lockedBy":1,"recountFlag":"N","affiliateId":1,"updated1c":"N","orderTopic":"","xmlId":"","id1c":"","version1c":"","externalOrder":"N","canceled":"Y","empCanceledId":1,"reasonCanceled":"","userId":1},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/sale.order.add
    
  • JS

    BX24.callMethod(
        'sale.order.add',
        {
            fields: {
                lid: 's1',
                personTypeId: 1,
                currency: 'RUB',
                price: 100,
                discountValue: 10,
                statusId: 'N',
                empStatusId: 1,
                dateInsert: '2024-03-01T14:00:00',
                marked: 'Y',
                empMarkedId: 1,
                reasonMarked: '',
                userDescription: '',
                additionalInfo: '',
                comments: '',
                companyId: 1,
                responsibleId: 1,
                recurringId: 1,
                lockedBy: 1,
                recountFlag: 'N',
                affiliateId: 1,
                updated1c: 'N',
                orderTopic: '',
                xmlId: '',
                id1c: '',
                version1c: '',
                externalOrder: 'N',
                canceled: 'Y',
                empCanceledId: 1,
                reasonCanceled: '',
                userId: 1,
            }
        },
        function(result)
        {
            if(result.error())
                console.error(result.error());
            else
                console.log(result.data());
        }
    );
  • PHP

    require_once('crest.php');
    
    $result = CRest::call(
        'sale.order.add',
        [
            'fields' => [
                'lid' => 's1',
                'personTypeId' => 1,
                'currency' => 'RUB',
                'price' => 100,
                'discountValue' => 10,
                'statusId' => 'N',
                'empStatusId' => 1,
                'dateInsert' => '2024-03-01T14:00:00',
                'marked' => 'Y',
                'empMarkedId' => 1,
                'reasonMarked' => '',
                'userDescription' => '',
                'additionalInfo' => '',
                'comments' => '',
                'companyId' => 1,
                'responsibleId' => 1,
                'recurringId' => 1,
                'lockedBy' => 1,
                'recountFlag' => 'N',
                'affiliateId' => 1,
                'updated1c' => 'N',
                'orderTopic' => '',
                'xmlId' => '',
                'id1c' => '',
                'version1c' => '',
                'externalOrder' => 'N',
                'canceled' => 'Y',
                'empCanceledId' => 1,
                'reasonCanceled' => '',
                'userId' => 1,
            ]
        ]
    );
    
    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

{% endlist %}

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

HTTP-статус: 200

{
    "result": {
        "order": {
            "accountNumber": "455",
            "additionalInfo": "",
            "affiliateId": 1,
            "canceled": "Y",
            "clients": [],
            "comments": "",
            "companyId": 1,
            "currency": "RUB",
            "dateCanceled": "2024-04-12T13:50:21+03:00",
            "dateInsert": "2024-03-01T13:00:00+03:00",
            "dateMarked": "2024-04-12T13:50:21+03:00",
            "dateStatus": "2024-04-12T13:50:21+03:00",
            "dateUpdate": "2024-04-12T13:50:21+03:00",
            "deducted": "N",
            "discountValue": 10,
            "empCanceledId": 1,
            "empMarkedId": 1,
            "empStatusId": 1,
            "externalOrder": "N",
            "id": 299,
            "id1c": "",
            "lid": "s1",
            "lockedBy": "1",
            "marked": "Y",
            "orderTopic": "",
            "payed": "N",
            "personTypeId": 1,
            "personTypeXmlId": "",
            "price": 100,
            "reasonCanceled": "",
            "reasonMarked": "",
            "recountFlag": "N",
            "recurringId": "1",
            "requisiteLink": [],
            "responsibleId": 1,
            "statusId": "N",
            "statusXmlId": "",
            "updated1c": "N",
            "userDescription": "",
            "userId": 1,
            "version1c": "",
            "xmlId": ""
        }
    },
    "time": {
        "start": 1712922620.724857,
        "finish": 1712922623.393783,
        "duration": 2.6689260005950928,
        "processing": 2.210068941116333,
        "date_start": "2024-04-12T14:50:20+03:00",
        "date_finish": "2024-04-12T14:50:23+03:00"
    }
}

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

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

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

HTTP-статус: 400

{
    "error":200040300020,
    "error_description":"Access Denied"
}

{% include notitle обработка ошибок %}

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

#| || Код | Описание || || 200040300020 | Недостаточно прав для добавления заказа || || 100 | Не указан или пустой параметр fields || || 0 | Не переданы обязательные поля || || 0 | Другие ошибки (например, фатальные ошибки) || |#

{% include системные ошибки %}

Продолжите изучение