sale.persontype.add
Добавить тип плательщика
Описание
Метод sale.persontype.add добавляет новый тип плательщика.
Параметры
fields
object
обязательный
Значения полей (подробное описание приведено ниже) для создания нового типа плательщика в виде структуры:
fields: {
name: 'значение',
code: 'значение',
sort: 'значение',
active: 'значение',
xmlId: 'значение'
}Параметр fields
name
string
обязательный
Название типа плательщика
code
string
необязательный
Код типа плательщика. Должен быть уникальным
sort
string
необязательный
Сортировка. По умолчанию значение равно 150
active
string
необязательный
Флаг активности. Может принимать значения Y / N. По умолчанию установлено Y
xmlId
string
необязательный
Внешний идентификатор.
Можно использовать для синхронизации текущего типа плательщика с аналогичной позицией во внешней системе
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"name":"Физическое лицо","sort":"100","active":"Y","code":"MY_CRM_COMPANY","xmlId":"myXmlId"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.persontype.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"name":"Физическое лицо","sort":"100","active":"Y","code":"MY_CRM_COMPANY","xmlId":"myXmlId"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.persontype.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type PersonTypeAddResult = {
personType: {
active: string
code: string
id: number
name: string
sort: string
xmlId: string
}
}
try {
const response = await $b24.actions.v2.call.make<PersonTypeAddResult>({
method: 'sale.persontype.add',
params: {
fields: {
name: 'Natural person',
sort: '100',
active: 'Y',
code: 'MY_CRM_COMPANY',
xmlId: 'myXmlId',
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result.personType)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addPersonType() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'sale.persontype.add',
params: {
fields: {
name: 'Natural person',
sort: '100',
active: 'Y',
code: 'MY_CRM_COMPANY',
xmlId: 'myXmlId',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result.personType)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addPersonType)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"name": "Физическое лицо",
"sort": "100",
"active": "Y",
"code": "MY_CRM_COMPANY",
"xmlId": "myXmlId",
}
try:
bitrix_response = client.sale.persontype.add(
fields=fields,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'sale.persontype.add',
[
'fields' => [
'name' => 'Физическое лицо',
'sort' => '100',
'active' => 'Y',
'code' => 'MY_CRM_COMPANY',
'xmlId' => 'myXmlId',
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding person type: ' . $e->getMessage();
}
BX24.callMethod(
'sale.persontype.add',
{
fields: {
name: 'Физическое лицо',
sort: '100',
active: 'Y',
code: 'MY_CRM_COMPANY',
xmlId: 'myXmlId'
}
},
function(result)
{
if(result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'sale.persontype.add',
[
'fields' => [
'name' => 'Физическое лицо',
'sort' => '100',
'active' => 'Y',
'code' => 'MY_CRM_COMPANY',
'xmlId' => 'myXmlId'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.persontype.add", b24.Params{
"fields": b24.Params{
"name": "Физическое лицо",
"sort": "100",
"active": "Y",
"code": "MY_CRM_COMPANY",
"xmlId": "myXmlId",
},
})
if err != nil {
return fmt.Errorf("sale.persontype.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "personType".
raw, ok := b24.Unwrap(res.Result, "personType")
if !ok {
return fmt.Errorf("в ответе нет ключа personType")
}
var item struct {
Active string `json:"active"`
Code string `json:"code"`
ID b24.ID `json:"id"`
Name string `json:"name"`
Sort string `json:"sort"`
XmlID string `json:"xmlId"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Active, item.Code)
Ответ
HTTP-статус: 200
{
"result": {
"personType": {
"active": "Y",
"code": "MY_CRM_COMPANY",
"id": 68,
"name": "Физическое лицо",
"sort": "100",
"xmlId": "myXmlId"
}
},
"time": {
"start": 1712325812.35051,
"finish": 1712325812.58676,
"duration": 0.236255884170532,
"processing": 0.011207103729248,
"date_start": "2024-04-05T16:03:32+02:00",
"date_finish": "2024-04-05T16:03:32+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
personType
sale_person_type
Объект с информацией о добавленном типе плательщика
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": 200750000005,
"error_description": "person type code exists"
}
| Код | Описание | Значение |
|---|---|---|
200750000005 |
Тип плательщика с таким символьным кодом уже существует | |
200750000001 200750000006 |
Не удалось создать новый тип плательщика | |
200040300020 |
Нет доступа к редактированию | |
100 |
Не передан обязательный параметр fields |
|
0 |
Не установлены обязательные поля |

