Авторизация

Запрос кода авторизации

Данная операция выполняется в качестве первой операции в процессе сквозной авторизации. Партнерский сервис НЕ ДОЛЖЕН вызывать операцию в рамках взаимодействия server-to-server, а просто выполнить выполнить перенаправление сессии браузера в которой работает пользователь на указанный URL с передачей всех необходимых параметров
GET https://seeneco.com/snc-platform-identity-services/sso/api/authorize
Параметры
Наименование Описание
response_type *
Тип запроса. Значение должно быть всегда code. Это ограничение согласно требованию по обеспечению безопасности, разрешающее использовать исключительно AuthCode Flow
scope *
Объем прав, выдаваемых партнерскому сервису при предоставлении токена. Значение либо openid (если не обговорено отдельно), либо к openid добавляется через пробел наименование дополнительной области сведений (по договоренности).
client_id *
Идентификатор партнерского сервиса, полученный при регистрации.
redirect_uri *
URL-encoded строка, содержащая URL на который будет перенаправлен пользователь после завершения процесса авторизации. Этот URL должен совпадать (по маске) со значением, указанным при регистрации сервиса
state *
Параметр используемый для хранения в сериализованном виде контекста(состояния) партнерского сервиса (например, набора параметров идентифицирующих запрос авторизации). В том числе используется для предотвращения CSRF-атак. В случае если хранение состояния не требуется, партнерский сервис должен обспечить генерацию произвольной уникальной строки state для данного запроса
nonce *
Это значение используется для защиты от атак с повторением токенов (replay attack) . Значение, указанное в запросе должно соответствовать nonce значению, возвращаемому в составе ID Token. Значение nonce должно быть уникальным в сеансе пользователя и сложным для угадывания
Ответы
HTTP Код Описание
302
В случае успешного выполнени авторизации пользователя сессия браузера будет перенаправлена по адресу, указанному в redirect_uri к URL которого будут добавлены следующие параметры в адресной строке
  • code – значение кода авторизации, которое нужно использовать для получения токена
  • state – значение параметра state указанного при направлении запроса
  • nonce – значение параметра nonce указанного при направлении запроса
Пример ответа https://seeneco-partner-service.ru/oauth/api/client?code=abcd-1234-fegh&state=some-complex-client-state&nonce=qwert-12313-yuio Партнерский сервис должен выполнить следующие проверки на своей стороне при получении данного запроса
  1. Проверку корректности полученного значения state. Переданное значение state должно быть известно партнерскому сервису и соответствовать отправленному ранее запросу
  2. Проверку корректности полученного значения nonce. Переданное значение nonce должно быть известно партнерскому сервису и соответствовать отправленному ранее запросу и соответствующем значение nonce и state в нем (наличие пары отправленных ранее state и nonce)
В случае, если хотя бы одна из проверок не пройдена пользователю должно быть отображено сообщение с отказом в авторизации. В случае, если проверки пройдены необходимо в кратчайшее время выполнить обмен полученного code на токен.
400
Получен некорректный запрос. Данный ответ возвращается в одном из следующих случаев
  1. Указан недопустимый response_type
  2. Указан недопустимый client_id. Значение отсутствует или не зарегистрировано в системе
  3. Указан недопустимый redirect_uri. Значение отсутствует или не соответствует значению, зарегистрированному для данного client_id
  4. Указан недопустимый state – значение отстуствует
  5. Указан недопустимый scope – значение отстуствует
В ответе содержится описание и тип ошибки.
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Получение OAuth токена

Данная операция позволяет получить токен доступа (access token) в обмен на один из следующих артефактов
  • Код авторизации, полученный в рамках процесса сквозной авторизации.
  • Refresh_token, полученный вместе с access_token ранее при вызове этого API
Операция выполняется путем направления HTTP вызова к API Seeneco по межсерверным каналам без участия пользователя.
POST https://seeneco.com/snc-platform-identity-services/sso/api/token
Параметры
Наименование Описание
grant_type *
Тип разрешения на основании которого производитя выдача токена.
  • В случае получения токена по авторизационному коду значение должно быть authorization_code
  • В случае обновления токена на основании ранее выданного refresh_token значение должно быть refresh_token
client_id *
Идентификатор партнерского сервиса, полученный при регистрации.
client_secret *
Секретный ключ партнерского сервиса, полученный при регистрации.
code
Необходимо передавать этот параметр только в случае grant_type = authorization_code Авторизационный код, полученный в результате запроса авторизации, направленного по адресу /authorize
redirect_uri
Необходимо передавать этот параметр только в случае grant_type = authorization_code URL-encoded строка, содержащая URL на который будет перенаправлен пользователь после завершения процесса авторизации. Этот URL должен совпадать (по маске) со значением, указанным при регистрации сервиса
refresh_token
Необходимо передавать этот параметр только в случае grant_type = refresh_token Значение refresh_token полученное в ответ на предыдущий запрос токена.
Ответы
HTTP Код Описание
200
Успешное завершение операции. В ответе содержится набор токенов, которые могут быть использованы для работы с API Ответ представлен в формате объекта Ответ на запрос Access Token Пример ответа
  
    {
        "token_type": "Bearer",
        "expires_in": 3600,
        "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ0ZXN0LWNsaWVudCIsInN1YiI6IjEwMDAwIiwiaXNzIjoiaHR0cHM6Ly9zZWVuZWNvLmNvbSIsImV4cCI6MTU5NjE4NTA3NywiaWF0IjoxNTY0NjQ5MDc3fQ.Q-ZEMHjYV2oagjl3uMWUam_LxGpIIRZq9f7qPKMXsbc",
        "access_token": "jLu0sjZI34REkJa0OpHJNfMwvJqnSCaodn9Gf94akM7H9S02KrNG65rZIiD3cEIhE8kzE1CQlzjgG96sUlzdOJO3D8tsBqjf0LulmOMC3Ab0vGYwNETNBaKuzs9icmEWvcEvJ36tAXP9xCRJp9bliKJwKBAWajgCN6kedN92DwKC8nIkBw4BGiw46IFzgiKCnIVc23nSc3n10gpQpNOqjC1wnhLT7MuXQQINKH13pv1QvYVdKphJ78H58BZ854n5",
        "refresh_token": "qWdPk6WeSZWxqRyEzSf7aFb6I3PGELo1MUwub6763ca1UppgXnYKiBiZ1mcaGmBLj9A8yfyWLVVNFr9J060NOWtAVu043kzjCgYXKQlby1vYl7duO43Q2r2YAshq8Vs8H2buBD8N6IqXM9GsQj2eMYiV4makLeIULyc6MUUpNA1NZJeriZPXrR2oX8aawIKdBZKqNopOKECvIZ27rxo5hf5jXQzgcSp1c9ZQ2DncRfbFmzRhXe6BkDLOhH9EdFUD"
    }
                                                        
400
Получен некорректный запрос. Данный ответ возвращается в одном из следующих случаев
  1. Указан недопустимый grant_type
  2. Указан недопустимый client_id. Значение отсутствует или не зарегистрировано в системе
  3. Указан недопустимый client_secret. Значение отсутствует или не соответствует значению указанному для соответствующего client_id
  4. Указан недопустимый redirect_uri при grant_type = authorization_code. Значение отсутствует или не соответствует значению, зарегистрированному для данного client_id
  5. Указан недопустимый code при grant_type = authorization_code
    • Значение отстуствует
    • Код авторизации не найдено в числе зарегистрированных кодов авторизации
    • Код авторизации не найден для запрошенного client_id
    • Код авторизации уже был использован ранее
    • Код авторизации просрочен
  6. Указан недопустимый refresh_token при grant_type = refresh_token
    • Значение отстуствует
    • refresh_token не найден в числе зарегистрированных
    • refresh_token не найден для запрошенного client_id
В ответе содержится описание и тип ошибки.
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Получение информации о пользователе

Данная операция позволяет получить информацию о пользователе, которому был выдан Access token, переданный в заголовке запроса ВАЖНО! Операция работает только при использовании OAuth Access token, полученного в рамках сквозой авторизации. Для токенов с типом API-ключ операция вернет ошибку
GET https://seeneco.com/snc-platform-identity-services/sso/api/user_info
Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
Ответы
HTTP Код Описание
200
Успешное завершение операции. В ответе содержится информация о пользователе которому был выдан токен Ответ представлен в формате объекта Информация о пользователе Пример ответа
    {
        "sub": "10000",
        "username": "Петрушкин Андрей Иванович",
        "email": "ostapenko@angrydev.ru",
        "phone": "+79161234567",
        "org_uid": "10000",
        "org_name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"СТРОЙИНВЕСТ\"",
        "org_taxcode": "7706656855",
        "org_additional_taxcode": "770101001"
    }     
                                                        
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Счета и выписки

Получить список счетов учета денежных средств

Данная операция позволяет получить список счетов учета денежных средств, зарегистрированных в личном кабинете пользователя. Операция возвращает все счета по всем компаниям пользователя, включая счета учета наличных и банковские счета.
GET https://seeneco.com/snc-core-services/api/v2/cash/accounts
Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
Ответы
HTTP Код Описание
200

Успешное завершение операции. В теле ответа содержится список счетов в JSON-формате объекта «Счет учета денежных средств»

Пример
[  
    {  
        "CashAccountUID":"d6eb19c3-da3f-44c3-96a9-1bb2a3d2c04f",
        "BankName":"",
        "LegalEntity":{  
            "CounterpartyUID":"99bc465b-024b-4394-84b6-97012bd4d6b0",
            "TaxCode":"7701347941",
            "Name":"ООО \"ЗОО-ЭКСПО\""
        },
        "BankBIC":"",
        "Number":"К1",
        "CurrentBalance":400.20,
        "AccountCurrencyLetterCode":"RUR",
        "AccountType":"CASH_DESK",
        "Name":"Кремлевская"
    },
    {  
        "CashAccountUID":"eb4b06d6-1fca-412f-bae0-2d2b2ee87237",
        "BankName":"АО \"ТИНЬКОФФ БАНК\"",
        "LegalEntity":{  
            "CounterpartyUID":"f40b4bad-a9f9-473c-84b5-9c3e4eafb8cb",
            "TaxCode":"7715962930",
            "Name":"Общество с ограниченной ответственностью \"XXX\""
        },
        "BankBIC":"044525974",
        "Number":"40702810789123123123",
        "CurrentBalance":0,
        "AccountCurrencyLetterCode":"RUR",
        "AccountType":"BANK_ACCOUNT",
        "Name":"Счет в ТКС"
    }
]
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Получить выписку по счету учета денежных средств

Данная операция позволяет получить выписку по счету учета денежных средств, зарегистрированному в личном кабинете пользователя. Выписка по счету формируется за заданный в параметрах вызова период и содержит информацию обо всех операциях по счету за период, а также входящем и исходящем остатках по счету в валюте счета.
GET https://seeneco.com/snc-core-services/api/v2/cash/accounts/{accountNumber}/statement
ВАЖНО! Синхронизация данных с банком

По-умолчанию операция возвращает выписку по счету, сохраненную в Seeneco и не выполняет синхронизацию данных с банком для подключенных к банку счетов. Это производится в синхронном режиме, т.е. выписка возвращается сразу же при получении запроса. В случае, если вам необходимо синхронизировать данные по выписке с данными банка, необходимо передать параметр synchronizeWithBank = true. При передаче этого параметра система будет проверять наличие данных по указанном периоду в Seeneco и,в случае отсутствия данных за какой либо интервал времени внутри запрошенного периода, отправлять запрос в банк на получение данных. Алгоритм работы для получения данных синхронизированных с банком

  1. Направить запрос с параметром synchronizeWithBank = true
  2. Seeneco запускает синхронизацию с банком и в ответе возвращает пустую выписку (см. описание объекта «Выписка по счету учета денежных средств») со статусом синхронизации IN_PROGRESS
  3. С периодичностью в несколько секунд направлять запросы аналогичные первому до получения статуса SUCCESS
  4. Ответ со статусом SUCCESS также будет содержать данные выписки по счету, полученные из банка
По-умолчанию, Seeneco выполняет синхронизацию данных с банком только за период, данных по которому нет в Seeneco, за исключением текущего дня.
Пример 1 Текущая дата 20 марта 2020 года. В Seeneco есть данные за период с 1 марта по 18 марта. Выписка была запрошена за период с 1 марта по 20 марта с параметров synchronizeWithBank = true. Синхронизация будет выполнена за период с 18 марта по 20 марта. В ответе по итогам синхронизации будут возвращены данные с 1 марта по 20 марта
Пример 2 Текущая дата 20 марта 2020 года. В Seeneco есть данные за период с 1 марта по 20 марта. Выписка была запрошена за период с 1 марта по 20 марта с параметров synchronizeWithBank = true. Синхронизация будет выполнена за период с 20 марта по 20 марта. В ответе по итогам синхронизации будут возвращены данные с 1 марта по 20 марта

Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
accountNumber *
Буквенно-цифровой номер счета
  • для банковских счетов – 20-значный номер счета
  • для счетов учета наличных – код, присвоенный в личном кабинете
periodStart *
Дата начала интервала дат, за который запрашивается выписка
periodEnd *
Дата окончания интервала дат, за который запрашивается выписка
synchronizeWithBank
Параметр определяет, нужно ли при получении запроса выполнять синхронизацию данных по выписке с банком По-умолчанию, параметр принимает значение false и в результате операции возвращается выписка, сохраненная в Seeneco. В случае если параметр со значением true будет передан для счета, не подключенного к банку, будет сгенерирована ошибка
forceReload
Параметр определяет, нужно ли при получении запроса выполнять синхронизацию данных по выписке с банком, даже если данные за запрошенный период уже сохранены в Seeneco (выполнять принудительную перезагрузку данных из банка). По-умолчанию, параметр принимает значение false и в результате операции возвращается выписка, сохраненная в Seeneco, если данные за запрошенный период или часть периода были ранее сохранены в Seeneco. Параметр учитывается только в случае, если synchronizeWithBank=true, иначе переданное значение игнорируется
Ответы
HTTP Код Описание
200

Успешное завершение операции. В теле ответа содержится выписка по счету в JSON-формате объекта «Выписка по счету учета денежных средств»

Пример
{  
    "PeriodStart":"10-11-2017",
    "PeriodFinish":"16-11-2017",
    "BalanceStart":69246.46,
    "BalanceFinish":0,
    "Account":{  
        "CashAccountUID":"40702810610000000179",
        "BankName":"АО \"ТИНЬКОФФ БАНК\"",
        "LegalEntity":{  
            "CounterpartyUID":"9e46c159-5cbd-4bea-8ca1-ddbfc8cff08d",
            "TaxCode":"7734739006",
            "Name":"ООО Истомин и Все их многочисленные братья"
        },
        "BankBIC":"044525974",
        "Number":"40702810610000000179",
        "CurrentBalance":46514.49,
        "AccountCurrencyLetterCode":"RUR",
        "AccountType":"BANK_ACCOUNT",
        "Name":"Мой самый важный счет в банке Олега Тинькова"
    },
    "SynchronizationStatus": "SUCCESS",
    "SynchronizationStartDateTime": "24-03-2020 10:22:35",
    "SynchronizationFinishDateTime": "24-03-2020 10:22:35",
    "SynchronizationMessage": "",
    "Transactions":[  
        {  
            "TransactionUID":"53024",
            "Payer":{  
                "CounterpartyUID":"a8692d49-ec24-46d5-b467-4eb59cdfc124",
                "TaxCode":"",
                "Name":"АО \"ТИНЬКОФФ БАНК\""
            },
            "Reference":"Перевод средств по договору ИЭ-01/190115 от 19.01.2015г.",
            "Amount":31495.66,
            "Charge":false,
            "Recipient":{  
                "CounterpartyUID":"9e46c159-5cbd-4bea-8ca1-ddbfc8cff08d",
                "TaxCode":"7734739006",
                "Name":"ООО Истомин и Все их многочисленные братья"
            },
            "PayerAccount":{  
                "BankName":"АО \"ТИНЬКОФФ БАНК\"",
                "BankBIC":"044525974",
                "CounterpartyAccountUID":"",
                "AccountType":"BANK_ACCOUNT",
                "AccountNumber":"30232810500000000280"
            },
            "RecipientAccount":{  
                "BankName":"АО \"ТИНЬКОФФ БАНК\"",
                "BankBIC":"044525974",
                "CounterpartyAccountUID":"",
                "AccountType":"BANK_ACCOUNT",
                "AccountNumber":"40702810610000000179"
            },
            "TransactionDate":"10-11-2017",
            "DocumentDate": "10-11-2026",
            "DocumentNumber": "1",
            "BankOperationType": "01",
            "BudgetPayment": false,
            "InternalTransfer":false
        },
        {  
            "TransactionUID":"169",
            "Payer":{  
                "CounterpartyUID":"9e46c159-5cbd-4bea-8ca1-ddbfc8cff08d",
                "TaxCode":"7734739006",
                "Name":"ООО Истомин и Все их многочисленные братья"
            },
            "Reference":"Оплата по Агентскому договору за период с 16.10.17 по 21.10.17 Сумма 100000-00",
            "Amount":100000,
            "Charge":true,
            "Recipient":{  
                "CounterpartyUID":"1bb0f12a-3017-429a-8a43-4e8d1e816bf3",
                "TaxCode":"691508110418",
                "Name":"ИП Сытин Евгений Антонович"
            },
            "PayerAccount":{  
                "BankName":"АО \"ТИНЬКОФФ БАНК\"",
                "BankBIC":"044525974",
                "CounterpartyAccountUID":"",
                "AccountType":"BANK_ACCOUNT",
                "AccountNumber":"40702810610000000179"
            },
            "RecipientAccount":{  
                "BankName":"АО \"ТИНЬКОФФ БАНК\"",
                "BankBIC":"044525974",
                "CounterpartyAccountUID":"",
                "AccountType":"BANK_ACCOUNT",
                "AccountNumber":"40802810900000158097"
            },
            "TransactionDate":"13-11-2017",
            "DocumentDate": "13-11-2026",
            "DocumentNumber": "1",
            "BankOperationType": "01",
            "InternalTransfer":false
        }
    ]
}
400
Получение данной ошибки означает, что запрос, переданный на сервер, содержит некорректные параметры. Необходимо проверить, что параметры
  • periodStart
  • periodEnd
присутствуют в запросе в качестве GET-параметров, указанных в URL, а также, что формат параметров – строка даты в формате DD-MM-YYYY.

Также причиной ошибки, приводящей к такому результату может стать передача параметра synchronizeWithBank = true для счета, не подключенного к банку в разделе Интеграции.


Подробная информация о том, какие параметры не прошли проверку, указывается в теле ответа в формате JSON
404
Ресурс не найден. Получение данной ошибки означает, что счет, по которому запрашивается выписка, не найден в системе. Необходимо проверить, что в теле запроса указан корректный номер счета, который присутствует в результатах вызова операции «Получение списка счетов» (поле «Номер счета» в результирующем объекте)
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Платежи

Отправить платеж контрагенту

Данная операция формирует черновик платежа по расчетному счету контрагенту и отправляет его в банк. Данная операция предназначена ТОЛЬКО для отправки платежей контрагентам – юридическим лицам и ИП. Платежи в бюджет (например, по уплате налогов и взносов) не могут быть отправлены при помощи данной операции.

В банке операция проходит проверку и ожидает подписания сотрудником через интерфейс интернет-банка для юридических лиц. Без подписания платежа, он останется в интернет-банке в черновиках и (как правило) через некоторое время (от одного до нескольких дней, в зависимости от банка) будет отклонен банком.

ВАЖНО! Операция может быть выполнена только в случае если расчетный счет отправителя платежа подключен в Seeneco в разделе “Интеграции” личного кабинета.

POST https://seeneco.com/snc-core-services/api/v2/payments/counterparty-payment
Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
payment *
Платеж контрагенту в JSON формате по структуре объекта “Платеж контрагенту” Пример
{
    "PaymentDate": "03-02-2020 17:07:15",
    "Reference": "Оплата сервиса Seeneco, НДС не облагается",
    "Amount": 30,
    "Payer": {
        "LegalEntity": true,
        "TaxCode": "771572522112",
        "SoleProprietor": true,
        "Name": "Индивидуальный Предприниматель тестовый для СИНЕКО"
    },
    "PayerAccount": {
        "BankName": "ПАО СБЕРБАНК",
        "BankBIC": "044525225",
        "AccountNumber": "40702810989089089089"
    },
    "Recipient": {
        "LegalEntity": true,
        "TaxCode": "7842170479",
        "SoleProprietor": false,
        "Name": "ООО \"Бизнес-Коннект\""
    },
    "RecipientAccount": {
        "BankName": "ФИЛИАЛ № 7701 БАНКА ВТБ (ПАО)",
        "BankBIC": "044525745",
        "AccountNumber": "40702810501000000444"
    }
}                                                
                                            
Ответы
HTTP Код Описание
200

Успешное завершение операции. В теле ответа содержится JSON в формате объекта “Ответ на отправку платежа контрагенту, включающий

  • Платеж контрагенту,с заполненным полем UID
  • Информация о статусе операции отправки платежа (в поле Status)
  • Опциональное сообщение от банка по приему операции (в поле Message)

{
    "Status": "SUCCESS",
    "Message": ""
    "Payment": {
        "UID": "7723c893-9b39-44ad-b8ca-58dd9ed9d4f7",
        "PaymentDate": "03-02-2020 17:07:15",
        "Reference": "плата сервиса Seeneco, НДС не облагается",
        "Amount": 30,
        "PaymentState": "DELIVERED",
        "Payer": {
            "LegalEntity": true,
            "TaxCode": "771572522112",
            "SoleProprietor": true,
            "Name": "Индивидуальный Предприниматель тестовый для СИНЕКО"
        },
        "PayerAccount": {
            "BankName": "ПАО СБЕРБАНК",
            "BankBIC": "044525225",
            "AccountNumber": "40702810989089089089"
        },
        "Recipient": {
            "LegalEntity": true,
            "TaxCode": "7842170479",
            "SoleProprietor": false,
            "Name": "ООО \"Бизнес-Коннект\""
        },
        "RecipientAccount": {
            "BankName": "ФИЛИАЛ № 7701 БАНКА ВТБ (ПАО)",
            "BankBIC": "044525745",
            "AccountNumber": "40702810501000000444"
        }
    }
}
                                                
400
На вход операции переданы некорректные параметры. Точное описание того, какие именно параметры были сформированы некорректно будут доступны в теле ответа в формате JSON объекта. Возможные причины отказа
  • Счет плательщика не подключен к банку в системе
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
404
Счет отправителя, указанный в платеже не найден в списке расчетных счетов
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Счета на оплату

Выставить счет клиенту

Данная операция позволяется выставить счет на оплату клиенту. По результату выполнения операции клиент получит письмо со ссылкой на выставленный счет,в случае если заполнен почтовый адрес клиента. В случае,если адрес не заполнен вызывающее приложение может перенаправить клиента по ссылке, полученной в теле ответного сообщения (в поле SharedDocumentURL) Пройдя по ссылке, клиент увидит веб-форму с выставленным счетом где сможет оплатить его или скачать в формате PDF.

При добавлении счета будет выполняться поиск клиента, являющийся плательщиком по счету в справочнике клиентов по ИНН. В случае если клиент по ИНН найден, то он будет использован в качестве клиента по счету. Если существующий клиент с указанным ИНН не найден – клиент будет добавлен в справочник

POST https://seeneco.com/snc-core-services/api/v2/invoices
Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
invoice *
Счет на оплату в JSON формате по структуре объекта “Счет на оплату” Пример
{  
    "InvoiceUID":"",
    "Outgoing":true,
    "LegalEntity":{  
        "CounterpartyUID":"",
        "TaxCode":"7839318164",
        "Name":"Общество с ограниченной ответственностью \"XXX\""
    },
    "Description":"Счёт за печать продукции по договору ГПХ-3215 за период Октябрь 2017",
    "DateIssued":"01-11-2017",
    "RequiredPaymentDate":"10-11-2017",
    "Number":"456",
    "Counterparty":{  
        "CounterpartyUID":"",
        "TaxCode":"7715962930", 
        "AdditionalTaxCode":"771501001",
        "Name":"ООО «Таксико»"
    },
    "LegalEntityAccount":{  
        "BankName":"ЗАПАДНО-СИБИРСКИЙ БАНК ПАО СБЕРБАНК",
        "BankBIC":"047102651",
        "CounterpartyAccountUID":"",
        "AccountType":"BANK",
        "AccountNumber":"40702810801300004311"
    },
    "Items":[  
        {  
            "Description":"Бумага Xerox Performer А4",
            "Qty":2.0,
            "ItemPrice":230,
            "ItemTaxRate":0.20,
            "ItemAmount":460,
            "ItemAmountTotal":552,
            "InvoiceItemUID":""
        },
        {  
            "Description":"Расходные материалы для Xerox",
            "Qty":1.0,
            "ItemPrice":230,
            "ItemTaxRate":0.20,
            "ItemAmount":230,
            "ItemAmountTotal":276,
            "InvoiceItemUID":""
        }
    ],
    "SignEmployee":{  
        "EmployeeUID":"",
        "Name":"Иванов"
    }
}
from
Email отправителя счета указываемый в письме, которое получит клиент. Наличие параметра проверяется в случае, если указан адрес получателя.
to
Email адрес, на который будет отправлен счет. В случае если параметр отсутствует, письмо со счетом отправляться не будет
mailMessage
Необязательный сопроводительный текст, включаемый в письмо со счетом
validateCounterpartyTaxCode
Необязательный параметр, определяющий нужно ли контролировать корректность ИНН контрагента по правилам формирования ИНН, действующим на территории РФ и наличие КПП у контрагентов юридических лиц.
  • true – Контролировать ИНН на корректность и наличие КПП
  • false – Не проводить контроль корректности ИНН и наличия КПП.Значение по умолчанию
callbackParams
Необязательный параметр, определяющий набор переменных которые должны быть переданы стороне выставившей счет по итогам оплаты счета. Строка должна быть URL Encoded и содержать набор пар вида key=value разделенных символом & Здеcь key – наименование параметра (латинскими буквами без пробелов), value – значение параметра. Одним из предопределенных параметров является параметр resultPage – в нем хранится адрес, по которому системе необходимо перенаправить пользователя после успешной оплаты счета на стороне интернет-банка. Если этот параметр отсутствует, то перенаправление будет выполнено внутрь сервиса Seeneco на специализированную страницу. Остальные параметры будут переданы вызывающей стороне только если для нее зарегистрирован webhook с уведомлением об оплате счета Пример ticketUID=488491b0-92c3-447d-847e-4a49bc9cf6a3&signatureKey=6e0dcaac6857a47c102f4759c811877d&resultPage=https://sbbfm.ru/bfm/tenant-account/contact-data?paymentNotification=true

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

  • API позволяет добавлять в систему только исходящие счета, которые компания – отправитель счета выставляет своим клиентам. Поле «Счет на оплату» Outgoing определяющее направление счета должно быть установлено в значение true
  • Поле объекта «Счет на оплату» LegalEntity, указывающее на компанию – отправителя счета должно быть обязательно заполнено, при этом поле LegalEntity.TaxCode должно быть непустым
  • Компания – отправитель счета должна быть зарегистрирована в системе и иметь ИНН, указанный в поле объекта «Счет на оплату» LegalEntity.TaxCode
  • Поле объекта «Счет на оплату» LegalEntityAccount, указывающее на банковский счет компании – отправителя счета должно быть обязательно заполнено, при этом поле LegalEntityAccount.AccountNumber должно быть непустым
  • Банковский счет, на который должна поступить оплата, указанный в реквизитах счета на оплату должен быть зарегистрирован в системе, а его номер должен совпадать со значением в поле «Счет на оплату» LegalEntityAccount.AccountNumber. При этом в системе указанный счет должен быть привязан к юридическому лицу, на которое указывает поле LegalEntity
  • Поле объекта «Счет на оплату» SignEmployee, указывающее на сотрудника компании, стоящего в подписи счета должно быть обязательно заполнено, при этом поле SignEmployee.Name (ФИО сотрудника) должно быть непустым
  • Сотрудник компании, стоящий в подписи счета должен быть зарегистрирован в системе, при этом его ФИО должно в точности совпадать со значением, передаваемым в поле SignEmployee.Name
  • Поле объекта «Счет на оплату» Counterparty, указывающее на компанию – плательщика по счету должно быть обязательно заполнено, при этом поле Counterparty.TaxCode должно быть непустым
  • В случае если передан параметр validateCounterpartyTaxCode = true то должны выполняться следующие условия
    • Поле объекта «Счет на оплату» Counterparty.TaxCode (ИНН) должно быть заполнено реальным ИНН компании, соответствующему правилам формирования ИНН, действующим на территории РФ
    • Поле объекта «Счет на оплату» Counterparty.AdditionalTaxCode (КПП) должно быть заполнено для юридических лиц (для ИП не заполняется)
Ответы
HTTP Код Описание
200

Успешное завершение операции. В теле ответа содержится счет на оплату с заполненным значением поля InvoiceUID

400
На вход операции переданы некорректные параметры. Точное описание того, какие именно параметры были сформированы некорректно будут доступны в теле ответа в формате JSON объекта. Возможные причины отказа
  • Не указана компания-отправитель или не указан ее ИНН
  • Компания отправитель не зарегистрирована в сервисе
  • Не указан счет компании отправителя или не указан номер счета
  • Счет компании отправителя не зарегистрирован в сервисе или не привязан к компании – отправителю
  • Не указан сотрудник, подписавший счет на оплату или не указано его ФИО
  • Сотрудник, подписавший счет не найден в сервисе
  • Не указан клиент – получатель счета или не указан его ИНН
  • ИНН клиента – получателя счета не прошел проверку
  • КПП клиента – юридического лица – получателя счета не прошел проверку
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Получить уведомление об оплате счета (webhook)

Seeneco позволяет выполнять уведомление системы выставившей счет по API о его оплате при помощи механизма Webhook.

Уведомление высылается системой при следующих условиях

  1. В системе зарегистрирован WebHook для ЛК получателя (с учетными данными которого производилось выставления счета через API)
  2. Платеж по счету подписан плательщиком в интернет-банке и в систему поступило уведомление от интернет банка о подписи платежа (статус платежа сменился на “Исполнен банком плательщика”)

Для реализации возможности получения уведомления необходимо

  1. На стороне системы, отправившей счет реализовать Web сервис принимающий вызов HTTP POST c Content-Type: application/x-www-form-urlencoded
  2. URL данного сервиса зарегистрировать в сервисе приема платежей, направив письмо с информацией об URL по адресу api@seeneco.ru

При выполнении этих условий в момент получения сервисом приема платежей уведомления от интернет банка об исполнении платежа система направит на URL адрес Webhook HTTP POST запрос со следующими параметрами
Наименование Описание
invoice *
Объект “Счет на оплату” в формате JSON
externalOrderId
Внешний идентификатор заказа (счета), переданный при выставлении счета по API в поле Invoice.ExternalOrderUID
amount
Сумма оплаченного счета
date
Дата выставленного счета
paymentServiceType
(Служебный параметр – не использовать!) Тип платежного сервиса – всегда передается константа “Seeneco”
requestType
(Служебный параметр – не использовать!) Тип уведомления – всегда передается константа “verifyPayment”
paymentMethod
(Служебный параметр – не использовать!) Всегда передается константа “Payment statement”
ВАЖНО!

Помимо приведенного выше обязательного набора параметров в запросе передаются все параметры, указанные в параметре callbackParams при выставлении счета через API Выставить счет. Данный механизм необходим для предоставления возможности вызывающей стороне передавать дополнительные параметры, которые вернуться вызывающей стороне вместе со счетом и на основании которых можно будет проводить аутентификацию\авторизацию или дополнительную обработку ответа WebHook.
Пример
Если значение callbackParams содержит следующую строку ticketUID=488491b0-92c3-447d-847e-4a49bc9cf6a3&signatureKey=6e0dcaac6857a47c102f4759c811877d то POST запрос переданный по webhook будет содержать 2 дополнительных параметра

  • ticketUID со значением 488491b0-92c3-447d-847e-4a49bc9cf6a3
  • signatureKey со значением 6e0dcaac6857a47c102f4759c811877d

Получить счет на оплату

Данная операция позволяет получить ранее выставленный счет на оплату, а также включенную информацию о платежах по счету.
GET https://seeneco.com/snc-core-services/api/v2/invoices/{invoice-uid}
Параметры
Наименование Описание
Authorization *
Заголовок авторизации со значением Bearer Значение_Access_Token. Подробнее в разделе Аутентификация
invoice-uid *
Внутренний буквенно-цифровой идентификатор счета
Ответы
HTTP Код Описание
200

Успешное завершение операции. В теле ответа содержится счет на оплату в JSON формате в соответствии со структурой объекта Счет на оплату

Счет на оплату в JSON формате по структуре объекта “Счет на оплату” Пример
{  
    "InvoiceUID":"7f2157ec-32d6-411c-ad51-aa561571d002",
    "Outgoing":true,
    "LegalEntity":{  
        "CounterpartyUID":"024ded5b-1607-49de-905b-590de9d3c28c",
        "TaxCode":"7715962930",
        "Name":"Общество с ограниченной ответственностью \"XXX\""
    },
    "Description":"Счёт за печать продукции по договору ГПХ-3215 за период Октябрь 2017",
    "DateIssued":"01-11-2017",
    "RequiredPaymentDate":"10-11-2017",
    "Number":"456",
    "Counterparty":{  
        "CounterpartyUID":"",
        "TaxCode":"88888888",
        "Name":"ООО «Таксико»"
    },
    "LegalEntityAccount":{  
        "BankName":"ЗАПАДНО-СИБИРСКИЙ БАНК ПАО СБЕРБАНК",
        "BankBIC":"047102651",
        "CounterpartyAccountUID":"",
        "AccountType":"BANK",
        "AccountNumber":"40702810801300004311"
    },
    "Items":[  
        {  
            "Description":"Бумага Xerox Performer А4",
            "Qty":2.0,
            "ItemPrice":230,
            "ItemTaxRate":0.20,
            "ItemAmount":460,
            "ItemAmountTotal":552,
            "InvoiceItemUID":""
        },
        {  
            "Description":"Расходные материалы для Xerox",
            "Qty":1.0,
            "ItemPrice":230,
            "ItemTaxRate":0.20,
            "ItemAmount":230,
            "ItemAmountTotal":276,
            "InvoiceItemUID":""
        }
    ],
    "SignEmployee":{  
        "EmployeeUID":"",
        "Name":"Иванов"
    },
    "CashTransactions": [
        {
            "TransactionUID": "c42f954f-a09f-469b-8d14-592a33acd33d",
            "Payer": {
                "CounterpartyUID": "c3edcd96-8b33-4e1a-85a5-b78a78e71e2f",
                "TaxCode": "7702221317",
                "Name": "Общество с ограниченной ответственностью \"Открытый Мир-Образование\""
            },
            "Reference": "Оплата счета N 456 от 01.11.2017 В том числе НДС (20 %), 138 руб.",
            "Amount": 828,
            "Charge": true,
            "Recipient": {
                "CounterpartyUID": "024ded5b-1607-49de-905b-590de9d3c28c",
                "TaxCode":"7715962930",
                "Name":"Общество с ограниченной ответственностью \"XXX\""
            },
            "PayerAccount": {
                "BankName": "ПАО СБЕРБАНК",
                "BankBIC": "044525225",
                "CounterpartyAccountUID": "3979e3a9-923e-4568-83e3-967dc25b2de8",
                "AccountType": "BANK_ACCOUNT",
                "AccountNumber": "40702810738170102495"
            },
            "RecipientAccount": {
                "BankName":"ЗАПАДНО-СИБИРСКИЙ БАНК ПАО СБЕРБАНК",
                "BankBIC":"047102651",
                "CounterpartyAccountUID":"",
                "AccountType":"BANK",
                "AccountNumber":"40702810801300004311"        
            },
            "TransactionDate": "24-01-2018",
            "InternalTransfer": false
        }
    ],
    "SharedDocumentUID" : "c3edcd96-8b33-4e1a-85a5-b78a78e71aaa",
    "InvoicePaymentPageURL" : "https://sberbank.seeneco.com/invoiceViewer?invoice=c2thZG5pa292QHNlZW5lY28ucnU=.MjRlMWM4N2EtMDg0NC00ZDU3LTgzMzEtZmMwN2IxN2E1NTNj&simplifiedView=true",
    "InvoicePageLink" : "https://sberbank.seeneco.com/invoiceViewer?invoice=c2thZG5pa292QHNlZW5lY28ucnU=.MjRlMWM4N2EtMDg0NC00ZDU3LTgzMzEtZmMwN2IxN2E1NTNj"
}
400
На вход операции переданы некорректный параметр Идентификатор счета.
404
Счет с указанным идентификатором не найден в системе.
401
Ошибка авторизации вызова. Подробная информация в разделе Обработка общих ошибок
500
Внутренняя ошибка сервера. Подробная информация в разделе Обработка общих ошибок

Структура объектов

Ответ на запрос Access Token

Ответ на запрос Access Token сформированный в соответствии с разделом 3.1.3.3 спецификации OpenID Connect
Наименование поля Описание
token_type
Тип токена. По умолчанию заполняется значением Bearer
expires_in
Время действия Access token в секундах. Пои истечению этого времени токен признается недействительным и должен быть обновлен путем запроса с использованием refresh_token
access_token
Строка содержащая значение OAuth access token, которое используется при работе с API
refresh_token
Дополнительный токен, используемый для обновления access_token при его устаревании
id_token
Идентификационный токен в формате JWT ID Token содержащий информацию о пользователе, для которого был предоставлен Access Token.

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

Информация о пользователе, которому выдан Access token
Наименование поля Описание
sub
Уникальный идентификатор пользователя, которому выдан токен в соответствии с JWT [RFC7519]
username
Имя пользователя, указанное им в личном кабинете или полученное при регистрации пользователя с внешней площадки. Обычно содержит ФИО пользователя (не логин в системе)
email
Email пользователя, указанный им в личном кабинете или полученный при регистрации пользователя с внешней площадки.
phone
Телефон пользователя, указанный им в личном кабинете или полученный при регистрации пользователя с внешней площадки.
org_uid
Номер личного кабинета пользователя в системе
org_name
Наименование организации, указанной в личном кабинете пользователя в системе
org_taxcode
ИНН организации, указанной в личном кабинете пользователя в системе
org_additional_taxcode
КПП организации, указанной в личном кабинете пользователя в системе

Счет учета денежных средств

Наименование поля Описание
AccountCurrencyLetterCode
3-буквенный код валюты счета по стандарту ISO. В случае, если поле не заполнено, валютой по умолчанию считается российский рубль
AccountType *
Код типа счета. Возможные значения
  • BANK – банковский счет
  • CASHDESK – счет учета наличных
BankBIC
БИК банка, в котором открыт счет.
Заполняется для банковских счетов.
BankName
Наименование банка, в котором открыт счет.
Заполняется для банковских счетов.
CashAccountUID *
Уникальный буквенно-цифровой идентификатор счета в сервисе
CurrentBalance *
Остаток по счету на дату запроса счета в валюте счета
LegalEntity
Краткая информация о юридическом лице, являющемся владельцем счета
Name *
Наименование счета, присвоенное ему в личном кабинете
Number *
Буквенно-цифровой номер счета
  • для банковских счетов – 20-значный номер счета
  • для счетов учета наличных – код, присвоенный в личном кабинете

Выписка по счету учета денежных средств

Наименование поля Описание
Account *
Счет учета денежных средств
BalanceFinish *
Остаток на 23:59 часов даты окончания периода выписки
BalanceStart *
Остаток на 00:00 часов даты начала периода выписки
PeriodFinish *
Дата окончания периода, за который представлена выписка
PeriodStart *
Дата начала периода, за который представлена выписка
SynchronizationStatus
Статус последней синхронизации счета с банком из списка возможных статусов
  • SUCCESS – Синхронизация успешно завершена
  • IN_PROGRESS – Синхронизация в процессе выполнения
  • FAILED – Синхронизация прервалась по причине ошибки
  • WAITING – Синхронизация находится в очереди на выполнение
  • WAITING – Синхронизация находится в очереди на выполнение
  • FINISHED_WITH_WARNING – Синхронизация завершена с предупреждениями
SynchronizationStartDateTime
Дата и время начала последнего процесса синхронизации данных
SynchronizationFinishDateTime
Дата и время завершения последнего процесса синхронизации данных
SynchronizationMessage
Сообщение полученное в результате процесса синхронизации, которое может содержать текст ошибки или предупреждения. Сообщение может быть сгенерировано как Seeneco, так и банком
Transactions
Список операций движения денежных средств, фактически исполненных в границах периода запроса выписки

Операция движения денежных средств

Наименование поля Описание
TransactionUID *
Уникальный буквенно-цифровой идентификатор операции в сервисе
TransactionDate *
Фактическая дата, когда операция была исполнена
DocumentDate
Дата регистрации расчетного документа в банке. Необязательный атрибут
Amount *
Сумма операции в валюте счета
Reference *
Описание назначения операции
DocumentNumber
Номер документа в банке. Необязательный параметр
BankOperationType
Вид операции (поле №18 “Вид.оп.” по 383-П в банковском платежном поручении). Необязательный параметр
Charge *
(Логическое значение)
Признак того, что операция списывает деньги со счета, уменьшая остаток. Возможные значения
  • true – операция списывает деньги со счета
  • false – операция начисляет деньги на счет
InternalTransfer *
(Логическое значение)
Признак того, что операция представляет внутреннее движение денег между счетами пользователя. Возможные значения
  • true – операция является внутренним движением денежных средств
  • false – операция является выплатой\поступлением средств от контрагента
Recipient *
Получатель средств по операции, представленный объектом «Краткая информация о контрагенте»
RecipientAccount
Счет получателя средств по операции, представленный объектом «Счет контрагента»
Payer *
Плательщик по операции, представленный объектом «Краткая информация о контрагенте»
PayerAccount
Счет плательщика по операции, представленный объектом «Счет контрагента»
BudgetPayment *
Признак платежа в бюджет
BudgetClsCode
[Указывается только для платежей в бюджет] КБК (Код бюджетной классификации)
BudgetTerritoryCode
[Указывается только для платежей в бюджет] ОКТМО.
TaxPayerStatus
[Указывается только для платежей в бюджет] Статус плательщика (поле №101 по 383-П в банковском платежном поручении)
BudgetPaymentUID
[Указывается только для платежей в бюджет] УИН (Уникальный идентификатор начисления) (поле №22 по 383-П в банковском платежном поручении)
BudgetPaymentReason
[Указывается только для платежей в бюджет] Основание платежа (поле №106 по 383-П в банковском платежном поручении)
BudgetPaymentPeriod
[Указывается только для платежей в бюджет] Налоговый период (поле №107 по 383-П в банковском платежном поручении)
BudgetDocumentNumber
[Указывается только для платежей в бюджет] Номер налогового документа (поле №108 по 383-П в банковском платежном поручении)
BudgetPaymentDate
[Указывается только для платежей в бюджет] Дата налогового документа (поле №109 по 383-П в банковском платежном поручении)
BudgetPaymentType
[Указывается только для платежей в бюджет] Тип налогового платежа (поле №110 по 383-П в банковском платежном поручении)

Платеж контрагенту

Наименование поля Описание
UID *
Уникальный буквенно-цифровой идентификатор платежа в Seeneco
PaymentDate *
Дата платежного документа
Amount *
Сумма платежа в валюте счета
Reference *
Описание назначения платежа
PaymentState
Состояние платежа из следущего списка
  • CREATED – Создан черновик платежа, но не отправлен в банк
  • DELIVERED – Платеж отправлен в банк, но еще не исполнен
  • IMPLEMENTED – Платеж исполнен банком плательщика,
  • EXECUTED – Платеж получен на счет в банке получателе
  • FAILED – Платеж отклонен банком плательщика
Recipient *
Получатель средств по операции, представленный объектом «Краткая информация о контрагенте»
RecipientAccount *
Счет получателя средств по операции, представленный объектом «Счет контрагента»
Payer *
Плательщик по операции, представленный объектом «Краткая информация о контрагенте»
PayerAccount *
Счет плательщика по операции, представленный объектом «Счет контрагента»

Ответ на отправку платежа контрагенту

Наименование поля Описание
Status *
Статус операции отправке платежа, из возможного списка
  • SUCCESS – Операция завершена успешно
  • FINISHED_WITH_WARNING – Операция завершена с предупреждениями
  • FAILED – Операция завершена с ошибкой
Message
Опциональное сообщение об отправке платежа от банка
Payment *
Платеж контрагенту в формате объекта “Платеж контрагенту”

Краткая информация о контрагенте

Наименование поля Описание
CounterpartyUID *
Уникальный буквенно-цифровой идентификатор контрагента – физического или юридического лица в сервисе
Name *
Наименование контрагента
TaxCode
Индивидуальный номер налогоплательщика (ИНН). 10 или 12 цифр, в зависимости от организационно-правовой формы компании
AdditionalTaxCode
Код причины постановки на учет (КПП) контрагента юридического лица. Для ИП не заполняется

Счет контрагента

Наименование поля Описание
AccountNumber *
Буквенно-цифровой номер счета
  • для банковских счетов – 20-значный номер счета
  • для счетов учета наличных – код, присвоенный в личном кабинете
AccountType *
Тип счета. Возможные значения
  • BANK – банковский счет
  • CASHDESK – счет учета наличных
BankName
Наименование банка, в котором открыт счет
Заполняется для банковских счетов.
BankBIC
БИК банка, в котором открыт счет
Заполняется для банковских счетов.
CounterpartyAccountUID *
Уникальный буквенно-цифровой идентификатор счета контрагента в сервисе

Счет на оплату

Наименование поля Описание
Outgoing *
Признак исходящего счета
  • true – счет является исходящим для выставившей его компании, указанной в поле LegalEntity
  • false – счет является входящим (полученным) для компании, указанной в поле LegalEntity
InvoiceUID *
Уникальный буквенно-цифровой идентификатор счета на оплату, присваиваемый счету после добавления его в сервис
ExternalOrderUID
Уникальный буквенно-цифровой идентификатор заказа во внешней системе выставившей счет. Данный атрибут используется в сценарии использования сервиса как платежной системы, когда заказ формируется на внешней площадке и передается на оплату в Seeneco. Данный идентификатор будет передан внешней системе при уведомлении об оплате счета, в случае если для личного кабинета мерчанта заргистрирован соответствующий webhook
Number *
Буквенно-цифровой номер счета
RequiredPaymentDate *
Требуемая дата оплаты - дата после наступления которой возникает задолженность по оплате
DateIssued *
Дата выставления счета
Description *
Общее описание товаров и услуг по счету
Status *
Статус счета на оплату. Поддерживаются слеудующие статусы
  • DRAFT - Исходящий счет на оплату создан в системе, но не отправлен контрагенту
  • ISSUED - Счет оопубликован и отправлен контрагенту
  • PAID - Счет оплаче контрагентом, оплата зачислена на счет продавца
  • OVERDUE - Счет не оплачен контрагентом, при этом срок оплаты установленный в счете прошел
  • PAYMENT_IN_PROCESS - Счет находится в оплате, платежное поручение отправлено в банк
LegalEntity *
Компания, выставившая счет, определяемая объектом "Краткая информация о контрагенте"
LegalEntityAccount *
Банковский счет компании, выставившей счет, на который должна поступить оплата, определенный объектом "Счет контрагента"
SignEmployee *
Сотрудник компании, выставившей счет, чья подпись указана в счете, определенный объектом "Краткая информация о сотруднике"
Counterparty *
Клиент - плательщик по выставленному счету
Items *
Список позиций счета на оплату - перечень товаров и услуг, подлежащих оплате по счету
CashTransactions
Список платежей проведенных по счету
SharedDocumentUID *
Уникальный публичный идентификатор счета, используемый для обмена счетом с плательщиком. Данный идентификатор используется в ссылке на счет, ведующей на форму оплаты и не совпадает с идентификатором InvoiceUID
InvoicePaymentPageURL *
Ссылка на форму оплаты счета (платежную страницу). Форма оптимизирована для оплаты счета и должна использоваться в случае использования сервиса как платежной системы. Перейдя по данной ссыле покупатель имеет возможность оплатить счет через свой банк или скачать счет в PDF
InvoicePageLink *
Ссылка на форму просмотра счета Форма оптимизирована для просмотра счета и должна использоваться в случае использования сервиса как сервиса выставления счетов. Перейдя по данной ссыле покупатель имеет возможность оплатить счет через свой банк, скачать счет в PDF или сохранить его в своем личном кабинете

Позиция счета на оплату

Наименование поля Описание
InvoiceItemUID *
Уникальный буквенно-цифровой идентификатор позиции счета на оплату, присваиваемый после добавления его в сервис
Description *
Описание товаров и услуг в позиции счета
ItemPrice *
Цена за единицу продукции, указанной в позиции счета
Qty *
Количество единиц продукции, включенное в позицию счета
ItemAmount *
Стоимость позиции счета, равная проивзедению цены на количество единиц продукции
ItemTaxRate *
Ставка налога по позиции по счету, указываемая в долях единицы. Пример 0.20 - 20% налог по позиции. В случае, если налог включен в стоимость позиции по счету, значение ставки налога указывается с минусом. Пример -0.1
ItemAmountTotal *
Итоговая стоимость позиции с учетом налога

Типы данных

Тип данных Описание
Строка
Строка неограниченной длины
Деньги
Денежная сумма, выражающаяся вещественным числом с двумя знаками в дробной части. Дробная часть от целой отделяется точкой. Пример: 27.15
Целое число
Целое число без дробной части. Пример: 3600
Число с дробной частью
Вещественное число с произвольным количеством символов в дробной части. Дробная часть от целой отделяется точкой. Пример: 3.14159
Дата
Дата без указания времени. Формат представления даты: DD-MM-YYYY. Пример: 25-11-2017
Логическое значение
Логическое(булево) значение. Варианты значений:
  • true - Истина
  • false - Ложь

Обработка общих ошибок

HTTP код Описание
401
Ошибка авторизации вызова. В случае получения данного кода в ответе содержится информация о том, по какой причине вызов считается неавторизованным. Возможные причины отказа в авторизации:
  • В заголовке не указан токен
  • Токен не прошел проверку подлинности
  • Срок действия токена истек
  • Токен не зарегистрирован в системе
500
Внутренняя ошибка сервера. В случае получения данной ошибки необходимо обратиться в службу поддержки сервиса по адресу developer@seeneco.ru, указав в обращении тему “Ошибка вызова API сервиса”, а в теле обращения привести полную информацию

Типы параметров

Тип Описание
query
Параметр передаваемый в HTTP GET запросе в качестве параметра после URL REST сервиса. Пример http://seeneco.com/snc-core-services/api/v2/accounts?accountType=BANK В этом примере параметр accountType со значением BANK передан как query параметр
path
Параметр передаваемый в HTTP запросе в качестве части URL REST сервиса. Пример http://seeneco.com/snc-core-services/api/v2/accounts/{accountNumber}/statement В этом примере параметр accountNumber выступает в качестве path параметра. При подстановке значения, например, номера счета 40708810910000000001 полный URL после подстановки параметра будет иметь вид http://seeneco.com/snc-core-services/api/v2/accounts/40708810910000000001/statement
formData
Параметр передаваемый в HTTP POST запросе в качестве поля формы. Пример На вход сервису http://seeneco.com/snc-core-services/api/v2/invoices отправляется форма с параметром invoice={"invoiceUID":"123"}. В этом примере invoice это параметр с типом formData Форма должна передаваться с Content-Type=application/x-www-form-urlencoded
header
Параметр передаваемый в HTTP запросе в качестве заголовка запроса. Пример Сервису http://seeneco.com/snc-core-services/api/v2/invoices отправляется GET запрос с параметром Authorization в качестве заголовка.

Регистрация

или зарегистрироваться с помощью

7 дней полного доступа + персональный консультат.