Page tree

Основные параметры API

Боевая и тестовый среды используют разные базы данных. Сущность созданная в одной среде не доступна в другой.

Справочники также имеют разное содержание.

Боевая среда

Боевой API сервис доступен по адресу : https://api.apiship.ru/v1/ 
Интерактивная документация доступна по адресу https://api.apiship.ru/doc/
PHP SDK доступен по адресу https://github.com/apiship/apiship-sdk-php

Тестовая среда

Тестовый API сервис доступен по адресу : http://api.dev.apiship.ru/v1/ 
Интерактивная документация доступна по адресу http://api.dev.apiship.ru/doc/

Логин и пароль для тестов: test 

Как использовать интерактивную документацию


Поддерживаемые форматы данных

Для указания формата данных вашего запроса к API необходимо указать корректное значение для заголовка Content-Type. Для указания формата в котором вы хотите получить ответ необходимо указать значение для заголовка Accept.

Все данные должны быть в кодировке UTF-8

ФорматHttp заголовок для указания формата запросаHttp заголовок для указания формата ответа
jsonContent-Type: application/jsonAccept: application/json
xmlContent-Type: application/xmlAccept: application/xml

Доступные методы

Указаны только описанные в данной документации методы. Полный перечень методов доступен в интерактивной документации https://api.apiship.ru/v1/doc/

Метод

Назначение

POST /loginПолучение токена для авторизации

POST /orders

Асинхронное создание заказа на доставку

Авторизация

С каждым запросом необходимо передавать API токен в http заголовке Authorization. Токен возможно получить методом POST /login

В текщей версии API время жизни токена не проверяется, поэтому вы можете один раз получить токен и использовать его в дальнейшем неограниченное время.

Пример заголовка
Authorization: 57fa8b7cb32530a0405bed4fbc8cb983

Примеры curl запросов

Файлы request.json и request.xml должны содержать тело запроса в json или xml формате соответственно.

## POST запрос json формат
curl -X "POST" "https://api.apiship.ru/v1/<адрес_метода>" \
     -H 'Accept: application/json' \
     -H 'Authorization: <токен_авторизации>' \
     -H 'Content-Type: application/json' \
     -d @request.json
 
 
## POST запрос xml формат
curl -X "POST" "https://api.apiship.ru/v1/<адрес_метода>" \
     -H 'Accept: application/xml' \
     -H 'Authorization: <токен_авторизации>' \
     -H 'Content-Type: application/xml' \
     -d @request.xml

Структура ответа API при ошибках

РазделПараметрОписаниеТипОбязательныйПример

codeКод ошибкиЧислоДа040000

messageОписание типа ошибкиСтрокаДаОшибка валидации

descriptionОписание ошибкиСтрокаНетОбщая ошибка валидации, смотрите документацию

moreInfoДополнительная информацияСтрокаНетВопросы пишите на адрес support@apiship.ru
errors
Массив значенийМассивНет

fieldПоле запроса к которому относится ошибкаСтрокаДаlogin

messageОписание ошибки для поляСтрокаДаАтрибут `login` обязателен для заполнения.

Пример данных ошибки в json формате

{
  "code": "040000",
  "message": "Ошибка валидации",
  "description": "Общая ошибка валидации, смотрите документацию",
  "moreInfo": "Вопросы пишите на адрес support@apiship.ru",
  "errors": [
    {
      "field": "`login`",
      "message": "Атрибут `login` обязателен для заполнения."
    }
  ]
}

Пример данных ошибки в xml формате

<response>
  <code>040000</code>
  <message>Ошибка валидации</message>
  <description>Общая ошибка валидации, смотрите документацию</description>
  <moreInfo>Вопросы пишите на адрес support@apiship.ru</moreInfo>
  <errors>
    <item>
      <field>`login`</field>
      <message>Атрибут `login` обязателен для заполнения.</message>
    </item>
  </errors>
</response>           

Возможные коды ошибок

http код ответаКод ошибки (code)Описание типа ошибки (message)Описание ошибки (description)
403040301Доступ запрещен
403040302Некорректный логин или пароль
403040305Заказ принадлежит другому клиенту'
403040306Служба доставки не поддерживает отмену заказа
400040307Служба доставки не поддерживает отмену заявки
403040308Недостаточно прав для вызова данного метода
403040309Чек принадлежит другому клиенту
401040101Некорректный ключ безопасности
404040080Указанного заказа не существует
400040081Указанный заказ уже отменен
400040082Указанная заявка уже отменена
400040083Указанная заявка не была передана в СД
400040084Заявка не может быть отменена
400040085Чек не был передан в ОФД
400040086Ошибка при получении статуса чека
400040087Указанного чека не существует
400040088Ошибка при создании заказа в СД
400040000Ошибка валидацииОбщая ошибка валидации, смотрите документацию
400040001Ошибка валидацииОшибка валидации при попытке аутентификации
400040002Ошибка валидацииОшибка валидации
400040003Ошибка валидацииОшибка валидации при попытке рассчитать стоимость доставки
400040004Ошибка валидацииНеправильная кодировка. Кодировка должна быть UTF-8
400040005Ошибка валидацииДля Вашей компании нет параметров доступа в данную службы доставки
400040010Ошибка фильтраФильтр не валидный, смотрите документацию
400040011Ошибка фильтраВ фильтре присутвуют поля, по которым фильтрация не осуществляется
400040012Ошибка поля fieldsВ поле fields присуствуют поля, которые не доступны для клиентов
400040013Ошибка поля withВ поле with присуствуют поля, которые не доступны для клиентов или недопустимы
409040901Пользователь с таким логином уже существует
409040902Параметры подключения для данной СД уже созданы
500050001Серверная ошибкаСвяжитесь с администрацией
  • No labels