API пользователи (User)

Добавление контакта, метод: /api/contact-add/json/

Параметры

Пример:

http://myboxurl/api/contact-add/json/?login=LOGIN&password=PASSWORD&name=user123&email=user123@user.com&distribution=1&typesex=man&level=2&userlogin=userlogin&company=company&namemiddle=отчество&namelast=фамилия&commentadmin=commentadmin&parentid=24&country=страна®ion=область&district=район&city=город&street=улица&street_number=номердома&apartment=квартира&phone=80639350555&userpass=123456789A&code1c=code1c&pricelevel=Цена 1&customfield_key1=customvalue1&customfield_key2=2016-01-01

Так же есть возможность заполнения дополнительных полей контактов. Для этого в качестве переменной указывается идентификатор дополнительного поля, а значения принимаются с теми же типами, что и указанное поле


Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 name string имя пользователя Не обязательное поле.  
4 userlogin string логин пользователя Не обязательное поле.  
5 userpass string пароль пользователя Не обязательное поле.  
6 email string email пользователя Обязательное поле (или email или телефон должен быть).  
7 phone string телефон пользователя Обязательное поле (или email или телефон должен быть).  
8 address string полный адрес пользователя одной строкой (устаревший параметр) Не обязательное поле.  
9 country string Страна Не обязательное поле.  
10 region string Регион (область) Не обязательное поле.  
11 district string Район Не обязательное поле.  
12 city string Название населенного пункта Не обязательное поле.  
13 street string Улица Не обязательное поле.  
14 street_number string номер дома Не обязательное поле.  
15 apartment string квартира Не обязательное поле.  
16 bdate date день рождение пользователя Не обязательное поле.  
17 parentid integer по рекомендации от Не обязательное поле.  
18 level integer уровень доступа пользователя Не обязательное поле. Уровни доступа:
0 - заблокирован
1 - клиент
2 - сотрудник
3 - администратор
19 commentadmin string комментарий администратора Не обязательное поле.  
20 groupid integer группа пользователя Не обязательное поле. Идентификатор группы контактов в системе BOX
21 source integer источник пользователя Не обязательное поле. Идентификатор источника в системе BOX
22 pricelevel string уровень цен пользователя Не обязательное поле. Название цены, которую вы желаете установить пользователю
23 distribution boolean Подписан контакт на рассылку Не обязательное поле.  
24 tags string теги Не обязательное поле.  
25 namelast string фамилия пользователя Не обязательное поле.  
26 namemiddle string отчество пользователя Не обязательное поле.  
27 typesex string пол пользователя Не обязательное поле. По умолчанию тип пользователя - мужчина.
Доступные типы пользователей:
man - мужчина
woman - женщина
company - компания
28 company string компания пользователя Не обязательное поле.  
29 code1c string code1c пользователя Не обязательное поле. id пользователя из вашей системы
30 companyid integer id компании пользователя Не обязательное поле.  
31 companycode1c integer внешний код компании пользователя Не обязательное поле.  
32 emails string email-ы пользователя (дополнительные) Не обязательное поле. Указывать через пробел (test@tset.ua dddd@ya.ru)
33 managerid integer id менеджера из OneBox Не обязательное поле.  
34 managercode string code1c менеджера из OneBox Не обязательное поле.  
35 phones string телефоны пользователя (дополнительные) Не обязательное поле. Указывать через пробел (380977777777 380500500550) без пробелов в самих телефонах
36 dataFromBody boolean Брать данные не из аргументов, а из body Не обязательное поле. Если передан dataFromBody=1, то данные будут братся не из аргументов, а из тела запроса. В тело должен быть передан json, в котором ключами должны быть параметры, описанные выше. login и password пи этом должны посылатся как обычно
37 update boolean Обновлять контакта если он найден по контактным данным Не обязательное поле.  

Получение одного контакта и получение всех контактов, метод: /api/contact-get/json/

Параметры
Параметры получения одного контакта:

Пример:

http://myboxurl/api/contact-get/json/?login=LOGIN&password=PASSWORD&userid=666

Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 supplierhash string Ключ поставщика Не обязательное поле. Доступен в карточке клиента, который является контактом поставщика.
Доступен при наличии логина и пароля от системы и уровня доступа "клиент".
Позволяет ограничить доступ к получению контактов согласно связи дополнительного поля контакта с ключем поставщика(см. настройки "Проверки и уникальность") или клиентов процессов, где данный поставщик является поставщиком продуктов процесса.
4 userid integer Индентификатор контакта в системе BOX Или userid или code1c или userlogin или phone или email контакта обязательно

Значения возвращаемых полей
contactId - id контакта,
contactNamefull - ФИО контакта,
contactCode1c - код 1С контакта,
contactName - имя контакта,
contactNamelast - фамилия контакта,
contactNamemiddle - отчество контакта,
contactCompany - компания контакта,
contactCompanyID - id компани контакта,
contactEmail - основной email контакта,
contactEmails - дополнительные email контакта,
contactPhone - основной телефон контакта,
contactPhones - дополнительные телефоны контакта,
contactAdress - полный адрес контакта (одной строкой),

contactCountry - страна контакта,

contactRegion - регион (область),

contactDistrict - район,

contactCity - город,

contactStreet - улица,

contactStreetNumber - номер дома,

contactApartment - квартира

Совокупность данных формирует

полный адрес контакта [contactAdress]

 contactTypesex - пол контакта (не определен, мужчина, женщина, компания),
contactBirthdate - дата рождения контакта,
contactGroupsArray - список ID и названий групп, к которым принадлежит контакт,
contactManagerid - ID менеджера контакта,
contactCdate - дата создания контакта,
contactPost - должность (специализация) контакта,
contactSourceid - ID источника контакта,
contactSourcename - источник контакта,
contactPricelevel - уровень цен контакта,
contactAuthorid - ID автора контакта,
contactBonuses - бонусы контакта,
contactCurrency - валюта контакта,
customFieldArray - дополнительные поля контакта (в качестве key передается название доп.поля контакта, в value - значение),
legalArray - список юридических реквизитов контакта,
contactCommentadmin - Комментарий администратора,
contactCommentLast - Последний комментарий к контакту, добавленный через блок заметки

5 code1c string Идентификатор контакта из вашей системы (из вашего магазина)
6 phone string Телефон контакта
7 email string Емейл контакта
8 userlogin string Логин контакта
9 showbonus boolean Отобразить бонусы контакта Не обязательное поле. При указании значения параметра 1 будет отображаться поле contactBonuses с бонусами контакта


Параметры получения всех контактов:

Пример:

http://myboxurl/api/contact-get/json/?login=LOGIN&password=PASSWORD&part=1
http://myboxurl/api/contact-get/json/?login=LOGIN&password=PASSWORD&part=2
Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 supplierhash string Ключ поставщика Не обязательное поле. Доступен в карточке клиента, который является контактом поставщика.
Доступен при наличии логина и пароля от системы и уровня доступа "клиент".
Позволяет ограничить доступ к получению контактов согласно связи дополнительного поля контакта с ключем поставщика(см. настройки "Проверки и уникальность") или клиентов процессов, где данный поставщик является поставщиком продуктов процесса.
4 groupid integer id группы из которой вы хотите получить пользователей Не обязательное поле.  
5 udatefrom datetime дата обновления пользователя начиная с даты в формате Y-m-d H:i:s Не обязательное поле.  
6 udateto datetime дата обновления пользователя до даты в формате Y-m-d H:i:s Не обязательное поле.  
7 typesex string Тип контактов Не обязательное поле. Необходимо передавать ключ типов контактов (к примеру company)
8 custom_[ключ] optional Фильтрация по дополнительным полям контактов Не обязательное поле.  
9 part integer Часть товаров Обязательное поле.

API выдаёт в 1й части до 1000 контактов, чтобы получить следующие 1000 товаров передайте туда 2 (получается часть 2) и тд.

Значения возвращаемых полей
contactId - id контакта,
contactNamefull - ФИО контакта,
contactCode1c - код 1С контакта,
contactName - имя контакта,
contactNamelast - фамилия контакта,
contactNamemiddle - отчество контакта,
contactCompany - компания контакта,
contactCompanyID - id компани контакта,
contactEmail - основной email контакта,
contactEmails - дополнительные email контакта,
contactPhone - основной телефон контакта,
contactPhones - дополнительные телефоны контакта,
contactAdress - полный адрес контакта,

contactCountry - страна контакта,

contactRegion - регион (область),

contactDistrict - район,

contactCity - город,

contactStreet - улица,

contactStreetNumber - номер дома,

contactApartment - квартира

Совокупность данных формирует

полный адрес контакта [contactAdress]

contactTypesex - пол контакта (не определен, мужчина, женщина, компания),
contactBirthdate - дата рождения контакта,
contactGroupsArray - список ID и названий групп, к которым принадлежит контакт,
contactManagerid - ID менеджера контакта,
contactCdate - дата создания контакта,
contactPost - должность (специализация) контакта,
contactSourceid - ID источника контакта,
contactSourcename - источник контакта,
contactPricelevel - уровень цен контакта,
contactAuthorid - ID автора контакта,
contactBonuses - бонусы контакта,
contactCurrency - валюта контакта,
customFieldArray - дополнительные поля контакта (в качестве key передается название доп.поля контакта, в value - значение)



Так же доступна фильтрация контактов по возвращаемым полям.
Необходимо передать параметр равный названию возвращаемой переменной и значение для фильтрации по полю переменной.
К примеру, при передаче параметра contactCountry=Украина - будут отфильтрованны контакты, у которых в адрессе страной указано "Украина"

10 showbonus boolean Отобразить бонусы контакта Не обязательное поле. При указании значения параметра 1 будет отображаться поле contactBonuses с бонусами контакта

Редактирование контакта, метод: /api/contact-update/json/

Параметры

Пример:

http://myboxurl/api/contact-update/json/?login=LOGIN&password=PASSWORD&userid=666&email=test@tst.com

Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 userid integer Или userid или code1c контакта обязательно Обязательное поле.  
4 code1c string Идентификатор контакта из вашей системы (из вашего магазина) Не обязательное поле.  
5 userlogin string Логин контакта Не обязательное поле.  
6 userpass string Пароль контакта Не обязательное поле.  
7 name string имя пользователя Не обязательное поле.  
8 email string email пользователя Не обязательное поле.  
9 emails string email-ы пользователя (дополнительные) Не обязательное поле. Указывать через пробел (test@tset.ua dddd@ya.ru)
10 phone string телефон пользователя Не обязательное поле.  
11 phones string телефоны пользователя (дополнительные) Не обязательное поле.  
12 address string полный адрес пользователя одной строкой (устаревший параметр) Не обязательное поле.  
 13 country string Страна Не обязательное поле.  
14  region string Регион (область) Не обязательное поле.  
15  district string Район Не обязательное поле.  
16  city string Название населенного пункта Не обязательное поле.  
 17 street string Улица Не обязательное поле.  
 18 street_number string Номер дома Не обязательное поле.  
 19 apartment string Квартира Не обязательное поле.  
20 bdate date день рождения пользователя Не обязательное поле.  
21 groupid integer группа пользователя Не обязательное поле. Идентификатор группы контактов в системе BOX
22 namelast string фамилия пользователя Не обязательное поле.  
23 namemiddle string отчество пользователя Не обязательное поле.  
24 source string Источник пользователя Не обязательное поле.  
25 typesex string пол пользователя Не обязательное поле. По умолчанию тип пользователя - мужчина.
Доступные типы пользователей:
man - мужчина
woman - женщина
company - компания
26 company string Компания Не обязательное поле. Если их несколько указываем через запятую
27 companyid integer id компании Не обязательное поле.  
28 distribution boolean Подписан контакт на рассылку Не обязательное поле.  
29 urls string веб-сайт контакта Не обязательное поле.  
30 update boolean Обновлять ли контактные данные Не обязательное поле. Принимает параметр 1 или 0, по умолчанию 0. Если передать 1 то контактные данные (телефоны и email-ы) будут обновляться, в противном случае если передать 0 то будут дописыватся к сущесвующим
31 dataFromBody boolean Брать данные не из аргументов, а из body Не обязательное поле. Если передан dataFromBody=1, то данные будут братся не из аргументов, а из тела запроса. В тело должен быть передан json, в котором ключами должны быть параметры, описанные выше. login и password пи этом должны посылатся как обычно

Удаление контакта, метод: /api/contact-delete/json/

Параметры

Пример:

http://myboxurl/api/contact-delete/json/?login=LOGIN&password=PASSWORD&userid=666

Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 userid integer Идентификатор (ID OneBox) удаляемого контакта Не обязательное поле.
4 code1c string Идентификатор удаляемого контакта из вашей системы (из вашего магазина) Не обязательное поле.

Проверка активности клиента по логину или id, метод: /api/contact-login/status/json/

Параметры

Пример:

http://myboxurl/api/contact-login/status/json/?login=LOGIN&password=PASSWORD&userid=666

Поле Тип Описание Обязательное или нет Коментарий
1 login string Логин в системе BOX Обязательное поле.  
2 password string Пароль в формате md5 Обязательное поле. Напишите в техподдержку и мы выдадим вам hash для API
3 userid integer Идентификатор (ID OneBox) контакта Или userid или userlogin контакта обязательно

Значения возвращаемых полей
id - id контакта,
login - логин контакта,
isonline - (true/false) статус, залогинен ли пользователь,
lastactivity - дата и время последней активности контакта,
pultstatus - (work/pause/stop) статус пульта контакта

4 userlogin string Логин контакта в OneBox

Возможные варианты ответа на запрос

Подробнее
Статус Сообщение Описание сообщения
1 ok userid id добавленного/отредактированного юзера
2 fail login_empty Отсутствует логин
3 fail password_empty Отсутствует пароль
4 fail Login or password not correct! Неправильный логин или пароль
5 fail Bad user level! Низкий уровень пользователя, для выполнения данного действия(нужен level 2 и выше)
6 fail name_empty Имя отсутствует
7 fail email or phone is empty email или телефон отсутствуют
8 fail Payment by id or code1c not found Платеж с таким id или кодом уже существует
9 fail dublicate by code1c Контакт с таким кодом уже существует
10 fail Not found contact Контакт не найден
11 fail User-object by code1c not found Контакт с таким кодом не найден
12 fail Phone is exists Контакт с таким телефоном уже существует
13 fail Email is exists Контакт с таким email уже существует

Также могут возникать ошибки:

502 Bad Gateway - Если возникла данная ошибка необходимо:
1. Проверить, имеется ли доступ к Интернету (зайти на любой другой сайт).
2. Если проблем с доступом нет — можно удалить файлы cookies.
Если указанное выше не помогло — проблема на стороне сервера. Следует обратиться к системному администратору сайта.

503 (Service Temporarily Unavailable) - данная ошибка может возникать в результате слишком большого количества запросов к серверу. Если вы увидели такую ошибку, стоит подождать пару минут и попробовать снова.

504 Gateway Timeout - cкорее всего дело в возросшей нагрузке на сайт, при которой Apache не успевает отдавать HTTP-ответы, и новые запросы встают в очередь. Чтобы решить проблему, можно добавить ресурсов серверу, в частности оперативной памяти, и увеличить количество процессов httpd (Apache).
Другая возможная причина возникновения ошибки 504 - исполняемый скрипт не укладывается в отведенный лимит времени. Это бывает, когда запрос слишком тяжелый. Попробуйте разбить свой запрос на несколько более маленьких.

Ошибка 505 HTTP Version not supported означает, что веб-сайт не поддерживает версию протокола HTTP, с помощью которого браузер осуществляет запрос веб-страницы