Flippost API

Доступ к API осуществляется через запросы к скрипту api.php, базовая часть URL та же, что и у этого файла.

Например:

этот файл - http://web.flippost.com/fp/client/api.htm

API - http://web.flippost.com/fp/client/api.php

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

.../api.php?dbAct=<action>&param1=value1&..paramN=valueN
- action - тип запроса к API
- param1.. paramN – парамеры

Отправка параметров на api.php возможна методами как GET, так и POST.

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

Ответ приходит в формате JSON, следующего вида:

{   "success":false
    ,"msg":"совсем не правильный запрос"
    ,"data":[]
}
- success - признак успеха выполнения запроса, принимает значения true и false.
- msg - текстовое сообщение, комментирующее success, может содержать описание ошибки
- data - массив данных

3. Типы запросов
3.1. getCountries - список стран
3.2. getStates - список областей(штатов) страны
3.3. getCities - список населенных пунктов
3.4. getTarif - стоимость доставки отправления
3.5. getWb - Информация по накладной
3.6. getWbEx - Исключения по накладной
3.7. getTrackInfo - Информация для отслеживания накладной

3.1. getCountries

api.php?dbAct=getCountries

Возвращает список стран. Доп параметров нет.

{   "success":true
    ,"msg":"ok"
    ,"data":[{"code":"AU","country":"Австралия"}
            ,{"code":"AT","country":"Австрия"}
            ,...]
}

3.2. getStates

api.php?dbAct=getStates&country=<countyCode>

Возвращает список областей(штатов) страны <countyCode>.

<countyCode> - код страны, возвращаемый запросом getCountries, по-умолчанию 'RUS' (необязательный)

{   "success":true
    ,"msg":"ok"
    ,"data":[{"ccode":"RUS","state":"Адыгея"}
            ,{"ccode":"RUS","state":"Алтайский"}
            ,...]
}

3.3. getCities

api.php?dbAct=getCities&country=<countyCode>&state=<stateName>&city=<cityStarts>

Возвращает список населенных пунктов, отфильтрованный по <countyCode>, <stateName> и <cityStarts>.
- <countyCode> - код страны, возвращаемый запросом getCountries, по-умолчанию '' (необязательный)
- <stateName> - наименование области, возвращаемое запросом getStates, по-умолчанию '' (необязательный)
- <cityStarts> - первые символы названия нас.пункта, по-умолчанию '' (необязательный)

Пример: api.php?dbAct=getCities&city=уф

{   "success":true
    ,"msg":"ok"
    ,"data":[{"code":"UFA","city":"Уфа","country":"Россия","state":"Башкортостан","fullname":"Уфа, Россия, Башкортостан"}
            ,{"code":"UFA00","city":"Уфа-74","country":"Россия","state":"Башкортостан","fullname":"Уфа-74, Россия, Башкортостан"}
            ,{"code":"DE1","city":"Уффенхайм","country":"Германия","state":"Бавария","fullname":"Уффенхайм, Германия, Бавария"}]
}

3.4. getTarif

api.php?dbAct=getTarif&org=<orgCityCode>&dest=<destCityCode>&weight=<weight>

Где:
- <orgCityCode> - код нас.пункта(code) отправителя, возвращаемый запросом getCities, по-умолчанию 'MOW' (необязательный)
- <destCityCode> - код нас.пункта(code) получателя, возвращаемый запросом getCities, по-умолчанию 'MOW' (необязательный)
- <weight> - вес отправления в кг, по-умолчанию 0.1 (необязательный)

Возвращает:
- tarif - стоимость доставки отправления в рублях
- delivery - срок доставки в днях
- deliverymin - минимальный срок доставки в днях

Пример: api.php?dbAct=getTarif&org=MOW&dest=VOZ&weight=2.7

{
	"success": true,
	"msg": "ok",
	"data": [{
		"tarif": "669.00",
		"delivery": 2,
		"org": "MOW",
		"dest": "VOZ",
		"weight": 2.7,
		"deliverymin": 1
	}]
}

3.5. getWb

Информация по накладной

api.php?dbAct=getWb&wbno=<wbno>

Где:
- <wbno> - номер накладной

Возвращает:
- wbno - номер накладной
- shipper - отправитель
- cnee - получатель
- dateacc - дата принятия накладной
- dtd - расчетная дата доставки
- dod - фактическая дата доставки
- rcpn - кто получил
- senddate - дата включения накладной в манифест
- org - код города отправителя
- dest - код города получателя
- scity - город отправителя
- rcity - город получателя
- trackinfo - информация для отслеживания

Пример: api.php?dbAct=getWB&wbno=99-0087856

{
	"success" : true,
	"msg" : "ok",
	"data" : [{
			"wbno" : "99-0087856",
			"shipper" : "ИВАНОВСКАЯ СЛУЖБА ДОСТАВКИ ООО",
			"cnee" : ".",
			"dateacc" : "Aug  7 2015 12:00:00:000AM",
			"dtd" : "Aug 11 2015 12:00:00:000AM",
			"dod" : "Aug 10 2015 01:25:00:000PM",
			"rcpn" : "Кудряшова",
			"senddate" : "Aug  7 2015 12:40:08:683PM",
			"org" : "IVO",
			"dest" : "CSY",
			"scity" : "Иваново",
			"rcity" : "Чебоксары",
			"trackinfo" : "10.08.15: Доставлено:  Кудряшова"
		}
	]
}

3.6. getWbEx

Исключения по накладной

api.php?dbAct=getWbEx&wbno=<wbno>

Где:
- <wbno> - номер накладной

Возвращает массив объектов с полями:
- wbno - номер накладной
- raised - дата возникновения ИС
- loc - код места
- excode - код ИС
- exdesc - описание ИС
- dtdchg - отложено до

Пример: api.php?dbAct=getWBEx&wbno=99-0087856

{
	"success" : true,
	"msg" : "ok",
	"data" : [{
			"wbno" : "99-0087856",
			"rptd" : "07.08.2015 00:00",
			"raised" : "07.08.2015 07:22",
			"loc" : "CSY",
			"excode" : "22",
			"exdesc" : "НЕВЕРНО ОФОРМЛЕНЫ СОПРОВОДИТЕЛЬНЫЕ ДОКУМЕНТЫ",
			"dtdchg" : null
		}
	]
}

3.7. getTrackInfo

Информация для отслеживания накладной

api.php?dbAct=getTrackInfo&wbno=<wbno>

Где:
- <wbno> - номер накладной

Возвращает массив объектов с полями:
- id - id
- trackinfo - инфомация для отслеживания
- atime - время
- astatus - статус
- aloc - локация

Пример: api.php?dbAct=getTrackInfo&wbno=99-0087856

{
	"success" : true,
	"msg" : "ok",
	"data" : [{
			"id" : 1,
			"trackinfo" : "06\/08\/15: В пути Иваново - Москва",
			"atime" : "06\/08\/15",
			"astatus" : "В пути ",
			"aloc" : "Иваново - Москва"
		}, {
			"id" : 2,
			"trackinfo" : "07\/08\/15: Прибыло в г.Москва",
			"atime" : "07\/08\/15",
			"astatus" : "Прибыло в г.",
			"aloc" : "Москва"
		}, {
			"id" : 3,
			"trackinfo" : "07\/08\/15: В пути Москва - Чебоксары",
			"atime" : "07\/08\/15",
			"astatus" : "В пути ",
			"aloc" : "Москва - Чебоксары"
		}, {
			"id" : 4,
			"trackinfo" : "10\/08\/15: Прибыло в г.Чебоксары",
			"atime" : "10\/08\/15",
			"astatus" : "Прибыло в г.",
			"aloc" : "Чебоксары"
		}, {
			"id" : 5,
			"trackinfo" : "10\/08\/15 13:25: Доставлено:  Кудряшова",
			"atime" : "10\/08\/15 13:25",
			"astatus" : "Доставлено:  Кудряшова",
			"aloc" : null
		}
	]
}