> For the complete documentation index, see [llms.txt](https://passteam.gitbook.io/passteam-api-v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://passteam.gitbook.io/passteam-api-v1/sozdanie-karty.md).

# Создание клиента

**Описание:**  \
Метод позволяет создать клиента с нужными параметрами. Переменные (values) необходимо создать в личном кабинете, вы можете использовать любые переменные в количестве не более 24.

**Как использовать:**\
Метод нужно использовать при необходимости создать нового клиента. Обычно при создании клиента передаются определенные параметры, например, номер телефона, ФИО, количество баллов. В ответе будет содержаться ссылка на созданную карту и другие данные.&#x20;

**Валидация номера телефона:**\
Валидация работает на основе библиотеке libphonenumber от Google. Онлайн демонстрация работы библиотеки <https://giggsey.com/libphonenumber/index.php>

## createcard

<mark style="color:green;">`POST`</mark> `https://getpass.passteam.ru/oapi/v1/createcard`

#### Request Body

| Name       | Type    | Description                                                                                                                             |
| ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| sendEmail  | string  | Отправка Email после создания карты, 1 или 0. Если в личном кабинете настроена автоматическая отправка при создании карты, не указывать |
| templateId | string  | Идентификатор шаблона                                                                                                                   |
| values     | string  | Массив значений карты. Если не указать, карта будет пустой                                                                              |
| sendSms    | integer | Отправка SMS после создания карты, 1 или 0. Если в личном кабинете настроена автоматическая отправка при создании карты, не указывать   |

{% tabs %}
{% tab title="200 cardId - идентификатор карты в системе;
cardCode - номер карты в решении. Формируется автоматически начиная с 000000001;
cardUrl - ссылка на скачивание карты. Определяет ОС устройства и предлагает установить соответствующую карту;
appleUrl - ссылка на скачивание Apple Wallet карты (pkpass файл);
googleUrl - ссылка на скачивание Google Pay карты (сохранение в аккаунт Google);
qrcodeUrl - ссылка на qrCode для установки карты. При сканировании кода смартфоном, определяется его ОС и предлагается к скачиванию соответствующая карта;
values - значения переменных карты. Переменные настраиваются в соответствующей вкладке в личном кабинете;
templateId - идентификатор решения (шаблона);
installed - флаг установки карты. True - установлена, false - не установлена;
installedGPay - установка карты в Google Pay. Если > 0, то карта установлена в Google Pay;
installedAW - установка карты в Apple Wallet. Если > 0, то карта установлена в Apple Wallet;" %}

```
{
	"result": {
		"cardId": "CARD_ID",
		"cardCode":"CARD_CODE",
		"cardUrl": "CARD_URL",
        "appleUrl": "Apple_Wallet_CARD_URL",
        "googleUrl": "Google_Pay_CARD_URL",
		"qrcodeUrl": "QR_CODE_URL",
		"values":{
		FIELD_NAME1: FIELD_VALUE1
		}
		"deviceRegistered":false,
		"expirationDate": "",
        "voided": 0,
        "phoneNumber": "MY_PHONE_NUMBER",
        "email": "MY_EMAIL",
        "strip": "",
        "logo": "",
        "icon": "",
        "templateId": "TEMPLATE_ID",
        "importUid": "",
        "installedGPay": 0,
        "installedAW": 0,
        "installed": false,
        "created": "CREATED_DATE",
        "updated": "UPDATED_DATE"
	        },
	"message": "OK",
	"code": 200,
	"error": false
}	
```

{% endtab %}
{% endtabs %}

#### Поиск дубликатов при создании клиента:

Сценарий работает для уникальной переменной (в списке переменных).

При создании клиента проверяется уникальность значения выбранной переменной. Если значение уникально, то клиент создается. Если значение повторяется, то клиент создана не будет, а вернется ошибка с указанием идентификаторов клиентов, имеющих такое же значение переменной.

В качестве примера, мы рассмотрим сценарий, при котором создается клиента с уникальной переменной %EXAMPLE%. При этом значение этой переменной не уникально.

## createcard

<mark style="color:green;">`POST`</mark> `https://getpass.passteam.ru/oapi/v1/createcard`&#x20;

Пример срабатывания метода с дублирующим значением cardCode

#### Request Body

| Name               | Type   | Description           |
| ------------------ | ------ | --------------------- |
| templateId         | string | Идентификатор шаблона |
| values\[%EXAMPLE%] | string | значение переменной   |

{% tabs %}
{% tab title="409 " %}

```
{
    "result": null,
    "message": "Provided value (value) of field (%EXAMPLE%) is duplicated. Duplicated cards: cardId1 cardId2 ",
    "code": 409,
    "error": true
}
```

{% endtab %}
{% endtabs %}
