API_OTC v0.4

advertisement
API ЭТП OTC-tender для
осуществления
коммерческих закупок и
закупок в соответствии с
нормами 223 ФЗ
Адрес сервиса: http://services.publicapi.otc-tender.ru/OtcWebService.svc
Тестирование методов сервиса: http://publicapi.otc-tender.ru
Informicus © 2013
Оглавление
ЛИСТ ИЗМЕНЕНИЙ ............................................................................................................... 3
1
ВЗАИМОДЕЙСТВИЕ С ВЕБ-СЕРВИСОМ .................................................................... 4
1.1.
Назначение ................................................................................................................ 4
1.2.
Протоколы взаимодействия ..................................................................................... 4
1.3.
Пример обращения ................................................................................................... 4
1.4.
Обработка ошибок..................................................................................................... 4
2
МЕТОДЫ API.................................................................................................................. 6
2.1.
Аутентификация и авторизация ............................................................................... 6
2.2.
Получение списка закупок (лотов) ........................................................................... 6
2.3.
Получение карточки закупки (лота) по номеру........................................................ 7
2.4.
Получение документов по закупке (лоту) ................................................................ 7
2.5.
Получение документа ............................................................................................... 8
2.6.
Регистрация документов........................................................................................... 8
2.7.
Получение файлов .................................................................................................... 9
2.8.
Выгрузка неподписанных документов на ЭТП ...................................................... 10
2.9.
Установка флага просмотра документа в значение “true”.................................... 10
3
ПЕРЕЧЕНЬ СХЕМ СТРУКТУРЫ ПЕРЕДАВАЕМЫХ ДАННЫХ ................................. 12
API ЭТП OTC-tender
Informicus © 2013
Page 2 of 12
ЛИСТ ИЗМЕНЕНИЙ
Автор
Дата
Причина внесения изменений
1.
API ЭТП OTC-tender
Informicus © 2013
Page 3 of 12
1 ВЗАИМОДЕЙСТВИЕ С ВЕБ-СЕРВИСОМ
1.1.
Назначение
API может быть использован для интеграции внешних систем с электронной площадкой OTC-Tender.
Заказчики могут использовать API для:

Получения информации о своих процедурах

Получения информации о заявках и поданных ценовых предложениях

Регистрации документов на площадке (протоколов, контрактов)

Регистрации новых процедур (черновиков процедур).
1.2.
Протоколы взаимодействия
Взаимодействие с сервисом осуществляется по протоколу WS-I Basic Profile 1.1 (SOAP 1.1). Данный
документ содержит описание механизма взаимодействия внешних систем и сервиса по данному
протоколу.
1.3.
Пример обращения
Ниже приведён пример вызова одного из методов RegisterDocument, вызванного для регистрации
итогового протокола закупки:
WebServiceResponse protocolResponse = _client.RegisterDocument(_sessionToken, _xml, null,
"FinalProtocol");
где sessionToken – token, получаемый после авторизации (ввода логина и пароля пользователя), _xml –
текст в формате xml, сформированный по схеме FinalProtocol.xsd, FinalProtocol – один из типов
регистрируемых документов (подробнее будет описано ниже).
В результате обращения к сервису в качестве выходных данных будут получены:

response.Status – 0, в случае если при обращении не возникло ошибки, или номер ошибки, в
случае возникновения ошибки при обращении к сервису

response.Description:

1.4.
o
описание ошибки, в случае возникновения ошибки при обращении к сервису
o
описание успешного вызова метода (например, "Документ успешно зарегистрирован" в
случае успешного вызова RegisterDocument)
response.Response – выходные параметры вызываемого метода (например, идентификатор
зарегестрированного документа в случае вызова метода RegisterDocument).
Обработка ошибок
При обращении к веб-сервису системы необходимо обрабатывать возвращаемые значения для
корректного определения статуса запроса. Возвращаемые ошибки состоят из двух значений: номера
ошибки и её описания. Номер ошибки содержится в поле Status, описание - в Description. В случае, если
запрос завершился без ошибок, значение Status будет равным 0, в поле Description будет содержаться
запрашиваемая информация. При возникновении ошибки поле Status будет содержать значение -1 в
случае технических неполадок, либо -11, если запрошенные данные не могут быть выданы.
WebServiceResponse response = _client.GetDocuments(_sessionToken, query, 1, 100);
API ЭТП OTC-tender
Informicus © 2013
Page 4 of 12
if (response.Status != 0)
{
Console.Write(String.Format("[\{0\}] error:\{1\}", response.Status, response.Description));
return null;
}
Пример 1. Обработка сообщения об ошибке
В сообщении об ошибке содержится xml с описанием ошибки вида:
<Errors>
<Error>
<ErrorMessage>Текст ошибки</ErrorMessage>
</Error>
<Error>
<ErrorMessage>Текст ошибки 2</ErrorMessage>
</Error>
</Errors>
Это значение можно разобрать, используя стандартные средства работы с xml, и вывести
соответствующее сообщение пользователю.
API ЭТП OTC-tender
Informicus © 2013
Page 5 of 12
2 МЕТОДЫ API
API включает следующие методы:

Authorization

GetPurchases

GetPurchaseByNum

GetDocuments

GetDocument

RegisterDocument

GetFile

GetFileEX

UploadDocWithoutSignValidation

ConfirmDocumentView
2.1.
Аутентификация и авторизация
Для обращения к сервисам API необходимо использовать авторизационный ключ (токен). Полученный
токен должен передаваться в cookie запроса. Имя cookie – token.
Имя метода: Authorization
Входные параметры:
Параметр
Тип
Обязательный
Описание
userLogin
String
Да
Логин пользователя
userPassword
String
Да
Пароль пользователя
Проверка входных данных: контроль аутентификационной информации переданной во входных
параметрах.
Выходные параметры:
Параметр
Тип
Обязательный
Описание
token
String
Да
token сессии
2.2.
Получение списка закупок (лотов)
Имя метода: GetPurchases
Предварительные условия: получен token методом Authorization.
Входные параметры:
Параметр
Тип
Обязательный
Описание
Token
String
Да
token сессии
Выходные параметры:
API ЭТП OTC-tender
Informicus © 2013
Page 6 of 12
Параметр
Тип
Обязательный
Описание
Lots
String
Да
xml-файл со списком закупок (лотов),
сформированный по схеме Lots.xsd
2.3.
Получение карточки закупки (лота) по номеру
Имя метода: GetPurchaseByNum
Предварительные условия:

получен token методом Authorization.

получен идентификатор закупки/лота методом GetPurchases.
Входные параметры:
Параметр
Тип
Обязательный
Описание
Token
String
Да
token сессии
purchId
String
Да
Идентификатор закупки (лота)
Параметр
Тип
Обязательный
Описание
purchase
String
Да
Xml-файл с описанием лота, структура
которого определяется схемой
Procedure.xsd, в которой в массиве
передаваемых лотов будет только лот с
запрашиваемым идентификатором.
Выходные параметры:
2.4.
Получение документов по закупке (лоту)
Имя метода: GetDocuments.
Предварительные условия:

получен token методом Authorization.

получен идентификатор закупки (лота) методом GetPurchases.
Входные параметры:
Параметр
Тип
Обязательный
Описание
token
String
Да
Token сессии
pageNumber
Integer
Номер страницы
pageSize
Integer
Количество документов на одной странице
query
String
Да
Запрос в формате xml. Описан в схеме
methodInputs.xsd.
Параметр
Тип
Обязательный
Описание
documents
String
Да
Список документов.
Выходные параметры:
Сценарии использования метода:
API ЭТП OTC-tender
Informicus © 2013
Page 7 of 12






2.5.
Получение поданных заявок по лоту: необходимо в запросе указать тип документа Requests
Получение первых частей заявок, для закупок площадки OTC-tender, если выбранный способ
определения поставщика предполагает подачу зачвки в двух частях: необходимо в запросе
указать тип документа Requests14
Получение вторых частей заявок, для закупок площадки OTC-tender, если выбранный способ
определения поставщика предполагает подачу зачвки в двух частях: необходимо в запросе
указать тип документа Requests24
Получение запросов на разъяснение и опубликованных по запросам разъяснений: необходимо в
запросе указать тип документа Clarifications.
Получение полного списка ценовых предложений, поданных в ходе проведения торга (для
аукционов и редукционов) или переторжки: необходимо в запросе указать тип
ReductionParticipantPrices.
Получение договора: необходимо в запросе указать тип документа Contract.
Получение документа
Имя метода: GetDocument
Предварительные условия:

получен token методом Authorization.

получен идентификатор документа методом GetDocuments.
Входные параметры:
Параметр
Тип
Обязательный
Описание
token
String
Да
Token сессии
docimentid
Integer
Да
Идентификатор документа
Параметр
Тип
Обязательный
Описание
document
String
Да
Xml в соответсвии с одной из схем в
зависимости от запрашиваемого типа.
Выходные параметры:
2.6.
Регистрация документов
Имя метода: RegisterDocument
Предварительные условия: получен token методом Authorization.
Входные параметры:
Параметр
Тип
Обязательный
Описание
Token
String
Да
token сессии
documentType
String
Да
Тип документа:
 Notice – извещение. Регистрируя
документ с таким типом возможна
публикация извещения (черновока
процедуры).
 Протоколы. Через регистрацию
протокола возможно провести:
API ЭТП OTC-tender
Informicus © 2013
Page 8 of 12
рассмотрение заявок (рассмотрение
первых и вторых частей заявок),
оценку, подведение итогов и
опубликовать протоколы по
процедуре.
o ConsiderationProtocol
o ConsiderationReductionProtocol
o EstimateProtocol
o SecondPartsProtocol
o ReductionFinalProtocol
o FinalProtocol




RefuseLot – ругистрация протокола
отказа от лота.
RefuseProcedure – регистрация
протокола отказа от процедуры.
Contract – регистрация контракта
ContractSendFotRevision – протокол
разногласий
String
Да
Описание документа в формате xml по схеме:
 Notice – Procedure.xsd
 Протоколы (наименования схем xsd
совпадают с наименованием типов
протоколов).
 RefuseLot – RefuseLot.xsd
 RefuseProcedure – RefuseProcedure.xsd
 Contract – Contract.xsd
 Contract SendForRevision ContractSendForRevision.xsd
Параметр
Тип
Обязательный
Описание
documentType
String
Да
Тип документа
documentId
integer
Да
Идентификатор зарегистрированного
документа
Document
Выходные параметры:
Типы регистрируемых протоколов:

ConsiderationProtocol - протокол рассмотрения заявок (протокол рассмотрения первых частей
заявок при проведении аукционов с подачей заявки в двух частях).

ConsiderationReductionProtocol – протокол рассмотрения первых частей при проведении
редукциона.

EstimateProtocol – протокол оценки заявок для процедур, в которых предусмотрена оценка заявок

SecondPartsProtocol – протокол рассмотрения вторых частей заявок для процедур, в которых
осуществляется подача заявки в двух частях

ReductionFinalProtocol- итоговый протокол проведения редукциона

FinalProtocol- итоговый протокол для всех типов процедур, кроме редукциона.
2.7.
Получение файлов
Имя метода: GetFile или GetFileEx
API ЭТП OTC-tender
Informicus © 2013
Page 9 of 12
Предварительные условия:

получен token методом Authorization

получен идентификатор файла GUID.
Входные параметры:
Параметр
Тип
Обязательный
Описание
Token
String
Да
Token сессии
GUID
String
Да
Идентификатор файла
Выходные параметры метода GetFile:
Параметр
Тип
Обязательный
Описание
File
String
Да
Строка в кодировке Base64.
Выходные параметры метода GetFileEx:
Параметр
Тип
Обязательный
Описание
File
Byte[]
Да
Файл в виде массива байт.
2.8.
Выгрузка неподписанных документов на ЭТП
Имя метода: UploadDocWithoutSignValidation
Предварительные условия: получен token методом Authorization.
Входные параметры:
Параметр
Тип
Обязательный
Описание
Token
String
Да
Token сессии
Filename
String
Да
Имя файла
Description
String
filebites
byte[]
Да
Содержимое файла
Параметр
Тип
Обязательный
Описание
GUID
String
Да
Идентификатор файла
Описание
Выходные параметры:
2.9.
Установка флага просмотра документа в значение “true”.
Имя метода: ConfirmDocumentView
Предварительные условия:

получен token методом Authorization.

Получен идентификатор документа методом GetDocuments.
Входные параметры:
API ЭТП OTC-tender
Informicus © 2013
Page 10 of 12
Параметр
Тип
Обязательный
Описание
token
String
Да
Token сессии
Documented
Integer
Да
Идентификатор документа
API ЭТП OTC-tender
Informicus © 2013
Page 11 of 12
3 ПЕРЕЧЕНЬ СХЕМ СТРУКТУРЫ ПЕРЕДАВАЕМЫХ ДАННЫХ
Описание методов включает передачу данных в формате xml по следующим схемам:

Authorization.xsd

FileInfo.xsd

GetAllOKDPIn.xsd

GetAllOKDPOut.xsd

GetCustomerListIn.xsd

GetCustomerListOut.xsd

GetDocumentPurchaseCommentRequestOut.xsd

getdocuments.xsd

GetDocumentsDifferenceProtocolOut.xsd

GetDocumentsIn.xsd

GetDocumentsLotProtocolFilesIn.xsd

GetDocumentsLotProtocolFilesOut.xsd

GetDocumentsOut.xsd

GetDocumentsProtocolCountOut.xsd

GetDocumentsProtocolOut.xsd

GetParticipantExOut.xsd

GetPurchaseByNumOut.xsd

GetPurchaseOut.xsd

GetPurchasesOut.xsd

GetWorkGroupsForCurrentOrganizationAndBusinessOperatorOut.xsd

ModifiedProcudures.xsd

Procedure.xsd

Protocol.xsd

Protocols.xsd

ProtocolType.xsd

UploadDocWithoutSignValidationOut.xsd
API ЭТП OTC-tender
Informicus © 2013
Page 12 of 12
Download