KIT.API V1.1

Техническая поддержка

Содержание


Введение

Для повышения удобства технического взаимодействия клиентов и партнёров транспортной компании « КИТ» был реализован простой и доступный программный интерфейс — KIT.API, работающий поверх протокола HTTP. Мы думаем, что использование KIT.API делает наше техническое взаимодействие с партнёрами более эффективным.

Данное руководство описывает интерфейс доступа к KIT.API версии 1.1, и предназначено для программистов, автоматизирующих взаимодействие с нашей компанией ТК «КИТ».

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

Что нового?

  1. Параметр token пришел на смену параметру UCODE. Получать ключ доступа заново не требуется.
  2. Параметр token является обязательным для всех методов API v1.1. При отсутствии параметра token или в случае если он содержит невалидный ключ доступа будет возращен статус страницы 401, а так же ответ формата {"name":"Unauthorized","message":"Your request was made with invalid credentials.","code":0,"status":401}.
  3. Лимитирование количества запросов происходит на уровне ключа (клиента API), а не приложения. Это гарантирует каждому клиенту API v1.1 обработку того количества запросов которое установлено лимитом.
  4. Так же лимиты разделяются по методам API v1.1. Например: если Ваше приложение истратило лимит используя метод price_order то блокировка метода checkstat по лимиту не происходит. У каждого метода свой лимит для Вашего ключа.
  5. В заголовках ответа присуствует 3 новых заголовка:
    X-Rate-Limit-Limit - установленный лимит на метод
    X-Rate-Limit-Remaining - количество запросов оставшихся до превышения лимита
    X-Rate-Limit-Reset - время которое необходимо для восстановления лимита запросов
  6. В случае превышения лимита будет возвращен статус страницы 429, а так же ответ формата {"name":"Too Many Requests","message":"Rate limit exceeded.","code":0,"status":429}.
  7. Новый формат ответа XML. Появилась возможность получить ответ от метода API v1.1 в формате XML передав заголовок запроса Accept: application/xml


Общий принцип взаимодействия

Внимание: нами был осуществлен переход на HTTPS и полный отказ от незащищенного HTTP. Все запросы направленные по HTTP буду возращать 301 редирект. Транспортным протоколом для вызова функций KIT.API является HTTPS. В KIT.API поддерживаются как GET, так и POST запросы. Однако рекомендуемым является метод POST, т.к. он не имеет ограничений на длину запроса.
Внимание: Это последняя версия API поддерживающая GET параметры. В последующих версиях API будет исопльзоваться POST.

Каждый вызов является атомарным и синхронным, то есть все запросы независимы друг от друга. Также все операции являются синхронными: результат операции возвращается сразу же, нет промежуточных состояний при выполнении операции. Выбор в пользу такого способа взаимодействия был сделан для удобства подключения к KIT.API со стороны клиентов.


Формат запроса

URL для вызова функций выглядит следующим образом:
https://tk-kit.com/API.1.1?token=<ключ доступа>&f=<имя_функции>&<HTTP_параметры_для_запросов_GET>]


Таким образом, все функции имеют единый URL, а вызываемая функция идентифицировалась с помощью параметра f.

Практически все функции требуют дополнительных параметров для своего вызова.


Передача входных параметров

Все дополнительные параметры, если они есть, можно передавать в виде стандартных HTTP-параметров GET или POST. Если параметр отмечен символом *, то он является обязательным.

Пример передачи параметров через GET запрос:
https://tk-kit.com/API.1.1?f=get_city_list


Формат ответа

Все функции возвращают ответы в формате JSON (по умолчанию) и XML (при передаче заголовка Accept: application/xml).

Список функций

Здесь приведен перечень доступных функций с кратким описанием. Полное, детальное описание каждой функции с примерами использования см. ниже.

ФункцияКраткое описание
checkstat Получение статуса заявки по номеру Экспедиторской Расписки
get_insurance_agents Возвращает список страховых компаний с которыми сотрудничает ТК КИТ
get_im_services Список дополнительных услуг для Интернет Магазинов
get_services Общий список дополнительных услуг
get_city_list Возвращает список населённых пунктов с которыми работает ТК КИТ
is_city Проверяет осуществляется ли доставка в переданный город. Если доставка в переданный город не осуществляется то возвращает массив с единственным значением 0
price_order Возвращает стоимость и срок перевозки по указанному маршруту
create_order Запрос на создание новой заявки на перевозку. Ввиду большого числа параметров данный запрос рекомендуется отправлять методом POST.
ВНИМАНИЕ! Данная функция доступна только для запросов с доверенным и авторизованным ключём. Если у вас ещё нет ключа, запросить его вы можете тут
get_rp Возвращает список складов в городах, через которые осуществляется междугородняя перевозка.
Ключ массива - это ID населенного пункта (см. описание функции get_city_list)
get_hash
Функция временно отключена
Возвращает хеш пароля(специальную криптографическую форму контрольной суммы). Хэш используется для некоторых других методов API.
get_avr
Функция временно отключена
Возвращает список актов выполненных работ.
get_order_info Возвращает подробную информацию о заказе


Функция checkstat

Назначение: Получение статуса заявки по номеру Экспедиторской Расписки

Поля запроса:
ПолеОписание
N * Номер Экспедиторской Расписки

Поля ответа:
ПолеОписание
date Дата присвоения статуса
time Время присвоения статуса
timestamp Unix Time Stamp даты и времени присвоения статуса
status_code Код статуса
status_text Текстовая расшифровка статуса

Пример запроса:
https://tk-kit.com/API.1.1?f=checkstat&N=МСКЕК40010818306


Пример ответа:
[
    {
        "date": "2013-10-12",
        "time": "13:04:20",
        "timestamp": 1381568660,
        "status_code": "04",
        "status_text": "Груз выдан"
    },
    {
        "date": "2013-10-11",
        "time": "08:42:28",
        "timestamp": 1381466548,
        "status_code": "03",
        "status_text": "Груз прибыл"
    },
    {
        "date": "2013-10-09",
        "time": "10:07:09",
        "timestamp": 1381298829,
        "status_code": "02",
        "status_text": "Груз отправлен"
    },
    {
        "date": "2013-10-08",
        "time": "04:52:11",
        "timestamp": 1381193531,
        "status_code": "01",
        "status_text": "Груз принят"
    },
    {
        "date": "2013-10-04",
        "time": "08:24:35",
        "timestamp": 1380860675,
        "status_code": "00",
        "status_text": "Новый заказ"
    }
]


Функция get_insurance_agents

Назначение: Возвращает список страховых компаний с которыми сотрудничает ТК КИТ

Поля запроса:
нет


Поля ответа:

ПолеОписание
AGENT Массив страховых компаний
AGENT -> IN Код страховой компании
AGENT -> NM Название страховой компании
E_CH Массив типов груза
E_CH -> CH Код типа груза
E_CH -> CT Название типа груза
E_MN Массив минимальных значений ставки страхования
E_MN -> IN Код страховой компании
E_MN -> VL Значение минимальной ставки
E_MN -> TP Валюта минимальной ставки
E_PR Массив ставок
E_PR -> IN Код страховой компании
E_PR -> CH Код типа груза
E_PR -> VL Ставка страхования
E_PR -> TP Тип страхования (фиксированная сумма или процент от стоимости перевозки)

Пример запроса:
https://tk-kit.com/API.1.1?f=get_insurance_agents


Пример ответа:
{
    "E_CH": {
        "item": [
            {
                "CH": "001",
                "CT": "Груз без особых условий",
                "LL": "0001",
                "LP": "0000",
                "TR": ""
            },
            {
                "CH": "002",
                "CT": "Стекло,в тч. в стеклянной таре",
                "LL": "0002",
                "LP": "0000",
                "TR": ""
            }
        ]
    },
    "E_MN": {
        "item": [
            {
                "IN": "0210000330",
                "TP": "RUB",
                "VL": "150.0"
            }
        ]
    },
    "E_PR": {
        "item": [
            {
                "CH": "0001",
                "IN": "0210000330",
                "TP": "%",
                "VL": "0.15"
            },
            {
                "CH": "0002",
                "IN": "0210000330",
                "TP": "%",
                "VL": "0.3"
            }
        ]
    },
    "AGENT": {
        "item": [
            {
                "IN": "0210000330",
                "NM": "ОАО Страховая компания \"Пари\""
            }
        ]
    }
}


Функция get_im_services

Назначение: Список дополнительных услуг для Интернет Магазинов

Поля запроса:
нет


Поля ответа:

ПолеОписание
ZA Код услуги
NM Текстовое название услуги

Пример запроса:
https://tk-kit.com/API.1.1?f=get_im_services


Пример ответа:
{
    "SRV": {
        "item": [
            {
                "NM": "Пломбирование",
                "ZA": "S026"
            },
            {
                "NM": "Жесткая доупаковка груза",
                "ZA": "T001"
            },
            {
                "NM": "Упаковка сопроводительных документов",
                "ZA": "T004"
            },
            {
                "NM": "Упаковка в картонные коробки",
                "ZA": "T005"
            }
        ]
    }
}


Функция get_services

Назначение: Общий список дополнительных услуг

Поля запроса:
нет


Поля ответа:

ПолеОписание
ZA Код услуги
NM Текстовое название услуги

Пример запроса:
https://tk-kit.com/API.1.1?f=get_services


Пример ответа:
{
    "SRV": {
        "item": [
            {
                "NM": "Пломбирование",
                "ZA": "S026"
            },
            {
                "NM": "Жесткая доупаковка груза",
                "ZA": "T001"
            },
            {
                "NM": "Паллетирование (прозр. пленка)",
                "ZA": "T002"
            },
            {
                "NM": "Паллетирование (черн. пленка)",
                "ZA": "T003"
            }
        ]
    }
}


Функция get_city_list

Назначение: Возвращает список населённых пунктов с которыми работает ТК КИТ

Поля запроса:
нет


Поля ответа:

ПолеОписание
ID Код населённого пункта
NAME Название населённого пункта
COUNTRY Код страны
REGION Код региона
TZONEID Транспортная зона
SR Если пусто, то услуга забора или доставки в данном населённом пункте обязательны
OC Если не пусто, то данный населённый пункт считается областным центром
TP Тип населённого пункта

Пример запроса:
https://tk-kit.com/API.1.1?f=get_city_list


Пример ответа:
{
    "CITY": [
        {
            "ID": "565500100000",
            "OC": "",
            "SP": "",
            "SR": "N",
            "TP": "гор.",
            "NAME": "Абдулино",
            "TZONE": "N",
            "REGION": "02",
            "COUNTRY": "RU",
            "TZONEID": "0000000212"
        }
    ]
}


Функция is_city

Назначение: Проверяет осуществляется ли доставка в переданный город. Если доставка в переданный город не осуществляется то возвращает массив с единственным значением 0

Поля запроса:
ПолеОписание
city * Название города

Поля ответа:
ПолеОписание
Полный код города вида COUNTRY:REGION:TZONEID:ID:SR (для описания полей см. описание функции get_city_list)

Пример запроса:
https://tk-kit.com/API.1.1?f=is_city&city=Екатеринбург


Пример ответа:
[
    "RU:66:0000006600:660000100000:Y"
]


Функция price_order

Назначение: Возвращает стоимость и срок перевозки по указанному маршруту

Поля запроса:
ПолеОписание
DELIVERY Нужна доставка груза по адресу получателя (не обязательно)
PICKUP Нужен забор груза по адресу отправителя (не обязательно)
WEIGHT * Вес груза в кг
VOLUME * Объём груза в метрах кубических. Если переданы размеры (длина, ширины и высота), то объём считается исходя из размеров и данный параметр не учитывается.
LENGTH * Длина груза в сантиметрах (не обязательно)
WIDTH * Ширина груза в сантиметрах (не обязательно)
HEIGHT * Высота груза в сантиметрах (не обязательно)
SLAND Отправка из - Код страны (см. описание функции get_city_list)
SZONE * Отправка из - Транспортная зона (обязательно) (см. описание функции get_city_list поле TZONEID)
SCODE Отправка из - Код населённого пункта (не обязательно) (см. описание функции get_city_list поле ID)
SREGIO Отправка из - Код региона (см. описание функции get_city_list)
RLAND Доставка в - Код страны (см. описание функции get_city_list)
RZONE * Доставка в - Транспортная зона (см. описание функции get_city_list поле TZONEID)
RCODE Доставка в - Код населённого пункта (см. описание функции get_city_list поле ID)
RREGIO Доставка в - Код региона (см. описание функции get_city_list)
GR_TYPE Характер груза (не обязательно) (см. описание функции get_insurance_agents)
LIFNR Номер страховой компании (не обязательно) (см. описание функции get_insurance_agents)
PRICE * Стоимость груза
I_HAVE_DOC Есть документы подтверждающие стоимость груза
I_SRV Массив кодов дополнительных услуг (см. описание функции get_services)
KUNNR Номер дебитора (если есть)

Поля ответа:
ПолеОписание
PRICE Массив стоимости перевозки
PRICE -> PICKUP Стоимость забора груза по адресу отправителя
PRICE -> TRANSFER Стоимость перевозки груза
PRICE -> DELIVERY Стоимость доставки груза по адресу получателя
PRICE -> TOTAL Суммарная стоимость перевозки груза (включая забор, перевозку, доставку и дополнительные услуги)
EXTRA Массив стоимости дополнительных услуг (если переданы)
EXTRA -> price Стоимость дополнительной услуги
EXTRA -> name Название дополнительной услуги
DAYS Срок перевозки в днях
E_WAERS Валюта цены
E_RATE Массив ставок для расчёта цены в других валютах (кроме рубля)
E_RATE -> KZT Ставка обмена валюты в Казахских тенге относительно рубля
E_RATE -> RUB Ставка обмена валюты в Российских рублях относительно рубля (равно 1)

Пример запроса:
https://tk-kit.com/API.1.1?f=price_order&I_DELIVER=0&I_PICK_UP=1&WEIGHT=30&VOLUME=0.6&SLAND=RU&SZONE=0000008610&SCODE=860001000000&SREGIO=86&RLAND=RU&RZONE=0000008910&RCODE=890000700000&RREGIO=89&KWMENG=1&LENGTH=84.34&WIDTH=84.34&HEIGHT=84.34&GR_TYPE=&LIFNR=&PRICE=&WAERS=RUB


Пример ответа:
{
    "DAYS": 1,
    "PRICE": {
        "TOTAL": "0.0",
        "PICKUP": "0.0",
        "DELIVERY": "0.0",
        "TRANSFER": "0.0"
    },
    "E_RATE": {
        "KZT": "5.0",
        "RUB": 1
    },
    "E_WAERS": "RUB"
}


Функция create_order

Назначение: Запрос на создание новой заявки на перевозку. Ввиду большого числа параметров данный запрос рекомендуется отправлять методом POST.
ВНИМАНИЕ! Данная функция доступна только для запросов с доверенным и авторизованным ключём. Если у вас ещё нет ключа, запросить его вы можете тут

Поля запроса:
ПолеОписание
DELIVERY Нужна доставка груза по адресу получателя (не обязательно)
PICKUP Нужен забор груза по адресу отправителя (не обязательно)
WEIGHT * Вес груза в кг
LENGTH * Длина груза в сантиметрах (не обязательно)
WIDTH * Ширина груза в сантиметрах (не обязательно)
HEIGHT * Высота груза в сантиметрах (не обязательно)
VOLUME * Объём груза в метрах кубических. Если переданы размеры (длина, ширины и высота), то объём считается исходя из размеров и данный параметр не учитывается.
SLAND Отправка из - Код страны (см. описание функции get_city_list)
SZONE * Отправка из - Транспортная зона (не обязательно) (см. описание функции get_city_list поле TZONEID)
SCODE Отправка из - Код населённого пункта (обязательно) (см. описание функции get_city_list поле ID)
SREGIO Отправка из - Код региона (см. описание функции get_city_list)
RLAND Доставка в - Код страны (см. описание функции get_city_list)
RZONE * Доставка в - Транспортная зона (см. описание функции get_city_list поле TZONEID)
RCODE Доставка в - Код населённого пункта (см. описание функции get_city_list поле ID)
RREGIO Доставка в - Код региона (см. описание функции get_city_list)
GR_TYPE Характер груза (не обязательно) (см. описание функции get_insurance_agents)
LIFNR Номер страховой компании (не обязательно) (см. описание функции get_insurance_agents)
PRICE Стоимость груза
I_HAVE_DOC Есть документы подтверждающие стоимость груза
I_SRV Массив кодов дополнительных услуг (см. описание функции get_services)
KWMENG * Количество мест (по-умолчанию 1, не обязательное поле)
EKIT_PARTNER Номер дебитора - интернет-магазина. Если заказ от интернет-магазина, то это обязательный параметр
S_STREET Откуда: Наименование улицы (если в справочнике не нашли)
S_STREET_ID Откуда: Номер улицы из справочника
S_HOUSE Откуда: Номер дома
S_HSN_SUPP Откуда: Доп. номер дома (корпус, строение и т.п.)
S_HOUSE2 Откуда: Квартира / Офис
S_DATA Откуда: дата забора груза
R_STREET Куда: Наименование улицы (если в справочнике не нашли)
R_HOUSE Куда: Номер дома
R_HSN_SUPP Куда: Доп. номер дома (корпус, строение и т.п.)
R_HOUSE2 Куда: Квартира / Офис
CUS Массив данных клиента
CUS -> KUNNR Номер дебитора (если известно). Если это поле заполнено, то поле CUS -> STATUS обязательно, остальные поля этого массива заполнять не нужно.
CUS -> STATUS * Статус: 1 - юр. лицо, 2 - физ. лицо, 3 - ИП
CUS -> NAME * Наименование юр. лица или ИП
CUS -> FIO * ФИО контактного лица
CUS -> PHONE * Телефон контактного лица
CUS -> EMAIL E-mail контактного лица
CUS -> INN * ИНН
CUS -> KPP * КПП
CUS -> U_LAND * Юридический адрес: Код страны (Россия - RU, Казахстан - KZ)
CUS -> U_CITY * Юридический адрес: Наименование города (если в справочнике не нашли)
CUS -> U_CITY_ID Юридический адрес: Номер города из справочника
CUS -> U_REGIO * Юридический адрес: Код области
CUS -> U_STREET * Юридический адрес: Наименование улицы (если в справочнике не нашли)
CUS -> U_STREET_ID Юридический адрес: Номер улицы из справочника
CUS -> U_HOUSE * Юридический адрес: Номер дома
CUS -> U_HSN_SUPP Юридический адрес: Доп. номер дома (корпус, строение и т.п.)
CUS -> U_HOUSE2 Юридический адрес: Квартира / Офис
CUS -> F_LAND * Фактический адрес: Код страны (Россия - RU, Казахстан - KZ)
CUS -> F_CITY * Фактический адрес: Наименование города (если в справочнике не нашли)
CUS -> F_CITY_ID Фактический адрес: Номер города из справочника
CUS -> F_REGIO * Фактический адрес: Код области
CUS -> F_STREET * Фактический адрес: Наименование улицы (если в справочнике не нашли)
CUS -> F_STREET_ID Фактический адрес: Номер улицы из справочника
CUS -> F_HOUSE * Фактический адрес: Номер дома
CUS -> F_HSN_SUPP Фактический адрес: Доп. номер дома (корпус, строение и т.п.)
CUS -> F_HOUSE2 Фактический адрес: Квартира / Офис
SEN Массив данных отправителя
SEN -> LIKE_CUSX если данные отправителя полностью совпадают с данными клиента. Заполнение массива данных отправителя не требуется
SEN -> KUNNR Номер дебитора (если известно). Если это поле заполнено, то поле SEN -> STATUS обязательно, остальные поля этого массива заполнять не нужно.
SEN -> STATUS * Статус: 1 - юр. лицо, 2 - физ. лицо, 3 - ИП
SEN -> NAME * Наименование юр. лица или ИП
SEN -> FIO * ФИО контактного лица
SEN -> PHONE * Телефон контактного лица
SEN -> EMAIL E-mail контактного лица
SEN -> INN * ИНН
SEN -> KPP * КПП ()
SEN -> U_LAND * Юридический адрес: Код страны (Россия - RU, Казахстан - KZ)
SEN -> U_CITY * Юридический адрес: Наименование города (если в справочнике не нашли)
SEN -> U_CITY_ID Юридический адрес: Номер города из справочника
SEN -> U_REGIO * Юридический адрес: Код области
SEN -> U_STREET * Юридический адрес: Наименование улицы (если в справочнике не нашли)
SEN -> U_STREET_ID Юридический адрес: Номер улицы из справочника
SEN -> U_HOUSE * Юридический адрес: Номер дома
SEN -> U_HSN_SUPP Юридический адрес: Доп. номер дома (корпус, строение и т.п.)
SEN -> U_HOUSE2 Юридический адрес: Квартира / Офис
SEN -> F_LAND * Фактический адрес: Код страны (Россия - RU, Казахстан - KZ)
SEN -> F_CITY * Фактический адрес: Наименование города (если в справочнике не нашли)
SEN -> F_CITY_ID Фактический адрес: Номер города из справочника
SEN -> F_REGIO * Фактический адрес: Код области
SEN -> F_STREET * Фактический адрес: Наименование улицы (если в справочнике не нашли)
SEN -> F_STREET_ID Фактический адрес: Номер улицы из справочника
SEN -> F_HOUSE * Фактический адрес: Номер дома
SEN -> F_HSN_SUPP Фактический адрес: Доп. номер дома (корпус, строение и т.п.)
SEN -> F_HOUSE2 Фактический адрес: Квартира / Офис
SEN -> TIME_WORK Время работы
REC Массив данных получателя
REC -> LIKE_CUSX если данные получателя полностью совпадают с данными клиента. Заполнение массива данных получателя не требуется
REC -> KUNNR Номер дебитора (если известно). Если это поле заполнено, то поле RES -> STATUS обязательно, остальные поля этого массива заполнять не нужно.
REC -> STATUS * Статус: 1 - юр. лицо, 2 - физ. лицо, 3 - ИП
REC -> NAME * Наименование юр. лица или ИП
REC -> FIO * ФИО контактного лица
REC -> PHONE * Телефон контактного лица
REC -> EMAIL E-mail контактного лица
REC -> INN * ИНН
REC -> KPP * КПП
REC -> U_LAND * Юридический адрес: Код страны (Россия - RU, Казахстан - KZ)
REC -> U_CITY * Юридический адрес: Наименование города (если в справочнике не нашли)
REC -> U_CITY_ID Юридический адрес: Номер города из справочника
REC -> U_REGIO * Юридический адрес: Код области
REC -> U_STREET * Юридический адрес: Наименование улицы (если в справочнике не нашли)
REC -> U_STREET_ID Юридический адрес: Номер улицы из справочника
REC -> U_HOUSE * Юридический адрес: Номер дома
REC -> U_HSN_SUPP Юридический адрес: Доп. номер дома (корпус, строение и т.п.)
REC -> U_HOUSE2 Юридический адрес: Квартира / Офис
REC -> F_LAND * Фактический адрес: Код страны (Россия - RU, Казахстан - KZ)
REC -> F_CITY * Фактический адрес: Наименование города (если в справочнике не нашли)
REC -> F_CITY_ID Фактический адрес: Номер города из справочника
REC -> F_REGIO * Фактический адрес: Код области
REC -> F_STREET * Фактический адрес: Наименование улицы (если в справочнике не нашли)
REC -> F_STREET_ID Фактический адрес: Номер улицы из справочника
REC -> F_HOUSE * Фактический адрес: Номер дома
REC -> F_HSN_SUPP Фактический адрес: Доп. номер дома (корпус, строение и т.п.)
REC -> F_HOUSE2 Фактический адрес: Квартира / Офис
REC -> TIME_WORK Время работы
PAY Массив данных о плательщике
PAY -> PICK_UP Забор груза оплачивает: 1 - заказчик, 2 - отправитель, 3 – получатель
PAY -> TRANSP Транспортировку оплачивает: 1 - заказчик, 2 - отправитель, 3 – получатель
PAY -> DELIVER Доставку груза оплачивает: 1 - заказчик, 2 - отправитель, 3 - получатель
EXT Массив дополнительных параметров
EXT -> COMM Дополнительные сведения экспедитору (свободный текст до 255 символов)
NOT Массив данных об уведомлениях
NOT -> NEED X если нужны уведомления о движении груза
NOT -> EMAIL E-mail для уведомлений
NOT -> SMS Номер сотового телефона для SMS уведомлений

Поля ответа:
ПолеОписание
ET_LOG -
E_VBELN Номер заказа
E_XBLNR Номер экспедиторской расписки

Пример запроса:
https://tk-kit.com/API.1.1?f=create_order&I_DELIVER=&I_PICK_UP=X&WEIGHT=16&VOLUME=0.15&SLAND=RU&SZONE=0000007700&SCODE=770000000000&SREGIO=77&RLAND=RU&RZONE=0000008601&RCODE=860000100000&RREGIO=86&KWMENG=2&LENGTH=53.13&WIDTH=53.13&HEIGHT=53.13&GR_TYPE=001&LIFNR=&PRICE=0000&WAERS=RUB&S_DATA=22.01.2014&EXT[COMM]=&NOT[NEED]=&NOT[EMAIL]=&NOT[SMS]=&PARTNERNUM=&HD_PRS=&HD_CMT=&S_STREET=%D0%A1%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D1%85%D0%BE%D0%B7%D1%8F%D0%B9%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20&S_STREET_ID=&S_HOUSE=36&S_HSN_SUPP=&S_HOUSE2=&CUS[STATUS]=1&CUS[NAME]=%D0%9E%D0%9E%D0%9E%22%D0%91%D1%83%D1%80%D1%82%D0%BE%D1%80%D0%B3%22&CUS[KUNNR]=0001032031&CUS[FIO]=%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9&CUS[PHONE]=%2B7925895-91-91&CUS[INN]=7733786444&CUS[KPP]=773301001&CUS[U_LAND]=RU&CUS[U_CITY]=&CUS[U_CITY_ID]=&CUS[U_REGIO]=&CUS[U_STREET]=&CUS[U_STREET_ID]=&CUS[U_HOUSE]=0&CUS[U_HSN_SUPP]=&CUS[U_HOUSE2]=&CUS[F_LAND]=RU&CUS[F_CITY]=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&CUS[F_CITY_ID]=770000000000&CUS[F_REGIO]=77&CUS[F_STREET]=%D0%A1%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D1%85%D0%BE%D0%B7%D1%8F%D0%B9%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20&CUS[F_STREET_ID]=&CUS[F_HOUSE]=36&CUS[F_HSN_SUPP]=&CUS[F_HOUSE2]=&SEN[LIKE_CUS]=X&SEN[STATUS]=1&SEN[NAME]=%D0%9E%D0%9E%D0%9E%22%D0%91%D1%83%D1%80%D1%82%D0%BE%D1%80%D0%B3%22&SEN[KUNNR]=0001032031&SEN[FIO]=%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9&SEN[PHONE]=%2B7925895-91-91&SEN[INN]=7733786444&SEN[KPP]=773301001&SEN[U_LAND]=RU&SEN[U_CITY]=&SEN[U_CITY_ID]=&SEN[U_REGIO]=&SEN[U_STREET]=&SEN[U_STREET_ID]=&SEN[U_HOUSE]=0&SEN[U_HSN_SUPP]=&SEN[U_HOUSE2]=&SEN[F_LAND]=RU&SEN[F_CITY]=%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&SEN[F_CITY_ID]=770000000000&SEN[F_REGIO]=77&SEN[F_STREET]=%D0%A1%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D1%85%D0%BE%D0%B7%D1%8F%D0%B9%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20&SEN[F_STREET_ID]=&SEN[F_HOUSE]=36&SEN[F_HSN_SUPP]=&SEN[F_HOUSE2]=&SEN[TIME_WORK]=%D1%81%2010%20%D0%B4%D0%BE%2018&REC[STATUS]=3&REC[NAME]=%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%20%D0%9D%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B5%D0%B2%D0%B8%D1%87%20%D0%A0%D0%B5%D0%B2%D0%B0%D0%BA%D1%88%D0%B8%D0%BD&REC[KUNNR]=&REC[FIO]=%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%20%D0%9D%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B5%D0%B2%D0%B8%D1%87%20%D0%A0%D0%B5%D0%B2%D0%B0%D0%BA%D1%88%D0%B8%D0%BD&REC[PHONE]=%2B79028140810&REC[INN]=&REC[KPP]=&REC[U_LAND]=RU&REC[U_CITY]=&REC[U_CITY_ID]=&REC[U_REGIO]=&REC[U_STREET]=&REC[U_STREET_ID]=&REC[U_HOUSE]=0&REC[U_HSN_SUPP]=&REC[U_HOUSE2]=&REC[F_LAND]=RU&REC[F_CITY]=%D0%A5%D0%B0%D0%BD%D1%82%D1%8B-%D0%9C%D0%B0%D0%BD%D1%81%D0%B8%D0%B9%D1%81%D0%BA&REC[F_CITY_ID]=860000100000&REC[F_REGIO]=86&REC[F_STREET]=%20%D0%9A%D1%80%D1%83%D0%BF%D1%81%D0%BA%D0%BE%D0%B9&REC[F_STREET_ID]=&REC[F_HOUSE]=16&REC[F_HSN_SUPP]=&REC[F_HOUSE2]=&REC[TIME_WORK]=%D1%81%20%20%D0%B4%D0%BE%20&PAY[PICK_UP]=1&PAY[TRANSP]=2&PAY[DELIVER]=2


Пример ответа:
{
    "ET_LOG": {},
    "E_VBELN": "1101173377",
    "E_XBLNR": "МСКХМС0011172344"
}


Функция get_rp

Назначение: Возвращает список складов в городах, через которые осуществляется междугородняя перевозка.
Ключ массива - это ID населенного пункта (см. описание функции get_city_list)

Поля запроса:
нет


Поля ответа:

ПолеОписание
WERKS РП (завод)
LAND1 Код страны
PSTLZ Почтовый индекс
REGIO Код области
ORT01 Наименование города
STRAS Улица и номер дома
ZSCHWORK Время работы
ZALTAD Примечание к адресу
STREETCODE Код улицы
TRANSPZONE Транспортная зона
TEL_NUMBER Номер телефона
TEL_EXTENS Дополнительный номер телефона
REMARK Примечание
EKIT Наличие кассы Е-КИТ (если не пусто значит касса есть)

Пример запроса:
https://tk-kit.com/API.1.1?f=get_rp


Пример ответа:
{
    "020000100000": [
        {
            "EKIT": "",
            "LAND1": "RU",
            "ORT01": "Уфа",
            "PSTLZ": "450103",
            "REGIO": "02",
            "STRAS": "Пугачева 300\/1",
            "WERKS": "0200",
            "REMARK": "",
            "ZALTAD": "",
            "ZSCHWORK": "ПН-ПТ 9.00-19.00, СБ 9.00-17.00",
            "STREETCODE": "000000005836",
            "TEL_EXTENS": "",
            "TEL_NUMBER": "(347)27-33-063",
            "TRANSPZONE": "0000000201"
        },
        {
            "EKIT": "X",
            "LAND1": "RU",
            "ORT01": "Уфа",
            "PSTLZ": "450103",
            "REGIO": "02",
            "STRAS": "Пугачева 300\/1",
            "WERKS": "0201",
            "REMARK": "",
            "ZALTAD": "",
            "ZSCHWORK": "ПН-ПТ 9.00-19.00, СБ 9.00-17.00",
            "STREETCODE": "000000005836",
            "TEL_EXTENS": "",
            "TEL_NUMBER": "(347)22-42-684",
            "TRANSPZONE": "0000000200"
        }
    ]
}


Функция get_hash

Назначение:
На данный момент функция отключена.
Возвращает хеш пароля(специальную криптографическую форму контрольной суммы). Хэш используется для некоторых других методов API.

Поля запроса:
ПолеОписание
ILOGIN Логин пользователя
IPASSWORD Пароль пользователя

Поля ответа:
ПолеОписание
KUNNR Номер дебитора (если есть)
MAILS Почты, привязанные к аккаунту
IsParnter Является ли клиент партнером Кита
HASH Хэш, который можно использовать в других функциях API

Пример запроса:
https://tk-kit.com/API.1.1?f=get_hash&ILOGIN=i0000000000&IPASSWORD=i0000000000


Пример ответа:
{
    "USER": {
        "Name": "ОАО НАУЧНО-ПРОИЗВОДСТВЕННОЕ ПРЕДПРИЯТИЕ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ И ПРОЕКТНО-КОНСТРУКТОРСКИЙ ИНСТИТУТ ГЕОФИЗИЧЕСКИХ ИССЛЕДОВАНИЙ ГЕОЛ",
        "hash": "45963b8bd0f913d29b6d17676f6414f8424d72be",
        "Kunnr": "0001100857",
        "Mails": {
            "item": "123qwer@ertert.ru"
        },
        "IsParnter": ""
    }
}


Функция get_avr

Назначение:
На данный момент функция отключена.
Возвращает список актов выполненных работ.

Поля запроса:
ПолеОписание
ILOGIN Логин пользователя
IHASH Хэш паролья пользователя. См get_hash
IXblnr Номер экспедиторской расписки
KUNNR Номер дебитора
DATE_FROM Дата с(необязательный)
DATE_TO Дата по(необязательный)
MAX Максимальное количество ответов(необязательный)

Поля ответа:
ПолеОписание
XBLNR Номер АВР
NETWR Сумма без НДС
MWSBP НДС
FKDAT Дата АВР
WAERS Валюта
ERDAT Дата ЭР
VbelvNetwr Сумма ЭР

Пример запроса:
https://tk-kit.com/API.1.1?f=get_avr&ILogin=i0000000000&IHash=45963b8bd0f913d29b6d17676f6414f8424d72be&IKunnr=0000000000&nocache&date_from=07.02.2015&date_to=15.04.2015&max=1


Пример ответа:
{
    "EInv": {
        "item": [
            {
                "Fkdat": "2015-04-14",
                "Fksto": "",
                "Group": "",
                "Mwsbp": "17.28",
                "Netwr": "1600.72",
                "Waers": "RUB",
                "Xblnr": "0000000070"
            }
        ]
    },
    "EInvMulti": {
        "item": [
            {
                "Erdat": "2015-04-14",
                "Fkdat": "2015-04-14",
                "Fksto": "",
                "Group": "",
                "Waers": "RUB",
                "Xblnr": "0000000070",
                "VbelvNetwr": "1618.0",
                "VbelvXblnr": "ЕКБМСК0010867206"
            }
        ]
    }
}


Функция get_order_info

Назначение: Возвращает подробную информацию о заказе

Поля запроса:
ПолеОписание
ILOGIN Логин пользователя
IHASH Хэш пароля пользователя. См get_hash
KUNNR Номер дебитора
XBLNR Номер груза

Поля ответа:
ПолеОписание
SUMMA Полная сумма заказа с НДС
CHARACT характер груза
KWMENG общее кол-во груза в заказе
VRKME единица измерения кол-ва груза
BRGEW общий вес груза в заказе
GEWEI единица измерения веса
VOLUM общий объем груза в заказе
VOLEH единица измерения объема
TEMP_MKWMENG температурный режим
POSNR номер позиции в заказе
ARKTX наименование позиции
KWMENG кол-во для позиции
VRKME единица измерения кол-ва
NETWR цена с ндс для позиции
NETWS сумма с ндс для позиции
MWSBP сумма налога для позиции
WAERK валюта
KUNNR номер дебитора-плательщика по позиции
PAYTX наименование дебитора-плательщика по позиции
NDS размер ндс

Пример запроса:
https://tk-kit.com/API.1.1?f=get_order_info&ILogin=i0000000000&IHash=45963b8bd0f913d29b6d17676f6414f8424d72be&Kunnr=0000000000&XBLNR=1101173377


Пример ответа:
{
    "SUMM": "170.0",
    "E_SER": {
        "item": [
            {
                "NDS": "18.00",
                "Arktx": "Перевозка груза: Екатеринбург-Пермь",
                "Kunnr": "0001000000",
                "Mwsbp": "25.93",
                "Netwr": "170.0",
                "Netws": "170.0",
                "PAYTX": "ООО ООО",
                "Posnr": "000001",
                "Vrkme": "PL",
                "Waerk": "RUB",
                "Kwmeng": "1.0"
            }
        ]
    },
    "E_GINF": {
        "item": [
            {
                "Brgew": "10.0",
                "Gewei": "KG",
                "TempM": "Не требуется",
                "Voleh": "M3",
                "Volum": "0.001",
                "Vrkme": "PL",
                "Kwmeng": "1.0",
                "Charact": ""
            }
        ]
    }
}


Получение ключа доступа

Для получения ключа доступа перейдите по ссылке и зполните форму.

Техническая поддержка