|
Ключ
Эти линии были удалены. Это слово было удалено.
This word was removed. This word was added.
Эти линии были добавлены. Это слово было добавлено.
|
Комментарий:
Есть 1 изменений. Просмотреть первое изменение .
Просмотр истории страницы


{toc:minLevel=1|maxLevel=4}
----
h3. Методы
* *{{login}}* \- логин. Разрешается только для пользователей в роли API.
* *{{createOrder}}* \- создание заказа.
* *{{getOrderInfo}}* \- получение информации о заказе. Пользователь может получить информацию только о созданных им заказах.
* *{{cancelOrder}}* \- отмена заказа. Пользователь может отменить только созданные им заказы. Отменить можно только заказы, которые находятся в статусе *{{CarSearching}}* или *{{InExchange}}*.
* *{{putInExchange}}* \- размещение заказа для продажи на Бирже заказов.
* *{{getExchangePartnerAccounts}}* \- получение списка служб, которые имеют право покупать на Бирже заказы службы пользователя.
* *{{calculatePriceForAccount}}* \- просчет цены для заданной службы. Служба должен иметь право покупать заказы службы пользователя.
* *{{calculatePriceForAllAccounts}}* \- просчет цены для всех служб, которые имеют право покупать на Бирже заказы службы пользователя.
* *{{openCreateOrderPopupForOperator}}* \- открыть всплывающую форму нового заказа у оператора с указанным номером клиента
\\
h3. HTTP-доступ к методам API
Доступ осуществляется путем HTTP-GET запросов, формат результатов опеределяется параметром *{{output}}*. В данный момент поддерживаемое значение: *{{json}}*. Формат по умолчанию: *{{json}}{*}.
h4. Метод login
h6. URL доступа
*{{/api/login}}*
h6. Параметры
* *{{login}}* \- имя пользователя (без @ и имени службы);
* *{{password}}* \- пароль;
* *{{dsContractNumber}}* \- номер контракта службы.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/login?login=apiTest&password=test&dsContractNumber=1234567
{code}
\\
Ответ при успешной авторизации:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Ответ при неуспешной авторизации:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Authentication failed"}
{code}
h4. Метод сreateOrder
h6. URL доступа
*{{/api/createOrder}}*
h6. Параметры
* *{{phone}}* \- телефон, обязательный параметр;
* *{{fromAddress}}* \- адрес подачи, обязательный параметр;
* *{{fromAddressRemark}}* \- уточнение адреса, опциональный параметр;
* *{{toAddress}}* \- адрес назначения, обязательный параметр, если не указано *{{taximeter}}=true*;
* *{{pathPoint}}* \- промежуточные точки (может быть несколько), опциональный параметр;
* *{{price}}* \- цена, обязательный параметр, если не указано *{{taximeter}}=true*;
* *{{callback}}* \- колбек (может быть несколько), опциональный параметр;
* *{{externalOrderId}}* \- внешний ID заказа, опциональный параметр, может быть в дальнейшем использован для доступа к заказу. Должен быть уникальным в рамках службы;
* *{{serveTime}}* \- время подачи, опциональный параметр, при непустом значении параметра будет создан заказ на время. Допустимые форматы:
** дд.ММ.гггг чч:мм (символ пробел должен быть encode, либо использовать вместо него "+")
** дд.ММ.гггг чч:мм:сс (секунды будут проигнорированы)
** дд.ММ.ггггTчч:мм (символ пробел должен быть encode, либо использовать вместо него "+")
** дд.ММ.ггггTчч:мм:сс (секунды будут проигнорированы)
** дд.ММ.гггг (для обратной совместимости, в будущем поддержка будет прекращена)
* *{{autoprocessable}}* \- флаг, запускающий автообработку заказа. Геокодирование (привязка к адресам) параметров fromAddress, toAddress и pathPoint происходит только при {{autoprocessable=true}}. Опциональный параметр, значение по умолчанию - {{false}};
* *{{driverNote}}* \- комментарий для водителя, опциональный параметр. Будет показан водителю на мобильном клиенте при взятии заказа;
* *{{operatorNote}}* \- комментарий для оператора, опциональный параметр;
* *{{taximeter}}* \- заказ по счетчику (true или false). Если *{{taximeter}}=true*, нельзя указывать *{{toAddress}}* и *{{price}}*. Опциональный параметр, значение по умолчанию - {{false}};
\\
Формат адреса для параметров *{{fromAddress}}* *{{toAddress}}*: <улица>*<пробел>*<номер дома>
\\
Формат колбек-параметра: {{*<eventType>*:*<eventConditions>*:*<callbackUrl>*}}, где:
* *{{<eventType>}}* \- тип события, при котором вызывается колбек. В данный момент единственный поддерживаемый тип события - *{{orderStatusChange}}*;
* *{{<eventConditions>}}* \- условия, проверяемые при возникновении события. Колбек будет вызван только при положительном результате проверки;
* *{{<callbackUrl>}}* \- вызываемый при колбеке URL.
Для события *{{orderStatusChange}}* условия задаются в виде *{{<fromStatuses>-<toStatuses>}}*, где *{{fromStatuses}}* и *{{toStatuses}}* \- один или несолько ID статусов заказа, перечисленные через запятую. Также может быть использован wildcard-символ '*{{\*}}*'. Актуальные статусы заказа приведены в [Приложении 1|#appendix1].
\\
Примеры колбеков:
*{{callback=orderStatusChange:2-11:[http://domain.com/callback1]}}* \- отслеживается переход из *{{CarSearching}}* в *{{Automated}}*
*{{callback=orderStatusChange:\*-2:[http://domain.com/callback2]}}* \- отслеживается переход из любого статуса в *{{CarSearching}}*
*{{callback=orderStatusChange:4,5,6,7-10:[http://domain.com/callback3]}}* \- отслеживается переход из *{{CarDrivesToClient}}*, *{{DriverAwaits}}*, *{{DriverLate}}*, *{{DrivingWithClient}}* в *{{Archived}}*
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/createOrder?phone=0501234657&fromAddress=from&toAddress=to
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"price not specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/createOrder?phone=0501234657&fromAddress=from&toAddress=to&price=54
{code}
Ответ:
{code}
{"orderInfo":{"statusId":11,"price":"54","status":"авто обработка","pathPoints":[],
"fromAddress":"from", "dsName":"etaxi","orderId":"448619","toAddress":"to"},
"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/createOrder?phone=0501234657&fromAddress=from+10&toAddress=to+15&price=10
{code}
Ответ:
{code}
{"orderInfo":{"statusId":2,"price":"10","status":"поиск машины","pathPoints":[],
"clientPhone":"0 (50) 123-46-57","fromAddress":"from 10","dsName":"e(taxi)",
"toAddress":"to 15","orderId":"7733001"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/createOrder?phone=0501234657&fromAddress=from&toAddress=to&pathPoint=path&pathPoint=point&price=124&callback=orderStatusChange%3a*-2%3ahttp%3a%2f%2fdomain.com%2ftoCarSearching&callback=orderStatusChange%3a*-10%3ahttp%3a%2f%2fdomain.com%2ftoArchive&externalOrderId=963852
{code}
Ответ:
{code}
{"orderInfo":{"statusId":11,"price":"124","status":"авто обработка","pathPoints":["path","point"],"fromAddress":"from",
"dsName":"etaxi","orderId":"448621","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
h4. Метод updateOrder
h6. URL доступа
*{{/api/updateOrder}}*
h6. Параметры
* *{{orderId}}* \- ID заказа;
* *{{externalOrderId}}* \- внешний ID заказа;
* *{{phone}}* \- телефон;
* *{{fromAddress}}* \- адрес подачи;
* *{{fromAddressRemark}}* \- уточнение адреса;
* *{{toAddress}}* \- адрес назначения;
* *{{pathPoint}}* \- промежуточные точки (может быть несколько);
* *{{price}}* \- цена;
* *{{serveTime}}* \- время подачи. Допустимые форматы приведены в описании метода {{createOrder}}
* *{{driverNote}}* \- комментарий для водителя;
* *{{operatorNote}}* \- комментарий для оператора;
* *{{taximeter}}* \- заказ по счетчику (true или false). Если *{{taximeter}}=true*, нельзя указывать *{{toAddress}}* и *{{price}}*. Также, если *{{taximeter}}=true*, то *{{toAddress}}* и *{{price}}* будут обнулены, если были указаны ранее. Если заказ был создан с условием *{{taximeter}}=true*, то при изменении на *{{taximeter}}=false* необходимо указать оба параметра *{{toAddress}}* и *{{price}}*. Опциональный параметр, значение по умолчанию - {{false}};
Должен быть задан как минимум один из ID.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/updateOrder
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either orderId or externalOrderId should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/updateOrder?orderId=448621
{code}
Ответ:
{code}
{"orderInfo":{"statusId":2,"price":"54.00","status":"поиск машины","pathPoints":[],"clientPhone":"0 (50) 123-46-57","fromAddress":"from","dsName":"etaxi","toAddress":"to","orderId":"2948035"},"protocolVersion":"1.2.2","responseStatus":"OK"}{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/updateOrder?orderId=448621&price=100
{code}
Ответ:
{code}
{"orderInfo":{"statusId":2,"price":"100","status":"поиск машины","pathPoints":[],"clientPhone":"0 (50) 123-46-57","fromAddress":"from","dsName":"etaxi","toAddress":"to","orderId":"2948035"},"protocolVersion":"1.2.2","responseStatus":"OK"}{code}
\\
h4. Метод getOrderInfo
h6. URL доступа
*{{/api/getOrderInfo}}*
h6. Параметры
* *{{orderId}}* \- ID заказа;
* *{{externalOrderId}}* \- внешний ID заказа, указанный при создании.
Должен быть задан как минимум один из ID.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getOrderInfo
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either orderId or externalOrderId should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getOrderInfo?orderId=448621
{code}
Ответ:
{code}
{"orderInfo":{"statusId":2,"price":"124.00","status":"поиск машины","pathPoints":["path","point"],"fromAddress":"from",
"dsName":"etaxi","orderId":"448621","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getOrderInfo?externalOrderId=963852
{code}
Ответ:
{code}
{"orderInfo":{"statusId":2,"price":"124.00","status":"поиск машины","pathPoints":["path","point"],"fromAddress":"from",
"dsName":"etaxi","orderId":"448621","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Ответ для заказа с назначенным водителем:
{code}
{"orderInfo":{"statusId":17,"serveTime":"06.02.2012 15:00:00","price":"124.00","status":"подтвержден","pathPoints":
"path","point"],"fromAddress":"from","driver":{"car":"Daewoo Lanos","phoneNumber":"0 (44) 555-55-55",
"carNumber":"АА9494ОО","driverId":839,"callsign":"1","carColor":"красный"}, "dsName":"etaxi","orderId":"448620","toAddress":"to"},
"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Ответ для проданного заказа:
{code}
{"orderInfo":{"statusId":13,"price":"54.00","status":"продан","pathPoints":[],"fromAddress":"from","dsName":"etaxi",
"boughtDsOrder":{"statusId":2,"price":"54.00","status":"поиск машины","pathPoints":[],"fromAddress":"from",
"dsName":"Taxin","orderId":"448622","toAddress":"to"},"orderId":"448619","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
h4. Метод cancelOrder
h6. URL доступа
*{{/api/cancelOrder}}*
h6. Параметры
* *{{orderId}}* \- ID заказа;
* *{{externalOrderId}}* \- внешний ID заказа, указанный при создании.
Должен быть задан как минимум один из ID.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/cancelOrder?externalOrderId=963852
{code}
Ответ:
{code}
{"orderInfo":\{"statusId":18,"price":"124.00","status":"отменен","pathPoints":["path","point"],"fromAddress":"from",
"dsName":"etaxi","orderId":"448621","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/cancelOrder?orderId=448620
{code}
Ответ:
{code}
{"responseStatus":"FAIL","errorMsg":"Order cannot be cancelled right now"}
{code}\\
h4. Метод putInExchange
h6. URL доступа
*{{/api/putInExchange}}*
h6. Параметры
* *{{orderId}}* \- ID заказа;
* *{{externalOrderId}}* \- внешний ID заказа, указанный при создании.
Должен быть задан как минимум один из ID.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/putInExchange?orderId=448625
{code}
Ответ:
{code}
{"orderInfo": {"statusId":3,"price":"50.00","fromAddressRemark":"fromRemark","status":"на бирже","pathPoints":[],"fromAddress":"from",
"dsName":"etaxi","orderId":"448625","toAddress":"to"},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/putInExchange?orderId=448625
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Order cannot be sold"}
{code}\\
h4. Метод getExchangePartnerAccounts
h6. URL доступа
*{{/api/getExchangePartnerAccounts}}*
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getExchangePartnerAccounts
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","dsAccounts":[{"id":1,"name":"Служба1"},{"id":2,"name":"Служба2"}]}
{code}
h4. Метод calculatePriceForAccount
h6. URL доступа
*{{/api/calculatePriceForAccount}}*
h6. Параметры
* *{{dsAccountId}}* \- ID службы;
* *{{distance}}* \- расстояние (в километрах).
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/calculatePriceForAccount?dsAccountId=1&distance=20
{code}
Ответ:
{code}
{"price":{"price":"75.00","dsAccount":{"id":1,"name":"Служба1"}},"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/calculatePriceForAccount?dsAccountId=3&distance=20
{code}
Ответ для службы, которая не имеет права покупать заказы на Бирже:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Security error"}
{code}\\
h4. Метод calculatePriceForAllAccounts
h6. URL доступа
*{{/api/calculatePriceForAllAccounts}}*
h6. Параметры
* *{{distance}}* \- расстояние (в километрах).
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/calculatePriceForAllAccounts?distance=20
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","prices":[{"price":"75.00","dsAccount":{"id":1,"name":"Служба1"}},{"price":"69.00","dsAccount":{"id":2,"name":"Служба2"}}]}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/calculatePriceForAccount?dsAccountId=3&distance=20
{code}
Ответ для службы, которая не имеет права покупать заказы на Бирже:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Security error"}
{code}\\
h4. Метод getDrivers
h6. URL доступа
*{{/api/getDrivers}}*
h6. Пример запроса
Запрос:
{code}
http://stage.etaxi.ua/api/getDrivers
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","drivers":[{"driverId":1111,"callsign":"1"},{"driverId":2222,"callsign":"2"}]}
{code}
\\
h4. Метод getDriverInfo
h6. URL доступа
*{{/api/getDriverInfo}}*
h6. Параметры
* *{{driverId}}* \- ID водителя;
* *{{driverCallsign}}* \- позывной водителя.
Должен быть задан или {{driverId}}, или {{driverCallsign}}.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverInfo
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either driverId or driverCallsign should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverInfo?driverId=1111
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","driverInfo":{"car":"Daewoo Lanos","status":"занят","carYear":1970,"callsign":"1","homePhone":"0 (44) 987-65-43","info":"good driver","phoneNumber":"0 (50) 546-54-65","address":"Крещатик 1","name":"Захаренко Иван Петрович","driverId":1111,"carNumber":"АА1111АА","carColor":"красный","carBodyType":"седан"}}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverInfo?driverCallsign=1
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","driverInfo":{"car":"Daewoo Lanos","status":"занят","carYear":1970,"callsign":"1","homePhone":"0 (44) 987-65-43","info":"good driver","phoneNumber":"0 (50) 546-54-65","address":"Крещатик 1","name":"Захаренко Иван Петрович","driverId":1111,"carNumber":"АА1111АА","carColor":"красный","carBodyType":"седан"}}
{code}
\\
h4. Метод getDriverBalanceInfo
h6. URL доступа
*{{/api/getDriverBalanceInfo}}*
h6. Параметры
* *{{driverId}}* \- ID водителя;
* *{{driverCallsign}}* \- позывной водителя.
Должен быть задан или {{driverId}}, или {{driverCallsign}}.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverBalanceInfo
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either driverId or driverCallsign should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverBalanceInfo?driverId=1111
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","driverBalanceInfo":{"balance":"117.98","driverId":1111}}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getDriverBalanceInfo?driverCallsign=1
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","driverBalanceInfo":{"balance":"117.98","driverId":1111}}
{code}
h4. Метод chargeDriver
h6. URL доступа
*{{/api/chargeDriver}}*
h6. Параметры
* *{{driverId}}* \- ID водителя;
* *{{driverCallsign}}* \- позывной водителя;
* *{{balanceDelta}}* \- сумма изменения баланса, обязательный параметр;
* *{{balanceDelta}}* \- сумма изменения баланса, обязательный параметр;
* *{{comment}}* \- комментарий к пополнению баланса.
Должен быть задан или {{driverId}}, или {{driverCallsign}}.


h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/chargeDriver
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either driverId or driverCallsign should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeDriver?driverId=1111
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"balanceDelta not specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeDriver?driverId=1111&balanceDelta=test
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Invalid balanceDelta format"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeDriver?driverId=1111&balanceDelta=20.59&comment=test
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","driverBalanceInfo":{"balance":"138.57","driverId":839}}
{code}
\\
h4. Метод getClients
h6. URL доступа
*{{/api/getClients}}*
h6. Пример запроса
Запрос:
{code}
http://stage.etaxi.ua/api/getClients
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clients":[{"identity":"Общество Звезда","clientId":281},{"identity":"Василий","clientId":278}]}
{code}
\\
h4. Метод getClientInfo
h6. URL доступа
*{{/api/getClientInfo}}*
h6. Параметры
* *{{clientId}}* \- ID клиента;
* *{{clientIdentity}}* \- идентификатор клиента.
Должен быть задан или {{clientId}}, или {{clientIdentity}}.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getClientInfo
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either clientId or clientIdentity should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getClientInfo?clientId=278
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clientInfo":{"identity":"Василий","name":"Василий","cash":true,"surname":"Петров","allowBonuses":true,"agent":true,"clientId":278,"phones":["0 (44) 111-11-11"]}}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getClientInfo?clientIdentity=%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clientInfo":{"identity":"Василий","name":"Василий","cash":true,"surname":"Петров","allowBonuses":true,"agent":true,"clientId":278,"phones":["0 (44) 111-11-11"]}}
{code}
\\
h4. Метод getClientBalanceInfo
h6. URL доступа
*{{/api/getClientBalanceInfo}}*
h6. Параметры
* *{{clientId}}* \- ID клиента;
* *{{clientIdentity}}* \- идентификатор клиента.
Должен быть задан или {{clientId}}, или {{clientIdentity}}.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/getClientBalanceInfo
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either clientId or clientIdentity should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getClientBalanceInfo?clientId=278
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clientBalanceInfo":{"balance":"-144.00","clientId":278}}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/getClientBalanceInfo?clientIdentity=%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clientBalanceInfo":{"balance":"-144.00","clientId":278}}
{code}
\\
h4. Метод chargeClient
h6. URL доступа
*{{/api/chargeClient}}*
h6. Параметры
* *{{clientId}}* \- ID клиента;
* *{{clientIdentity}}* \- идентификатор клиента;
* *{{balanceDelta}}* \- сумма изменения баланса, обязательный параметр.
Должен быть задан или {{clientId}}, или {{clientIdentity}}.
h6. Примеры запросов
Запрос:
{code}
http://stage.etaxi.ua/api/chargeClient
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either clientId or clientIdentity should be specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeClient?clientId=278
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"balanceDelta not specified"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeClient?clientId=278&balanceDelta=test
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"Invalid balanceDelta format"}
{code}
\\
Запрос:
{code}
http://stage.etaxi.ua/api/chargeClient?clientId=278&balanceDelta=200.05
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK","clientBalanceInfo":{"balance":"56.05","clientId":278}}
{code}
\\
h4. Метод openCreateOrderPopupForOperator
h6. URL доступа
*{{/api/openCreateOrderPopupForOperator}}*
h6. Параметры
* *{{operatorLogin}}* \- логин оператора, который получит всплывающую форму нового заказа;
* *{{operatorExternalId}}* \- идентификатор оператора, который задается в Настройки - Пользователи - Создать или выбрать пользователя - поле *Extension*;
* *{{phone}}* \- номер телефона, который будет подставлен в всплывающей форме нового заказа, обьязательный параметр.
Должен быть задан или {{operatorLogin}}, или {{operatorExternalId}}
*Важно!* всплывающая форма нового заказа появляется только в случае, если пользователь находиться в разделе _*Заказы*_
*Важно!* формат номера телефона передаваемого в URL должен соответствовать виду 063... 050... и т.п., тогда он корректно будет отображен в форме заказа.
h6. Примеры запросов
Подробный пример: [ETAXI:How to. Метод openCreateOrderPopupForOperator]
Запрос:
{code}
https://stage.etaxi.ua/api/openCreateOrderPopupForOperator
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"FAIL","errorMsg":"either operatorLogin or operatorExternalId should be specified"}
{code}
\\
Запрос:
{code}
https://stage.etaxi.ua/api/openCreateOrderPopupForOperator?operatorLogin=manager&phone=0661234567
{code}
Ответ:
{code}
{"protocolVersion":"1.2.2","responseStatus":"OK"}
{code}
\\
\\
{anchor:appendix1}
h3. Примеры
h4. Пример HTTP-сессии на PHP
h6. Пример кода на PHP (получить всех клиентов с помощью API):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " https://stage.etaxi.ua/api/login?login=login&password=pass&dsContractNumber=0000000
");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "https://stage.etaxi.ua/api/getClients");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_exec($ch);
curl_close($ch);
\\
\\
\\
h3. Приложение 1. Статусы заказа
|| ID || Статус ||
| 1 | Preliminary |
| 2 | CarSearching |
| 3 | InExchange \\ |
| 4 | CarDrivesToClient |
| 5 | DriverAwaits |
| 6 | DriverLate |
| 7 | DrivingWithClient |
| 8 | ExchangeFailed |
| 9 | ExchangeSuccess |
| 10 | Archived |
| 11 | Automated |
| 12 | Booked |
| 13 | Sold |
| 14 | AutopurchaseFailed |
| 15 | WebOrderFailed |
| 16 | New |
| 17 | ReadyForExecution |
| 18 | ApiOrderCancelled |
| 19 | WaitingForPayment |
h3. Приложение 2. Changelog
||Версия 1.2.2||
|+ параметр *{{taximeter}}*
|+ метод *{{openCreateOrderPopupForOperator}}*
||Версия 1.2.1||
|+ метод *{{updateOrder}}*
||Версия 1.2||
|+ параметр *{{autoprocessable}}* в методе *{{createOrder}}*
|+ параметр *{{driverNote}}* в методе *{{createOrder}}*
|+ параметр *{{operatorNote}}* в методе *{{createOrder}}*
|+ метод *{{getDrivers}}*
|+ метод *{{getDriverInfo}}*
|+ метод *{{getDriverBalanceInfo}}*
|+ метод *{{chargeDriver}}*
|+ метод *{{getClients}}*
|+ метод *{{getClientInfo}}*
|+ метод *{{getClientBalanceInfo}}*
|+ метод *{{chargeClient}}*
||Версия 1.1.1||
|\* формализирован формат параметра *{{serveTime}}* в методе *{{createOrder}}*
||Версия 1.1||
|+ параметр *{{serveTime}}* в методе *{{createOrder}}*
+ метод *{{getExchangePartnerAccounts}}*
+ метод *{{calculatePriceForAccount}}*
+ метод *{{calculatePriceForAllAccounts}}*
+ поле *{{protocolVersion}}* в результатах выполнения методов|