API
Используя API "EMS Почта России" Вы можете рассчитывать стоимость и сроки доставки автоматически, без участия пользователя.
API доступен по адресу: http://emspost.ru/api/rest/
Формат запроса
- REST
Формат ответа
- JSON
Параметры запроса
- method (обязательно) — вызываемый метод
- callback — необходим для выполнения XSS (Сross Site Sсriрting) запросов, для использования API из JavaScript скриптов. При установке callback=jsonEMSApi результат будет вида:
jsonEMSApi({
"rsp":{
"stat":"ok",
"msg":"successeful"
}
}) - plain — при установки true, в ответе unicode символы не будут кодироваться в соответствии со стандартом JSON, а будут выводиться как есть.
Например, запрос http://emspost.ru/api/rest/?method=ems.test.echo&name=value вернет результат:
{"rsp":{
"stat" : "ok",
"msg" : "successeful"
}}
Методы
- ems.get.locations
- ems.get.max.weight
- ems.calculate
ems.get.locations
Возвращает список городов, регионов или стран из которых и в которые возможна доставка.
Аргументы
- type (обязательный) — тип запрашиваемых местоположений. Может быть: "cities", "regions", "countries" или "russia" (города и регионы)
Например
http://emspost.ru/api/rest/?method=ems.get.locations&type=cities&plain=true
{"rsp":{
"stat":"ok",
"locations":[
{
"value" : "city--abakan",
"name" : "Абакан",
"type" : "cities"
},
{
"value" : "city--anadyr",
"name" : "Анадырь",
"type" : "cities"
},
{
"value" : "city--anapa",
"name" : "Анапа",
"type" : "cities"
},
]
}}
ems.get.max.weight
Возвращает максимальный возможный вес одного отправления
Аргументы
нет
Например
http://emspost.ru/api/rest/?method=ems.get.max.weight
{"rsp":{
"stat" : "ok",
"max_weight" : "31.5"
}}
ems.calculate
Используется для рассчета стоимости исроков доставки
Аргументы
- from (обязательный, кроме международной доставки) — пункт отправления
- to (обязательный) —пункт назначения отправления
- weight (обязательный) — вес отправления
- type (обязательный для международной доставки) — тип международного отправления: "doc" — документы (до 2-ч килограм), "att" — товарные вложения
Например
http://emspost.ru/api/rest?callback=jsonp1236078926969&method=ems.calculate&from=city--moskva&to=region--omskaja-oblast&weight=1
jsonp1236078926969({
"rsp":{
"stat" : "ok",
"price" : "630",
"term":{
"min" : 4,
"max" : 6
}
}
})
В результате
- price — стоимость отправления
- term.min — минимальный срок доставки
- term.max — максимальный срок доставки
Ошибки
При возникновении ошибки выводится реультат вида
{"rsp":{
"stat" : "fail",
"err":{
"code" : 401,
"msg" : "Missed \"type\" param (doc or att)"
}
}}
с указанием кода (err.code) и текста ошибки (err.msg)

