Получение данных об организации#

Получение данных об организациях возможно только при использовании offline-режима получения данных о пользователе. Этот процесс включает следующие шаги:

  1. Проведение аутентификации пользователя с помощью offline-режима, по результатам которого у вызывающей системы будет следующая информация:

    • идентификатор (oid) организации, по которой необходимо получить детальную информацию. Для получения oid можно воспользоваться блоком о ролях пользователя (roles), который доступен при наличии разрешения Просмотр списка организаций пользователя (usr_org);

    • актуальное значение ключа доступа scsToken.

  2. Вызов специального сервиса ESIA-Bridge, позволяющего получить данные об организации. Для этого необходимо выполнить HTTP-запрос методом POST на адрес точки получения данных об организации (/blitz/bridge/organization). Особенности запроса:

    • в теле (body) запроса необходимо указать параметры token (значение актуального ключа доступа), oid (идентификатор организации) и redirect_url (адрес обработчика успешной аутентификации на стороне вызывающей системы);

    • в заголовке (http header) необходимо указать параметр Content-Type со значением application/x-www-form-urlencoded.

Пример запроса на получение данных об организации:

POST https://esia.client.testcase.ru/blitz/bridge/organization
Content-Type: application/x-www-form-urlencoded
token=MIrS8L..l_JLTz5YgENWc&oid=1000323157&redirect_url=http://localhost:9000/ofCb

Возможные варианты ответа ESIA-Bridge на такой запрос:

  • если ключ доступа не позволяет получить данные указанной организации, то в ответе содержится ссылка (link) с запросом для получения корректного ключа доступа.

    Пример ответа:

    {
      “redirect” : {
         “link” : “/blitz/bridge/entrance?redirect_url=http://localhost:9000/ofCb&oids=1000323157&mode=offline&state=dfa6e47e-576b-460e-9476-ce9597415188“,
         “state” : “dfa6e47e-576b-460e-9476-ce9597415188"
      }
    }
    

    Все, что требуется системе, – направить браузер пользователя по ссылке из ответа, указав корректный hostname ESIA-Bridge. Переход по этой ссылке инициирует в ЕСИА получение разрешения на доступ к данной организации. После того, как пользователь даст разрешение, ESIA-Bridge вернет пользователя по адресу, указанному в redirect_url и поставит новую сессионную cookie с новым ключом доступа tokenSCS. Получив обновленный ключ доступа, система должна повторно вызвать сервис получения данных об организации.

  • если ключ доступа позволяет получить данные указанной организации, то в ответе будет получен json со следующими данными:

    • обновленный ключ доступа scsToken, при этом старый ключ перестает действовать;

    • сведения об организации согласно спецификациям ЕСИА.

    Пример ответа, содержащего в себе данные организации, ее сотрудников и филиалов:

    {
      "orgResponse": {
        "scsToken": "esMNcjW0qPQ51zcTMiI8w881PiaMUfHBdNGjLo0-V2Tu8U8NGbP86tVxDXeoPQIOyjiQwz2K4ml0ymIqajcvmxoEpOc7IVs-sux0QKS4GKWxAUFBhcB-odAZJVTS_Sl0oZB8Xn5rKJh2p3zS92v-JbMVWzwL0OS6LB58If0vLIu1gdgwqKq1ee7B7vSsc8te|MTUxMzk4MzQ5MA|U0gxQVMxMjhDQkM|ls9NJJklcIDvAtQr_DgZ0w|_7qL6n1KC_M5da77ohg03FRAxwQ",
        "organization": {
          "stateFacts": [
            "Identifiable"
          ],
          "eTag": "8DF580E06129CA1190B283E6764D68ADD88CBDB9",
          "oid": 1000323157,
          "shortName": "ООО \"РЕАК СОФТ\"",
          "fullName": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"РЕАК СОФТ\"",
          "type": "AGENCY",
          "ogrn": "1147746651733",
          "inn": "7715434658",
          "leg": "12200",
          "kpp": "771501001",
          "agencyTerRange": "00",
          "agencyType": "10.FED",
          "oktmo": "45359000",
          "contacts": {
            "stateFacts": [
              "hasSize"
            ],
            "size": 3,
            "eTag": "711FD22A0ADEA3FB05BEB780FF6E2B25F9BF39A1",
            "elements": [
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "326468E0BC693CE48B87646B758EE54FB0737010",
                "id": 14283140,
                "type": "OFX",
                "vrfStu": "NOT_VERIFIED",
                "value": "+7(342)2875843"
              },
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "3288F9165AD8A0C2D956DB8CA9B3799BD7CECE18",
                "id": 14283139,
                "type": "OPH",
                "vrfStu": "NOT_VERIFIED",
                "value": "+7(342)2409435*984398"
              },
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "BA3D328687D1538B7AFF0CC153E704738BC78253",
                "id": 14240474,
                "type": "OEM",
                "vrfStu": "NOT_VERIFIED",
                "value": "mvanin@reaxoft.ru"
              }
            ]
          },
          "addresses": {
            "stateFacts": [
              "hasSize"
            ],
            "size": 2,
            "eTag": "7B82EB88BCA0425E2BC3B6914AFC6F9D0702DF3B",
            "elements": [
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "5E2BA4DB9268FED5079B2F5B5463E9FFE3CC4E50",
                "id": 27443,
                "type": "OPS",
                "region": "Пермский",
                "city": "Пермь",
                "addressStr": "Пермский край, Пермь город, Комсомольский проспект",
                "countryId": "RUS",
                "zipCode": "614000",
                "street": "Комсомольский",
                "house": "31В",
                "flat": "37"
              },
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "8CA439D7A477D899C0E67E513B2B72C4B4F962E3",
                "id": 16378,
                "type": "OLG",
                "region": "г МОСКВА",
                "addressStr": "г МОСКВА,ул РИМСКОГО ",
                "countryId": "RUS",
                "zipCode": "127566",
                "street": "ул РИМСКОГО ",
                "house": "95",
                "flat": "36"
              }
            ]
          },
          "employees": {
            "stateFacts": [
              "LastPage",
              "FirstPage",
              "Paginated"
            ],
            "pageSize": 100,
            "pageIndex": 1,
            "elements": [
              {
                "stateFacts": [
                  "EntityRoot"
                ],
                "eTag": "E7ECC603BCEC866C6ACD0738A077CA39BADA9EFA",
                "prnOid": 1000299331,
                "orgOid": 1000323157,
                "position": "Руководитель",
                "chief": true,
                "person": {
                  "stateFacts": [
                    "EntityRoot"
                  ],
                  "eTag": "5B64DACFE84502F3B4A73F66A3F4D07F23360ACB",
                  "firstName": "Михаил",
                  "lastName": "Юрьев",
                  "middleName": "Владимирович",
                  "birthDate": "13.11.1981",
                  "gender": "M",
                  "citizenship": "RUS",
                  "snils": "123-456-789 58",
                  "inn": "123456789012",
                  "updatedOn": 1492174836,
                  "status": "REGISTERED",
                  "verifying": false,
                  "rIdDoc": 3303
                },
                "blocked": false
              },
              {
                "stateFacts": [
                  "EntityRoot"
                ],
                "eTag": "D90F86B8FAE7DB8567D3679D97309AF821D5025D",
                "prnOid": 1000323269,
                "orgOid": 1000323157,
                "chief": false,
                "person": {
                  "stateFacts": [
                    "EntityRoot"
                  ],
                  "eTag": "CBB725A26583BBD55980751FAE85FAD2BC828833",
                  "firstName": "Петр",
                  "lastName": "Петров",
                  "middleName": "Петрович",
                  "birthDate": "11.11.1981",
                  "birthPlace": "Москва",
                  "gender": "M",
                  "citizenship": "RUS",
                  "snils": "000-333-444 39",
                  "updatedOn": 1513856314,
                  "status": "REGISTERED",
                  "verifying": false
                },
                "blocked": false
              },
              {
                "stateFacts": [
                  "EntityRoot"
                ],
                "eTag": "48C5A569574766A15287584DC057897BF20B9BF5",
                "prnOid": 1000348301,
                "orgOid": 1000323157,
                "chief": false,
                "person": {
                  "stateFacts": [
                    "EntityRoot"
                  ],
                  "eTag": "3A4A8EA83413C3076B34485561BB6FDE518C58D8",
                  "firstName": "Семен",
                  "lastName": "Иванов",
                  "middleName": "Петрович",
                  "birthDate": "14.03.1996",
                  "birthPlace": "Москва",
                  "gender": "M",
                  "trusted": true,
                  "citizenship": "RUS",
                  "snils": "000-555-444 39",
                  "inn": "520791835020",
                  "updatedOn": 1513937119,
                  "status": "REGISTERED",
                  "verifying": false,
                  "rIdDoc": 38957
                },
                "blocked": false
              }
            ]
          },
          "branches": {
            "stateFacts": [
              "LastPage",
              "FirstPage",
              "Paginated"
            ],
            "pageSize": 100,
            "pageIndex": 1,
            "eTag": "B854C2B28B54083C063C9319950B148A1D87EDCB",
            "elements": [
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "BDD1049E273023D50516686F7FF4CD14CC938150",
                "brhOid": 1000355069,
                "name": "Московский",
                "kpp": "435354354",
                "leg": "30002",
                "contacts": {
                  "stateFacts": [
                    "hasSize"
                  ],
                  "size": 3,
                  "eTag": "BB7C4789C938FBF59F60744EC31215239D20B94F",
                  "elements": [
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "5649E98457FAD7C4B38B091EABAAE497D7C24666",
                      "id": 14283146,
                      "type": "OEM",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "test@example.com"
                    },
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "E3B691F0DC97A07F271F337EF6000F671299E1C6",
                      "id": 14283149,
                      "type": "OPH",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "+7(495)8736847*684764"
                    },
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "D3A1E4715F456DD2D54544E387B6159DB6E486D4",
                      "id": 14283150,
                      "type": "OFX",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "+7(499)9990930"
                    }
                  ]
                },
                "addresses": {
                  "stateFacts": [
                    "hasSize"
                  ],
                  "size": 1,
                  "eTag": "8051E7E5247D83DEBFA5FFAC9410C81D1E5E1597",
                  "elements": [
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "EC676F9CDB0F1344A8EED5444A8CC0DEB98D994C",
                      "id": 27445,
                      "type": "OPS",
                      "region": "Москва",
                      "addressStr": "Москва город, Московско-Минской Дивизии площадь",
                      "countryId": "RUS",
                      "zipCode": "121096",
                      "street": "Московско-Минской Дивизии",
                      "house": "6",
                    "flat": "67"
                    }
                  ]
                }
              },
              {
                "stateFacts": [
                  "Identifiable"
                ],
                "eTag": "9438AF6F3D163DFD6A258078BC3F77D337A44B3E",
                "brhOid": 1000355068,
                "name": "Дальневосточный",
                "kpp": "948745837",
                "leg": "30001",
                "contacts": {
                  "stateFacts": [
                    "hasSize"
                  ],
                  "size": 3,
                  "eTag": "FBBF6052BCF619EF40E2B2D888DC294AB9776BDB",
                  "elements": [
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "C725D7760632612B18CBEDE303ADBA8612340488",
                      "id": 14283143,
                      "type": "OEM",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "none@example.com"
                    },
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "8CE333D782D4D75A8600210BBB1E78F73B2EC5F4",
                      "id": 14283145,
                      "type": "OFX",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "+7(34343)90586"
                    },
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "69344CDC7A35BD367284CB119ED237D2DBA30590",
                      "id": 14283144,
                      "type": "OPH",
                      "vrfStu": "NOT_VERIFIED",
                      "value": "+7(343)3354654*235642"
                    }
                  ]
                },
                "addresses": {
                  "stateFacts": [
                    "hasSize"
                  ],
                  "size": 1,
                  "eTag": "3786BD82486EF0DE78B9B4BF4594B00D5C660F3D",
                  "elements": [
                    {
                      "stateFacts": [
                        "Identifiable"
                      ],
                      "eTag": "E56F04079933C955AC0C24DC8DD5E1722F912224",
                      "id": 27444,
                      "type": "OPS",
                      "region": "Хабаровский",
                      "addressStr": "Хабаровский край, Николаевский район, Нижнее Пронге поселок, Школьная улица",
                      "area": "Николаевский",
                      "settlement": "Нижнее Пронге",
                      "countryId": "RUS",
                      "zipCode": "682444",
                      "street": "Школьная",
                      "house": "40"
                    }
                  ]
                }
              }
            ]
          }
        }
      }
    }
    

После получения ответа рекомендуется сохранить данные обновленного ключа доступа scsToken. Это позволит в будущем обновить данные об организации, ее сотрудниках и филиалах в offline-режиме, т.е. без участия пользователя.