Чтобы создать контакт пользователя, необходимо сформировать POST-запрос на адрес "https://api.catapulto.ru/api/v1/users/contact/create/" c необходимыми параметрами и пройти аутентификацию, передав ключ токена (полученный при авторизации) в HTTP-заголовке «X-Token», предварительно добавив строку «Token». Например: Token: Token 401f7ac837da42b97f613d789819ff93537bee6a

Метод создание контакта принимает такие поля (поля c R обязательные к заполнению):

  1. address_line_1: (CharField) - Строка адреса 1
  2. address_line_2: (CharField) - Строка адреса 2
  3. locality_id: (CharField) - ID геообъекта (из справочника городов)
  4. zip: (CharField) - Почтовый индекс (из справочника городов) R
  5. street: (CharField) - Улица
  6. street_type: (CharField) - Тип улицы
  7. building: (CharField) - Здание
  8. door_number: (CharField) - Офис/квартира
  9. comment: (CharField) - Комментарий
  10. company: (CharField) - Компания
  11. name: (CharField) - Имя Фамилия
  12. phone: (CharField) - Телефон
  13. is_favorite: (BooleanField) - В избранном
  14. iso: (CharField) - Код страны

Давайте добавим новый контакт нашему авторизованному пользователю testTest@catapulto.ru используя полученный token и данные о городе из справочника.

Для получения информации о городе нужно использовать справочник посредством GET-запроса на адрес "https://api.catapulto.ru/api/v1/geo/locality/search/". GET параметры:

  1. term: (String) - Поисковый запрос
  2. iso: (String) - Код страны
  3. limit: (Integer) - Ограничение выборки (максимум 50)

Поля ответа:

  1. id: (IntegerField) - ID
  2. region1: (CharField) - Регион 1
  3. region1_type: (CharField) - Тип региона 1
  4. region2: (CharField) - Регион 2
  5. region3: (CharField) - Регион 3
  6. locality: (CharField) - Название
  7. zip: (CharField) - Почтовый индекс
  8. aoid: (CharField) - ФИАС
  9. shortname: (CharField) - Сокращение 10 .slug: (CharField) - ЧПУ

Например, нам необходимо найти город Москва и получить информацию о нем. Для этого сформируем GET-запрос на адрес с параметрами "https://api.catapulto.ru/api/v1/geo/locality/search?term=Москва&iso=RU" и получим JSON массив:

[ { id: 3611199, region1: null, region1_type: "", region2: "", region3: "", locality: "Москва", zip: "103070", aoid: "0c5b2444-70a0-4932-980c-b4dc0d3f02b5", shortname: "г", slug: "moskva" }, { id: 3717977, region1: "Тверская", region1_type: "", region2: "Калининский", region3: "", locality: "Москва-Санкт-Петербург", zip: "170540", aoid: "43cb334c-4c42-4f4b-9c61-096af8b6579e", shortname: "автодорога", slug: "moskva-sankt-peterburg" }, ... ]

Из данного JSON-ответа мы можем получить необходимую информацию по городу.

Чтоб иметь возможность взаимодействия с сервером, нужно авторизовать пользователя. Для этого в headers нашего POST-запроса добавим как ключ X-Token и значение Token 6c523bd79898gd706c32a05aff13003dc07737e0.

Далее в тело нашего запроса добавим следующие поля с соответствующими значениями:

  1. address_line_1: "ул Строителей"
  2. address_line_2: ""
  3. building: "15"
  4. comment: "Новый клиент Catapulto, офис 12"
  5. company: "Catapulto"
  6. iso: "RU"
  7. locality_id: "3611199"(получили из справочника городов ниже)
  8. name: "Вася Пупкин"
  9. phone: "+7 (495) 555-22-41"
  10. street: "ул Строителей"
  11. zip: "103070"(получили из справочника городов ниже)

После успешного добавления контакта api вернет нам примерно следующий ответ:

{ "id": 2088703, "locality": { "id": 3611199, "iso": "RU", "region1": "Москва", "region1_type": "г", "region2": "", "region2_type": "", "region3": "", "region3_type": "", "locality": "Москва", "aoid": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5", "slug": "moskva" }, "zip": "103070", "street": "ул Строителей", "street_type": "", "building": "15", "door_number": "", "comment": "Новый клиент Catapulto, офис 12", "company": "Catapulto", "name": "Вася Пупкин", "phone": "+74955552241", "usergroup": { "id": 31810, "title": "Основной отдел" }, "address_line_1": "ул Строителей", "address_line_2": "" }

Предыдущая статья:
Авторизация пользователя
Следующая статья:
Создание груза