Документация по REST сервису Republic Air

URL/METHOD GET POST PUT DELETE
/auth/
--
Login
--
6194099770
/balance/ Получение текущего баланса пользователя
--
--
--
216-529-1985 601-574-9675
--
--
--
(866) 549-3825 outside right
--
--
--
/cart/ (414) 324-0232 Добавление корзины в список Переименование корзины Удаление корзины
/cartitem/
--
202-454-1351 2173013140 3094377140
5412613125 Получение информации о пользователе
--
--
--
3377049530 Получение списка производителей
--
--
--
513-225-6645 Получение сообщений Отправка сообщения
--
--
(510) 525-5781 704-724-6397
--
--
--
hinger 573-557-8675 (513) 970-6848
--
--
/orderline/ Получение строки заказа
--
Запрос на удаление строки заказа
--
cornigerous (931) 352-3442
--
--
--
/search/ 9512139134
--
--
--
/xls/ Получение документов в формате Excel
--
--
--

Auth

Аутенитификация осуществляется по логину/паролю, которые можно получить обратившись в компанию. Если аутентификация успешна, система вам выдаст токен, который необходимо использовать во всех последующих запросах. Количество токенов (сессий), которые можно получить для одного пользователя неограничено. При неактивности токена (сесии) более 15 минут токен (сессия) удаляется.

вверх

POST

Осуществляет вход в систему.

URL:

/api.ra.ae/auth/

Параметры

login - имя пользователя
password - пароль

Ответ:

В случае успешного входа сервер возвращает токен, содержащий восемь символов (букв или цифр). Например: {"Token":"677f07eb"}

Пример использования:
			function  login() {
				$.ajax({
					type: 'POST',
					crossDomain: true,
					data: {login: 'my_login', password: 'my_password'}, 
					dataType: 'json',
					url: '/api.ra.ae/auth/'
				})
				.done(function (data) {
					alert(data.Token);
				})
			}

		
361-516-6559

DELETE

Осуществляет выход из системы.

URL:

/api.ra.ae/auth/<token>

Ответ:

Возвращает true

Пример использования:
			function logout() {
				$.ajax({
					type: 'DELETE',
					crossDomain: true,
					dataType: 'json',
					url: '/api.ra.ae/auth/' + token, 
					data: data
				})
				.done(function (data) {
					token = false;
					alert('Success!');
				})
			}
		
вверх

Balance

Информация о балансе пользователя

вверх

GET

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

URL:

/api.ra.ae/balance/<token>

Ответ:

Возвращает информацию о балансе текущего пользователя. Например:

{
	"Total":-22835.94,
	"NotInvoiced":344.88,
	"NotDebited":0,
	"NotAccepted":285.32
}
		
где

вверх

Box

Получение списка коробок и позиций в них, высланных клиенту

вверх

GET

получение списка коробок.

URL:

/api.ra.ae/box/<token>

Параметры
Ответ:

Возвращает список коробок. Например:

/api.localhost/box/<token>
[
	{
	"Id":100314,
	"BoxN":"H3981",
	"Weight":9.05,
	"ShipmentType":"ICS",
	"Length":149,
	"Width":100,
	"Height":23,
	"Waybill":null,
	"LastUpdateTime":"2014-09-03 15:01:26"
	},
	...
]
			
где

вверх

GET

получение содержимого коробки.

URL:

/api.ra.ae/box/<id>/<token>

Параметры
Ответ:

Возвращает список позиций в коробке. Например:

/api.localhost/box/95369/<token>
[
	{
	"Id":1723942,
	"ManufacturerId":9,
	"PartN":"15208AA100",
	"Substitution":null,
	"Description":"STRAINER ASSY-OIL",
	"Quantity":2,
	"Available":0,
	"Price":5.1,
	"OrderType":"",
	"ShipmentType":"",
	"Remarks":"",
	"PositionConstraint":"",
	"OrderDebited":false,
	"CustomerInvoiceN":null,
	"OrderClosed":false,
	"InternalBoxN":null,
	"TSScanned":null,
	"TSClosed":null,
	"TSInvoiced":null,
	"Problem":"",
	"TSStatusUpdated":null,
	"CloseReasonId":null,
	"CloseReason":null,
	"IsFragile":false,
	"SupplierCode":null,
	"Status":"PENDING",
	"IsPending":true,
	"ClosureRequested":false,
	"LastUpdate":null,
	"OrderId":42859,
	"OrderN":379,
	"InvoiceN":0,
	"Waybill":null,
	"TS":"2016-05-18 17:12:20"
	},
	...
]
			
где

612-727-2145

Cart

Работа со списком корзин пользователя. Обратите внимание, вы не можете менять название или удалять корзину по умолчанию (DefaultCart).

(281) 441-9397

GET

получение списка корзин (включая содержимое).

URL:

/api.ra.ae/cart/[<customerId>/]<token>

Параметры
Ответ:

Возвращает список корзин с содержимым. Например:

/api.localhost/cart/<token>
[
	{
	"Id":-124,
	"Name":"Default cart",
	"Items":[
			{
			"Id":"572815",
			"ManufacturerId":"29",
			"PartN":"15400PLMA01",
			"Description":"\u0424\u0438\u043b\u044c\u0442\u0440 \u043c\u0430\u0441\u043b\u044f\u043d\u044b\u0439",
			"Quantity":1,
			"OrderType":"",
			"ShipmentType":"",
			"Remarks":"!%IVAN",
			"PositionConstraint":"",
			"IsFragile":"0",
			"MaxPriceUSD":3.97,
			"Price":3.97,
			"Weight":"0.210",
			"VolumeWeight":"0.107",
			"SupplierCode":"1"
			},
			...
		]
	},
	...
]
			
где

вверх

POST

Добавляет корзину для указанного клиента. Обратите внимание, корзина создается с название "New cart...", измените название запросом PUT после создания.

URL:

/api.ra.ae/cart/<token>

Параметры URL:
Параметры запроса:
Ответ:

Возвращает идентификатор созданной корзины.

Пример использования:
			function  createCart() {
				$.ajax({
					type: 'POST',
					crossDomain: true,
					data: {"customerId": 124} , 
					dataType: 'json',
					url: '/api.ra.ae/cart/' + token
				})
				.done(function (data) {
					alert('Cart has been created with id ' + data);
				})
			}

		
(306) 631-1803

PUT

Переименовывает корзину.

URL:

/api.ra.ae/cart/<token>

Параметры URL:
Параметры запроса:
Ответ:

Возвращает true, если корзина успешно переименована.

Пример использования:
			function  renameCart() {
				$.ajax({
					type: 'PUT',
					crossDomain: true,
					data: {Id: 1234, Name: 'Cool name for my cart!'}, 
					dataType: 'json',
					url: '/api.ra.ae/cart/' + token
				})
				.done(function (data) {
					alert('Cart has been renamed');
				})
			}

		
вверх

DELETE

Удаляет корзину. Обратите внимание, удалить можно только пустую корзину.

URL:

/api.ra.ae/cart/<token>

Параметры URL:
Параметры запроса:
Ответ:

Возвращает true, если корзина успешно удалена, false в других случаях.

Пример использования:
			function  deleteCart() {
				$.ajax({
					type: 'DELETE',
					crossDomain: true,
					data: { Id: 1234 }, 
					dataType: 'json',
					url: '/api.ra.ae/cart/' + token
				})
				.done(function (data) {
					alert(data ? "Cart has been removed." : "Can't remove cart.");
				})
			}

		
917-641-2198

CartItem

Работа с позициями в корзине.

вверх

POST

Добавляет позицию в корзину.

URL:

/api.ra.ae/cartitem/<token>

Параметры URL:
Параметры запроса:
Ответ:

Возвращает идентификатор созданной строки.

вверх

PUT

Изменяет строку в корзине.

URL:

/api.ra.ae/cartitem/<token>

Параметры URL:
Параметры запроса:
Ответ:

true, если позиция обновлена.

5093277026

DELETE

Удаляет строку из корзины.

URL:

/api.ra.ae/cartitem/<token>

Параметры URL:
Параметры запроса:
Ответ:

true, если позиция удалена.

вверх

Customer

Получение данных о текущем клиенте

вверх

GET

получение сведений о текущем клиенте (о себе).

URL:

/api.ra.ae/customer/<token>

Параметры
Ответ:

Возвращает данные клиента. Например:

/api.localhost/customer/<token>
{
	"Id":124,
	"ParentId":null,
	"Name":"ALEX",
	"FullName":null,
	"Country":"\u041e.\u0410.\u042d.",
	"City":"",
	"IsEnglishSpeaking":false,
	"Level":"1 EXCLUSIVE PLUS",
	"DefaultPercent":18,
	"Balance":-22835.94,
	"Email":"repblair@gmail.com",
	"InvoicesEmail":"repblair@gmail.com",
	"EmailForUpdates":"",
	"SubcustomersContactEmail":"ra@ra-mail.com",
	"Phone":"",
	"Fax":"",
	"SendStatusUpdates":false,
	"SendOtherUpdates":false,
	"AllowToHaveSubcustomers":true,
	"AllowSendOrdersDirectly":false,
	"NotifyParentCustomerOnNewOrder":false,
	"Subcustomers":[{...}, ...]
}
			
где

вверх

Manufacturers

Получение списка производителей

760-704-4872

GET

получение списка производителей.

URL:

/api.ra.ae/manufacturers/<token>

Параметры
Ответ:

Возвращает список производителей. Например:

/api.localhost/manufacturers/<token>
[
	{
	"Id":9,
	"Name":"SU",
	"FullName":"SUBARU"
	},
	....
]
			
где

877-941-3684

Message

Обмен сообщениями.

вверх

GET

получение списка сообщений.

URL:

/api.ra.ae/message/[<id>/]<token>

Параметры
Ответ:

Возвращает последнюю 100 сообщений, если не указан идентификатор или все сообщения, после указанного id. Например:

/api.ra.ae/message/<token>
[
	{
	"Id":3647,
	"FromUser":{
		"Id":1,
		"Name":"Republic Air Group"
		},
	"ToUser":{
		"Id":107,
		"Name":"Alex"
		},
	"Time":"2008-04-30 18:02:00",
	"Subject":"Invoice (1_invoice_ALEX.xls)",
	"Text":"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435,\n\n\t\u0421\u0447\u0435\u0442 1 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438.",
	"File":"1_invoice_ALEX.xls"
	},
	...
]
			
где

6782213215

POST

Отправка сообщения.

URL:

/api.ra.ae/message/<token>

Параметры URL:
Параметры запроса:
Ответ:

Возвращает true, если сообщение сохранено.

Пример использования:
			function  send() {
				$.ajax({
					type: 'POST',
					crossDomain: true,
					data: {message: 'test'}, 
					dataType: 'json',
					url: '/api.ra.ae/message/' + token
				})
				.done(function (data) {
					alert('Test message has been sended!');
				})
			}

		
вверх

Orders

Получение списков заказов клиента

972-918-6492

GET

получение списка заказов клиента. Если идентификатор клиента не указан, будет получен список заказов для текущего клиента.

URL:

/api.ra.ae/orders/[<customerId>/][<limitFrom>/<limitTo>/]<token>

Параметры
Ответ:

Возвращает список заказов. Например:

/api.localhost/orders/<token>
[
	{
	"Id":"p42859",
	"OrderNumber":"379",
	"SubcustomerId":null,
	"SubcustomerOrderNumber":null,
	"Date":"2016-05-18 17:12:20",
	"Description":"",
	"TotalNotOrdered":3,
	"TotalOrdered":0,
	"TotalDebited":0,
	"TotalInWarehouse":0,
	"TotalInvoiced":0,
	"TotalClosed":0,
	"TotalFinished":0,
	"TotalPositions":3,
	"IsPending":true,
	"Status":"PENDING"
	},
	...
]
			
где

вверх

Order

Получение списка позиций в заказе

7148544773

GET

получение списка позиций заказа.

URL:

/api.ra.ae/order/<id>/<token>

Параметры
Ответ:

Возвращает список позиций. Например:

/api.localhost/order/<id>/<token>
[
	{
	"Id":1723942,
	"ManufacturerId":9,
	"PartN":"15208AA100",
	"Substitution":null,
	"Description":"STRAINER ASSY-OIL",
	"Quantity":2,
	"Available":0,
	"Price":5.1,
	"OrderType":"",
	"ShipmentType":"",
	"Remarks":"",
	"PositionConstraint":"",
	"OrderDebited":false,
	"CustomerInvoiceN":null,
	"OrderClosed":false,
	"InternalBoxN":null,
	"TSScanned":null,
	"TSClosed":null,
	"TSInvoiced":null,
	"Problem":"",
	"TSStatusUpdated":null,
	"CloseReasonId":null,
	"CloseReason":null,
	"IsFragile":false,
	"SupplierCode":null,
	"Status":"PENDING",
	"IsPending":true,
	"ClosureRequested":false,
	"LastUpdate":null,
	"OrderId":42859,
	"OrderN":379,
	"InvoiceN":0,
	"Waybill":null,
	"TS":"2016-05-18 17:12:20"
	},
	...
]
			
где

(314) 467-2823

POST

Создает заказ из корзины.

URL:

/api.ra.ae/order/<token>

Параметры URL:
Параметры запроса:
Ответ:

true, если заказ успешно создан.

Пример использования:
			function  createOrder() {
				$.ajax({
					type: 'POST',
					crossDomain: true,
					data: {cartId: -124 /*default cart for customer with id=124*/, remarks: 'something'} , 
					dataType: 'json',
					url: '/api.ra.ae/order/' + token
				})
				.done(function (data) {
					alert('Order has been created!');
				})
			}

		
вверх

Orderline

Работа со строкой заказа.

615-445-1869

GET

получение строки заказа по идентификатору.

URL:

/api.ra.ae/orderline/<id>/<isPending>/<token>

Параметры
Ответ:

Возвращает строку заказа. Например:

/api.localhost/orderline/<123456>/<true>/<token>
[
	{
	"Id":1723942,
	"ManufacturerId":9,
	"PartN":"15208AA100",
	"Substitution":null,
	"Description":"STRAINER ASSY-OIL",
	"Quantity":2,
	"Available":0,
	"Price":5.1,
	"OrderType":"",
	"ShipmentType":"",
	"Remarks":"",
	"PositionConstraint":"",
	"OrderDebited":false,
	"CustomerInvoiceN":null,
	"OrderClosed":false,
	"InternalBoxN":null,
	"TSScanned":null,
	"TSClosed":null,
	"TSInvoiced":null,
	"Problem":"",
	"TSStatusUpdated":null,
	"CloseReasonId":null,
	"CloseReason":null,
	"IsFragile":false,
	"SupplierCode":null,
	"Status":"PENDING",
	"IsPending":true,
	"ClosureRequested":false,
	"LastUpdate":null,
	"OrderId":42859,
	"OrderN":379,
	"InvoiceN":0,
	"Waybill":null,
	"TS":"2016-05-18 17:12:20"
	},
	...
]
			
где

вверх

PUT

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

URL:

/api.ra.ae/orderline/<token>

Параметры URL
Параметры запроса

Примечание. Не обязательно посылать полную строку заказа. Достаточно будет такой структуры данных: {"Id": 123456, "IsPending": true}

Ответ:

Возвращает актуальную строку заказа с изменениями или без. Например:

[
	{
	"Id":1723942,
	"ManufacturerId":9,
	"PartN":"15208AA100",
	"Substitution":null,
	"Description":"STRAINER ASSY-OIL",
	"Quantity":2,
	"Available":0,
	"Price":5.1,
	"OrderType":"",
	"ShipmentType":"",
	"Remarks":"",
	"PositionConstraint":"",
	"OrderDebited":false,
	"CustomerInvoiceN":null,
	"OrderClosed":false,
	"InternalBoxN":null,
	"TSScanned":null,
	"TSClosed":null,
	"TSInvoiced":null,
	"Problem":"",
	"TSStatusUpdated":null,
	"CloseReasonId":null,
	"CloseReason":null,
	"IsFragile":false,
	"SupplierCode":null,
	"Status":"PENDING",
	"IsPending":true,
	"ClosureRequested":false,
	"LastUpdate":null,
	"OrderId":42859,
	"OrderN":379,
	"InvoiceN":0,
	"Waybill":null,
	"TS":"2016-05-18 17:12:20"
	},
	...
]
			
где

630-436-7876

Positions

Список позиций, находящихся в работе

вверх

GET

получение списка позиций, которые находятся в работе.

URL:

/api.ra.ae/positions/<token>

Параметры
Ответ:

Возвращает список позиций. Например:

/api.localhost/positions/<token>
[
	{
	"Id":1723942,
	"ManufacturerId":9,
	"PartN":"15208AA100",
	"Substitution":null,
	"Description":"STRAINER ASSY-OIL",
	"Quantity":2,
	"Available":0,
	"Price":5.1,
	"OrderType":"",
	"ShipmentType":"",
	"Remarks":"",
	"PositionConstraint":"",
	"OrderDebited":false,
	"CustomerInvoiceN":null,
	"OrderClosed":false,
	"InternalBoxN":null,
	"TSScanned":null,
	"TSClosed":null,
	"TSInvoiced":null,
	"Problem":"",
	"TSStatusUpdated":null,
	"CloseReasonId":null,
	"CloseReason":null,
	"IsFragile":false,
	"SupplierCode":null,
	"Status":"PENDING",
	"IsPending":true,
	"ClosureRequested":false,
	"LastUpdate":null,
	"OrderId":42859,
	"OrderN":379,
	"InvoiceN":0,
	"Waybill":null,
	"TS":"2016-05-18 17:12:20"
	},
	...
]
			
где

4243246113

Поиск запчастей в базе данных.

(782) 466-5960

GET

Поиск позиции по номеру.

URL:

/api.ra.ae/search/<token>/<partN>/<includeSubs>

Где
Ответ:

Возвращает список найденых позиций. Например:

/api.localhost/search/<token>/15208AA100/true
[
	{
	"Id":"10135128",
	"SupplierCode":"1",
	"ManufacturerId":9,
	"Manufacturer":"SUBARU",
	"ManufacturerShortName":"SU",
	"PartN":"15208AA100",
	"Description":"STRAINER ASSY-OIL",
	"DescriptionRU":"\u0424\u0438\u043b\u044c\u0442\u0440 \u043c\u0430\u0441\u043b\u044f\u043d\u044b\u0439",
	"AverageSupplyTime":32,
	"AverageSupplyTimeCorrected":25.6,
	"Weight":0.23,
	"IsWeightChecked":true,
	"TS":"2014-09-15",
	"Price":4.8,
	"PriceIncludingShipment":4.8,
	"IsNumberOutdated":"0",
	"VolumeWeight":"0.0571666667",
	"Available":5406,
	"AvailabilityTS":"2014-09-10 15:23:44"
	}
, ...]
			
где

importune