Подтверждение акта

Метод Approve invoice используется для подтверждения акта по модели Постоплата с помощью счета на оплату, выставленного клиенту реселлера сторонней ERP-системой (см. Управление актами по модели Постоплата сторонней ERP-системой).

Если у клиента несколько актов за один финансовый период, необходимо использовать другой метод и указать ID конкретного акта — см. Подтверждение акта по ID.

В результате:

  • Опционально можно указать сумму и валюту счета на оплату. При этом:
    • Сумма и валюта акта и связанного платежа в платформе остаются без изменений.
    • В Панели управления Клиента для платежа отображается сообщение с указанными суммой и валютой счета.
    • Если указанные сумма и валюта счета отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент не сможет оплатить счет с баланса. Доступны только другие способы оплаты, в том числе на основе коннекторов платежных шлюзов (см. Управление коннекторами платежных шлюзов). При переходе на страницу выбранного способа оплаты (см. Способы оплаты) клиенту к оплате выставляются указанная сумма и валюта счета. Сумма платежа в платформе не изменяется, в том числе после оплаты.
    • Если указанные сумма и валюта счета не отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент может оплатить счет с баланса или другим способом оплаты.
    • Сумму и валюту счета, указанные при вызове метода, затем можно получить по API из платежа, связанного с актом (см. Получение информации о платеже).
  • Опционально можно прикрепить к платежу в платформе файл счета на оплату или ссылку на него.
  • Опционально можно указать дату отсрочки платежа. По умолчанию она будет установлена согласно правилу обслуживания клиента.
  • Срабатывает событие уведомлений Счет был подтвержден (см. Создание события уведомлений).
  • Для платежа в платформе добавляется комментарий, содержащий переданные параметры внешнего счета.

После получения оплаты по выставленному счету необходимо подтвердить платеж в платформе с помощью метода Завершение акта.

В Панели управления Оператора опционально доступно подтверждение акта вручную, а также подтверждение или отмена платежа вручную:

Платформа проверяет соответствие счета на оплату и акта по дате начала финансового периода, к которому относится акт (billing_date).

Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).

По указанному в запросе API-токену определяются:

  • Роль и уровень доступа менеджера, от которых зависит доступность метода.
  • Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.

POST {base_url}/api/v3/resellers/{reseller_id}/accounts/{account_id}/approve_invoices

Аргументы

Название

Тип параметра

Тип данных

Обязательный/ 
Опциональный

Описание

X-Api-TokenheaderstringОбязательныйAPI-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике)
Content-TypeheaderstringОбязательныйТип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json
AcceptheaderstringОбязательныйПоддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json
base_urlpathstringОбязательныйURL ActivePlatform
reseller_idpathnumberОбязательныйID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере)
account_idpathnumberОбязательныйID клиента
document_idformstringОбязательныйНомер счета на оплату, для которого требуется подтвердить акт
billing_dateformstringОбязательныйФинансовый день (ГГГГ-ММ-ДД) — дата начала финансового периода, с которым связан акт
due_dateformstringОпциональныйКрайняя дата оплаты платежа (ГГГГ-ММ-ДД) — на следующий день платеж без оплаты перейдет в статус Просрочен. Указывается, если требуется использовать период отсрочки платежа, отличный от заданного в правиле обслуживания клиента (см. Создание правила обслуживания). Можно указать любую дату, начиная с текущей
amountformobjectОпциональныйСведения о сумме счета на оплату, сформированном в сторонней ERP-системе. Указывается, если сумма или валюта счета на оплату отличаются от суммы акта и валюты реселлера в платформе (см. total в Получение информации об акте и currency в Получение информации о реселлере)

totalformstringОпциональный

Сумма счета на оплату, для которого требуется подтвердить акт. Сумма счета должна быть больше 0. Обязательный при наличии amount


currencyformstringОпциональныйISO-код валюты счета на оплату, для которого требуется подтвердить акт. Можно указать код любой валюты в платформе (см. Получение списка курсов валют). Обязательный при наличии amount
attachmentformobjectОпциональныйСведения о ссылке на файл счета на оплату, сформированного в сторонней ERP-системе. Можно указать или сведения о файле, или сведения о ссылке на файл, но не то и другое вместе

typeformstringОпциональный

Тип вложения. Доступные значения:

  • file — файл счета на оплату.
  • link — ссылка на файл счета.

Обязательный при наличии attachment


dataformstringОпциональный

Сведения о файле счета на оплату, сформированного в сторонней ERP-системе:

  • Если type = file, указывается файл счета на оплату в кодировке base64.

    Файл счета указывается по шаблону: data:<тип MIME>;base64,'<строка в кодировке base64>.

    Поддерживаются следующие форматы файла:

    РасширениеТип MIMEПример
    PDFapplication/pdf
    "data": "data:application/pdf;base64,'abc123=='"
    DOCapplication/msword
    "data": "data:application/msword;base64,'abc123=='"
    DOCXapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
    "data": "data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,'abc123=='"
    XLSapplication/vnd.ms-excel
    "data": "data:application/vnd.ms-excel;base64,'abc123=='"
    XLSXapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    "data": "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,'abc123=='"

    Максимальный размер прикрепляемого файла зависит от настроек конкретной инсталляции и может быть изменен по обращению в службу технической поддержки.

  • Если type = link, указывается ссылка на файл счета на оплату.

Обязательный при наличии attachment


nameformstringОпциональный

Имя файла счета на оплату для отображения в уведомлении клиенту. Обязательный при наличии attachment

Имя файла не может содержать символ /.

Модель ответа

Модель ответа аналогична методу Получение информации об акте.

Ошибки

СтатусКод ошибкиТекст ошибкиКомментарий
400INVOICE-0001Required parameters are not providedНеобходимо указать в запросе все обязательные параметры
INVOICE-0013Значение параметра "total" не может быть меньше 0 либо равное 0Указана нулевая или отрицательная сумма счета на оплату total, и поэтому акт не может быть подтвержден
INVOICE-0014Параметр "currency" содержит валюту, не поддерживаемую реселлеромУказанный код валюты currency не найден для реселлера. Доступные коды валют см. в Получение списка курсов валют
INVOICE-0015Параметр "type" содержит неподдерживаемое значениеПроверьте указанный тип вложения type
INVOICE-0016Платеж, связанный с данным актом, был отменен. Подтверждение акта невозможноМенеджер вручную отменил связанный платеж (см. Обработка платежа с выставлением счета сторонней ERP-системой). Акт теперь нельзя ни подтвердить, ни завершить
INVOICE-0018Параметр «data» содержит неподдерживаемый формат файла. Поддерживаемые форматы файлов .PDF, .DOC, .DOCX, .XLS, .XLSX.Проверьте формат указанного файла счета на оплату data
INVOICE-0023Значение параметра "due_date" содержит неподдерживаемое значениеПроверьте формат даты, указанной в due_date: ГГГГ-ММ-ДД
INVOICE-0024Значение параметра "due_date" не может быть меньше даты подтверждения акта либо равное дате подтверждения актаПроверьте дату, указанную в due_date: должна быть в будущем, начиная с текущей даты +1 день
404INVOICE-0002Invoice for billing date {billing_date} was not found for account id {account_id}
  • У клиента отсутствует акт для указанного финансового дня billing_date.
  • Акт для указанного финансового дня billing_date имеет нулевую сумму. Подтвердить такой акт невозможно, потому что он не содержит информацию о подписках, по которым был сгенерирован.
422INVOICE-0003Unable to approve Invoice one more timeАкт уже подвержен

Пример запроса

POST /api/v3/resellers/1/accounts/505/approve_invoices
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
    "document_id": "NS2000015",
    "billing_date": "2020-04-01",
    "amount": {
        "total": "123.45",
        "currency": "USD"
    },
    "attachment": {
        "type": "file",
        "data": "data:application/pdf;base64,'SSBob2xkIHRoZSBwb3NpdGlvbiBvZiBhIHFhIGVuZ2luZWVyLiBRQSBlbmdpbmVlciByZXNwb25zaWJpbGl0aWVzIGluY2x1ZGUgZGVzaWduaW5nIGFuZCBpbXBsZW1lbnRpbmcgdGVzdHMsIGRlYnVnZ2luZyBhbmQgZGVmaW5pbmcgY29ycmVjdGl2ZSBhY3Rpb25zLiBJIGFsc28gcmV2aWV3IHN5c3RlbSByZXF1aXJlbWVudHMgYW5kIHRyYWNrIHF1YWxpdHkgYXNzdXJhbmNlIG1ldHJpY3MgKGUuZy4gZGVmZWN0IGRlbnNpdGllcyBhbmQgb3BlbiBkZWZlY3QgY291bnRzLikgVGhlIFFBIHRlY2huaWNpYW4gcm9sZSBwbGF5cyBhbiBpbXBvcnRhbnQgcGFydCBpbiBvdXIgY29tcGFueeKAmXMgcHJvZHVjdCBkZXZlbG9wbWVudCBwcm9jZXNzLg=='",
        "name": "Invoice NS2000015"
    }
}

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

{
    "data": {
        "id": "2046",
        "type": "invoices",
        "attributes": {
            "created_at": "2019-04-18T09:02:01.257560+0300",
            "updated_at": "2019-05-02T06:12:41.990713+0300",
            "document_id": "NS2000015",
            "status": "closed",
            "total": "987.65",
            "account_id": 505,
            "from_date": "2019-04-17",
            "to_date": "2019-05-01",
            "payment_model": "postpay",
            "approved": "true"
        },
        "relationships": {
            "subscriptions": {
                "data": [
                    {
                        "id": "3009839",
                        "type": "subscriptions"
                    }
                ]
            },
            "payments": {
                "data": [
                    {
                        "id": "12201",
                        "type": "payments"
                    }
                ]
            },
            "charges": {
                "data": [
                    {
                        "id": "323740",
                        "type": "charges"
                    }
                ]
            },
            "corrections": {
                "data": []
            }
        }
    }
}