Работа с организациями
С помощью API Диадока можно создавать организации и получать информацию о них. Подробнее возможности работы с организациями описаны ниже.
Регистрация организации
Чтобы начать работу в Диадоке, необходимо создать организацию. Для этого используйте метод Register. Реквизиты новой организации автоматически заполнятся данными из ЕГРЮЛ/ЕГРИП.
Примечание
В Диадоке не может быть несколько организаций с одинаковым ИНН. Метод Register создаст новую организацию только в том случае, если ранее в системе не существовало организации с ИНН из указанного сертификата.
Пример HTTP-запроса метода Register:
POST /Register HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела запроса метода Register:
{
"Thumbprint": "B0E10292B0024E7197A76B741CE0D271FEAD7E10"
}
Пример тела ответа метода Register:
{
"RegistrationStatus": "RegistrationIsCompleted",
"BoxId": "99a4b249-a144-4f11-9d7b-4d84fdb68f8b"
}
В ответе метод вернет статус регистрации и идентификатор ящика созданной организации.
Получение списка организаций пользователя
Каждый пользователь Диадока может быть сотрудником нескольких организаций. Чтобы получить список таких организаций, используйте метод GetMyOrganizations.
Обратите внимание, что в списке будут и организации, доступ к ящикам которых администратор ограничил.
Пример HTTP-запроса метода GetMyOrganizations:
GET /GetMyOrganizations HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа метода GetMyOrganizations:
{
"Organizations": [
{
"OrgIdGuid": "f5758a05-63d1-435e-bc49-79a801d7c275",
"OrgId": "f5758a05-63d1-435e-bc49-79a801d7c275",
"Inn": "1839264655",
"Kpp": "732644841",
"FullName": "Организация 1",
"ShortName": "Организация 1",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "09ae254c5cd0408284de7ccb46d86f82@diadoc.ru",
"BoxIdGuid": "09ae254c-5cd0-4082-84de-7ccb46d86f82",
"Title": "Организация 1",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": true
}
],
"Ogrn": "3071205010489",
"FnsParticipantId": "2BM-1839264655-732644841-202407101103418496883",
"Address": {
"RussianAddress": {
"ZipCode": "987654",
"Region": "66",
"City": "Екатеринбург",
"Street": "Павлодарская",
"Building": "17"
},
"AddressCode": ""
},
"FnsRegistrationDate": "05.12.2024",
"Departments": [
{
"DepartmentId": "6d710055-9b5d-4bc0-ba2f-9e54adda034e",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Дочернее подразделение",
"Abbreviation": "ДП",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
},
{
"DepartmentId": "b651ed54-04d8-4ca8-99b5-960fba733147",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 1",
"Abbreviation": "П1",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
},
{
"DepartmentId": "32cb2cd3-ed3a-403a-b220-7dfd59c757db",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 2",
"Abbreviation": "П2",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
}
],
"IfnsCode": "4312",
"IsPilot": false,
"IsActive": true,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": true,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": true,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
},
{
"OrgIdGuid": "72c3b5bf-3a9f-4fb5-a3ef-112cb2b3a8dc",
"OrgId": "72c3b5bf-3a9f-4fb5-a3ef-112cb2b3a8dc",
"Inn": "6596035297",
"Kpp": "757645784",
"FullName": "Организация 2",
"ShortName": "Организация 2",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "1f208d032a604f6491b1b7aad54cfaf3@diadoc.ru",
"BoxIdGuid": "1f208d03-2a60-4f64-91b1-b7aad54cfaf3",
"Title": "Организация 2",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": true
}
],
"Ogrn": "9130523523154",
"FnsParticipantId": "2BM-6596035297-757645784-202407101104400484330",
"Address": {
"RussianAddress": {
"ZipCode": "620142",
"Region": "66",
"City": "Екатеринбург",
"Street": "Сажинская",
"Building": "11"
},
"AddressCode": ""
},
"FnsRegistrationDate": "05.12.2024",
"Departments": [],
"IfnsCode": "6174",
"IsPilot": false,
"IsActive": true,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": true,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": true,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
}
]
}
Получение информации об организациях
По идентификаторам и реквизитам организации
Получить информацию о любой организации можно с помощью метода GetOrganization. Метод позволяет найти организацию по следующим идентификаторам и реквизитам:
идентификатор организации,
идентификатор ящика,
идентификатор участника ЭДО,
ИНН организации,
КПП организации,
код иностранного налогоплательщика.
Метод возвращает данные только одной организации. Чтобы получить данные всех организаций с одним реквизитом, используйте:
метод GetOrganizationsByInnKpp — для поиска по ИНН;
метод GetOrganizationsByForeignTaxpayerCode — для поиска по коду иностранного налогоплательщика.
Пример HTTP-запроса метода GetOrganization:
GET /GetOrganization?boxid={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа метода GetOrganization:
{
"OrgIdGuid": "f5758a05-63d1-435e-bc49-79a801d7c275",
"OrgId": "f5758a05-63d1-435e-bc49-79a801d7c275",
"Inn": "1839264655",
"Kpp": "732644841",
"FullName": "Организация 1",
"ShortName": "Организация 1",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "09ae254c5cd0408284de7ccb46d86f82@diadoc.ru",
"BoxIdGuid": "09ae254c-5cd0-4082-84de-7ccb46d86f82",
"Title": "Организация 1",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": true
}
],
"Ogrn": "3071205010489",
"FnsParticipantId": "2BM-1839264655-732644841-202407101103418496883",
"Address": {
"RussianAddress": {
"ZipCode": "987654",
"Region": "66",
"City": "Екатеринбург",
"Street": "Павлодарская",
"Building": "17"
},
"AddressCode": ""
},
"FnsRegistrationDate": "05.12.2024",
"Departments": [
{
"DepartmentId": "6d710055-9b5d-4bc0-ba2f-9e54adda034e",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Дочернее подразделение",
"Abbreviation": "ДП",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
},
{
"DepartmentId": "b651ed54-04d8-4ca8-99b5-960fba733147",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 1",
"Abbreviation": "П1",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
},
{
"DepartmentId": "32cb2cd3-ed3a-403a-b220-7dfd59c757db",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 2",
"Abbreviation": "П2",
"Address": {
"RussianAddress": {
"Region": ""
},
"AddressCode": ""
},
"IsDisabled": false
}
],
"IfnsCode": "4312",
"IsPilot": false,
"IsActive": true,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": true,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
}
По ИНН организации
Получить информацию о любой организации, указав ее ИНН, можно с помощью метода GetOrganizationsByInnKpp. Метод может вернуть несколько организаций с одинаковыми ИНН и ИНН-КПП.
Пример HTTP-запроса метода GetOrganizationsByInnKpp:
GET /GetOrganizationsByInnKpp?inn={{inn}}&kpp={{kpp}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа метода GetOrganizationsByInnKpp:
{
"Organizations": [
{
"OrgIdGuid": "9e255d17-f8ce-4bfa-99cf-aa2ce0f4114b",
"OrgId": "9e255d17-f8ce-4bfa-99cf-aa2ce0f4114b",
"Inn": "9208773000",
"Kpp": "920801000",
"FullName": "Общество с ограниченной ответственностью \"Предприятие\"",
"ShortName": "ООО \"Предприятие\"",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "0ff0804922e14450b23449dad7a7762@diadoc.ru",
"BoxIdGuid": "0ff08049-22e1-4450-b234-49dad7a7762",
"Title": "ООО \"Предприятие\"",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": false
}
],
"Ogrn": "9045162480277",
"FnsParticipantId": "2BM-920801001-920801001-201910290427107624171",
"Address": {
"RussianAddress": {
"ZipCode": "920459",
"Region": "92",
"City": "Вологда",
"Street": "ул Речная",
"Building": "3",
"Apartment": "9/1"
},
"AddressCode": ""
},
"Departments": [],
"IfnsCode": "9210",
"IsPilot": false,
"IsActive": false,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": false,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
}
]
}
По списку ИНН организаций
Получить информацию о нескольких организациях, указав список ИНН, можно с помощью метода GetOrganizationsByInnList (V2). Метод также возвращает статус контрагентов в Диадоке.
Пример HTTP-запроса метода GetOrganizationsByInnList:
POST /V2/GetOrganizationsByInnList?myBoxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела запроса метода GetOrganizationsByInnList:
{
"InnList" :
[
"2572107000",
"0879699000",
"4417678000"
]
}
Пример тела ответа метода GetOrganizationsByInnList:
{
"Organizations": [
{
"Organization": {
"OrgIdGuid": "42e386dc-2905-4765-9c9e-dd905ca20197",
"OrgId": "42e386dc-2905-4765-9c9e-dd905ca20197",
"Inn": "2572107000",
"Kpp": "490901000",
"FullName": "Общество с ограниченной ответственностью \"Продавцы\"",
"ShortName": "ООО \"ПРОДАВЦЫ\"",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "ad232c42d3124675878b4a60307530a2@diadoc.ru",
"BoxIdGuid": "ad232c42-d312-4675-878b-4a60307530a2",
"Title": "ООО \"ПРОДАВЦЫ\"",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": false
}
],
"Ogrn": "2158366672935",
"FnsParticipantId": "2BM-2572107160-490901001-201910290427107624171",
"Address": {
"RussianAddress": {
"ZipCode": "685512",
"Region": "25",
"City": "Тверь",
"Street": "ул Ленина",
"Building": "3",
"Apartment": "9"
},
"AddressCode": ""
},
"Departments": [],
"IfnsCode": "4910",
"IsPilot": false,
"IsActive": false,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": false,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
},
"CounteragentStatus": "NotInCounteragentList",
"LastEventTimestampTicks": 0
},
{
"Organization": {
"OrgIdGuid": "3e6bf75d-5994-4006-b7be-16eb3ff34e8c",
"OrgId": "3e6bf75d-5994-4006-b7be-16eb3ff34e8c",
"Inn": "0879699000",
"Kpp": "500101000",
"FullName": "Общество с ограниченной ответственностью \"Комфорт\"",
"ShortName": "ООО \"КОМФОРТ\"",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "c848c38cbba24fb888303b986f3fa353@diadoc.ru",
"BoxIdGuid": "c848c38c-bba2-4fb8-8830-3b986f3fa353",
"Title": "ООО \"КОМФОРТ\"",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": false
}
],
"Ogrn": "5110574500977",
"FnsParticipantId": "2BM-0879699153-772201001-201802140845001411171",
"Address": {
"RussianAddress": {
"ZipCode": "113780",
"Region": "08",
"Street": "ул Октябрьская",
"Building": "9а",
"Block": "7",
"Apartment": "Эт 5 Пом I Ком 5"
},
"AddressCode": ""
},
"Departments": [],
"IfnsCode": "7722",
"IsPilot": false,
"IsActive": false,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": false,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
},
"CounteragentStatus": "NotInCounteragentList",
"LastEventTimestampTicks": 0
},
{
"Organization": {
"OrgIdGuid": "800e19d4-8446-4cbf-95f7-466c7ead7cb4",
"OrgId": "800e19d4-8446-4cbf-95f7-466c7ead7cb4",
"Inn": "4417678000",
"Kpp": "757645000",
"FullName": "Агентство",
"ShortName": "Агентство",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "40fcffc2e1504a27ac6d13a67f2d83aa@diadoc.ru",
"BoxIdGuid": "40fcffc2-e150-4a27-ac6d-13a67f2d83aa",
"Title": "Агентство",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": true
}
],
"Ogrn": "9130523523154",
"FnsParticipantId": "2BM-4417678580-757645784-202407101104400484330",
"Address": {
"RussianAddress": {
"ZipCode": "620142",
"Region": "66",
"City": "Екатеринбург",
"Street": "Московская",
"Building": "11"
},
"AddressCode": ""
},
"FnsRegistrationDate": "05.12.2024",
"Departments": [],
"IfnsCode": "6174",
"IsPilot": false,
"IsActive": true,
"IsTest": false,
"IsBranch": false,
"IsRoaming": false,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "AllOrganizations",
"IsForeign": false,
"HasCertificateToSign": true,
"OrganizationType": "Juridical",
"IsOwner": false,
"Comment": ""
},
"CounteragentStatus": "IsMyCounteragent",
"LastEventTimestampTicks": 638585445988979088,
"MessageToCounteragent": "Примите приглашение к сотрудничеству",
"InvitationDocumentId": {
"MessageId": "215a68d5-28a0-4c6a-b9ec-cdba1530fd49",
"EntityId": "ad810ad2-8d4f-4fd9-9321-5359dfc0a37a"
},
"CounteragentGroupId": "00000000-0000-0000-0000-000000000000"
}
]
}
По базе ФНС
Диадок предоставляет возможность найти участников ЭДО по базе ФНС. Для этого существуют методы SearchFnsParticipants и GetOrCreateRoamingOrganizationByFnsParticipantId.
Чтобы найти участников ЭДО в роуминге по ИНН, КПП или идентификатору участника ЭДО, используйте метод SearchFnsParticipants. Метод возвращает только роуминговых участников: организации Диадока в результат не попадают. Если абонент не найден в ФНС или запретил доступ к своим данным, метод вернет соответствующий статус, а список участников будет пустым.
Пример HTTP-запроса метода SearchFnsParticipants:
POST /SearchFnsParticipants?myBoxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Content-Type: application/json; charset=utf-8
Пример тела запроса метода SearchFnsParticipants:
{
"Inn": "7707083893",
"Kpp": "770701001"
}
Пример тела ответа метода SearchFnsParticipants:
{
"Status": "OkFnsParticipantSearchStatus",
"Participants": [
{
"FnsParticipantId": "2LT-123456789",
"Inn": "7707083893",
"Kpp": "770701001",
"FullName": "Общество с ограниченной ответственностью \"Роуминговый контрагент\""
}
]
}
Чтобы найти или создать роуминговую организацию по идентификатору участника ЭДО, используйте метод GetOrCreateRoamingOrganizationByFnsParticipantId. Если организация с указанным идентификатором участника ЭДО уже есть в Диадоке, метод вернет ее данные; если нет — метод создаст в Диадоке ящик для этой организации со свойством IsRoaming = true.
Пример HTTP-запроса метода GetOrCreateRoamingOrganizationByFnsParticipantId:
POST /GetOrCreateRoamingOrganizationByFnsParticipantId?myBoxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Content-Type: application/json; charset=utf-8
Пример тела запроса метода GetOrCreateRoamingOrganizationByFnsParticipantId:
{
"FnsParticipantId": "2LT-123456789"
}
Пример тела ответа метода GetOrCreateRoamingOrganizationByFnsParticipantId:
{
"OrgIdGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"OrgId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Inn": "7707083893",
"Kpp": "770701001",
"FullName": "Общество с ограниченной ответственностью \"Роуминговый контрагент\"",
"ShortName": "ООО \"Роуминговый контрагент\"",
"JoinedDiadocTreaty": true,
"Boxes": [
{
"BoxId": "b2c3d4e5f6789012abcdef3456789012@diadoc.ru",
"BoxIdGuid": "b2c3d4e5-f678-9012-abcd-ef3456789012",
"Title": "ООО \"Роуминговый контрагент\"",
"InvoiceFormatVersion": "v5_02",
"EncryptedDocumentsAllowed": false
}
],
"Ogrn": "1027700132195",
"FnsParticipantId": "2LT-123456789",
"Address": {
"RussianAddress": {
"ZipCode": "117312",
"Region": "77",
"City": "Москва",
"Street": "Вавилова",
"Building": "19"
},
"AddressCode": ""
},
"Departments": [],
"IfnsCode": "5257",
"IsPilot": false,
"IsActive": true,
"IsTest": false,
"IsBranch": false,
"IsRoaming": true,
"IsEmployee": false,
"InvitationCount": 0,
"SearchCount": 0,
"Sociability": "CounteragentsOnly",
"IsForeign": false,
"HasCertificateToSign": false,
"OrganizationType": "Juridical",
"IsOwner": false,
"ReadyForEpdStatus": "UndefinedEpdStatus",
"Comment": ""
}
Получение списка дополнительных функций организации
Организация может подключить следующие дополнительные функции:
согласующая подпись,
пересылка документов третьей стороне,
отправка документов через промежуточного получателя,
отправка зашифрованных документов,
отправка заблокированных пакетов,
вывод в одном поле наименования товара вместе с кодом, артикулом, характеристикой в печатной форме актов, УПД, счетов-фактур.
Получить список включенных дополнительных функций организации можно с помощью метода GetOrganizationFeatures. Метод также возвращает статус блокировки ящика на отправку документов.
Пример HTTP-запроса метода GetOrganizationFeatures:
GET /GetOrganizationFeatures?boxId={{boxid}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Пример тела ответа метода GetOrganizationFeatures:
{
"BlockStatus": {
"ManualBlockStatus": {
"IsBlocked": false,
"RequestedTicks": 0
},
"AutoBlockStatus": {
"IsBlocked": false
}
},
"Features": [
"AllowSendEncryptedDocuments"
]
}