3.2.3.6. Метод CheckContragent
|
|
Метод CheckContragent позволяет по паре ИНН/КПП или по ограниченному списку ИНН/КПП, но не более 20 пар ИНН/КПП в одном запросе и с интервалом не менее 5 секунд получить информацию, является ли организация абонентом Такском по ЭДО. Если у ООО "Такском" есть такой (такие) зарегистрированный абонент (абоненты), то возвращается идентификатор участника ЭДО и информация о его активности (активен/неактивен). Если на одну пару ИНН/КПП зарегистрировано более одного участника ЭДО, то в результате возвращается список всех зарегистрированных идентификаторов.
Абонент считается активным если за предыдущие 6 месяцев зафиксирована его авторизация в кабинете. В ином случае абонент считается неактивным.
Если с указанным ИНН/КПП зарегистрирован роуминговый кабинет (т.е. кабинет с префиксом, отличным от 2AL), то в результате возвращается информация об этом кабинете, но без признака активности.
HTTP-запрос
HTTP-method: POST
Адрес запроса (URI)
| |
https://<server>.taxcom.ru/v<version>/API/CheckContragent
| |
Заголовок запроса
| |
Integrator-Id
|
Идентификатор интеграционного решения. Формат этого идентификатора:
COMPANY_AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA
|
Assistant-Key
|
Маркер временного доступа
|
Тело запроса
| |
Список ИНН и КПП контрагентов в формате XML
|
Успешный HTTP-ответ сервера:
HTTP/1.1 200 OK
XML формат списка контрагентов, используемый методом CheckContragent, совпадает с форматом списка контактов, который описан в п. 2.1.1.3. XML для работы с приглашениями и таблицами данных контрагентов.
Пример XML файла ответа сервера:
<?xml version="1.0" encoding="utf-8"?>
<Contacts xmlns="http://api-invoice.taxcom.ru/contacts">
<Contact>
<Name>"MegaCompany"</Name>
<Inn>5233333323</Inn>
<Kpp>523301001</Kpp>
<EDXClientId>2AL-BAB958BC-9BE5-4C8A-98DF-648E586EDA50-00000</EDXClientId>
<Active>False</Active>
</Contact>
<Contact>
<Name>"SuperCompany"</Name>
<Inn>1231231230</Inn>
<Kpp>523301001</Kpp>
<EDXClientId>2BM-DD1A97E9-44B2-4592-A658-C56577634A00-00000</EDXClientId>
</Contact>
</Contacts>
Пример кода C#
public void CheckContragentDemo (string invitationsList)
{
const string API_srv = @"https://api.taxcom.ru/v1.3/";
XmlDocument XmlResponse = null;
byte[] requestBytes = null;
try
{
requestBytes = File.ReadAllBytes(invitationsList);
}
catch (Exception ex)
{
Assert.Fail ("File not found");
}
try
{
var request = (HttpWebRequest) WebRequest.Create(API_srv + "API/CheckContragent");
request.Headers.Add("Assistant-Key", "session token");
request.Headers.Add("Integrator-Id", "vendor_id");
request.Method = "POST";
request.ContentType = "application/pkcs7-mime";
request.ContentLength = requestBytes.Length;
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Flush();
}
using (var response = request.GetResponse())
using (var responseStream = response.GetResponseStream())
using (var ms = new MemoryStream())
using (var reader = new StreamReader(ms))
{
if (responseStream != null) responseStream.CopyTo(ms);
ms.Position = 0;
XmlResponse = new XmlDocument();
var responsString = reader.ReadToEnd();
if (string.IsNullOrWhiteSpace(responsString))
{
return;
}
XmlResponse.LoadXml(responsString);
}
}
catch (WebException exception)
{
Assert.Fail(exception.ToString());
}
catch (Exception exception)
{
Assert.Fail(exception.ToString());
}
}