Подтверждение акта
Метод Approve invoice используется для подтверждения акта по модели Постоплата с помощью счета на оплату, выставленного клиенту реселлера сторонней ERP-системой (см. Управление актами по модели Постоплата сторонней ERP-системой).
Если у клиента несколько актов за один финансовый период, необходимо использовать другой метод и указать ID конкретного акта — см. Подтверждение акта по ID.
В результате:
- Опционально можно указать сумму и валюту счета на оплату. При этом:
- Сумма и валюта акта и связанного платежа в платформе остаются без изменений.
- В Панели управления Клиента для платежа отображается сообщение с указанными суммой и валютой счета.
- Если указанные сумма и валюта счета отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент не сможет оплатить счет с баланса. Доступны только другие способы оплаты, в том числе на основе коннекторов платежных шлюзов (см. Управление коннекторами платежных шлюзов). При переходе на страницу выбранного способа оплаты (см. Способы оплаты) клиенту к оплате выставляются указанная сумма и валюта счета. Сумма платежа в платформе не изменяется, в том числе после оплаты.
- Если указанные сумма и валюта счета не отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент может оплатить счет с баланса или другим способом оплаты.
- Сумму и валюту счета, указанные при вызове метода, затем можно получить по API из платежа, связанного с актом (см. Получение информации о платеже).
- Опционально можно прикрепить к платежу в платформе файл счета на оплату или ссылку на него.
- Опционально можно указать дату отсрочки платежа. По умолчанию она будет установлена согласно правилу обслуживания клиента.
- Срабатывает событие уведомлений Счет был подтвержден (см. Создание события уведомлений).
- Для платежа в платформе добавляется комментарий, содержащий переданные параметры внешнего счета.
После получения оплаты по выставленному счету необходимо подтвердить платеж в платформе с помощью метода Завершение акта.
В Панели управления Оператора опционально доступно подтверждение акта вручную, а также подтверждение или отмена платежа вручную:
- Подтверждение акта вручную с выставлением счета сторонней ERP-системой
- Обработка платежа с выставлением счета сторонней ERP-системой
Платформа проверяет соответствие счета на оплату и акта по дате начала финансового периода, к которому относится акт (billing_date
).
Для авторизации требуется API-токен менеджера (сотрудника). API-токен можно получить через Панель управления Оператора (см. Просмотр и обновление информации о сотруднике).
По указанному в запросе API-токену определяются:
- Роль и уровень доступа менеджера, от которых зависит доступность метода.
- Текущий реселлер и его нижестоящие реселлеры, доступные в рамках метода.
POST {base_url}/api/v3/resellers/{reseller_id}/accounts/{account_id}/approve_invoices
Аргументы
Название | Тип параметра | Тип данных | Обязательный/ | Описание | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X-Api-Token | header | string | Обязательный | API-токен сотрудника, выполняющего операцию (см. Просмотр и обновление информации о сотруднике) | |||||||||||||||||||
Content-Type | header | string | Обязательный | Тип данных, передаваемых в запросе. Необходимо указать: application/vnd.api+json | |||||||||||||||||||
Accept | header | string | Обязательный | Поддерживаемые типы данных в ответе. Необходимо указать: application/vnd.api+json | |||||||||||||||||||
base_url | path | string | Обязательный | URL ActivePlatform | |||||||||||||||||||
reseller_id | path | number | Обязательный | ID реселлера. Возможно указать ID текущего реселлера или ID любого из его нижестоящих реселлеров (см. Просмотр информации о реселлере) | |||||||||||||||||||
account_id | path | number | Обязательный | ID клиента | |||||||||||||||||||
document_id | form | string | Обязательный | Номер счета на оплату, для которого требуется подтвердить акт | |||||||||||||||||||
billing_date | form | string | Обязательный | Финансовый день (ГГГГ-ММ-ДД) — дата начала финансового периода, с которым связан акт | |||||||||||||||||||
due_date | form | string | Опциональный | Крайняя дата оплаты платежа (ГГГГ-ММ-ДД) — на следующий день платеж без оплаты перейдет в статус Просрочен. Указывается, если требуется использовать период отсрочки платежа, отличный от заданного в правиле обслуживания клиента (см. Создание правила обслуживания). Можно указать любую дату, начиная с текущей | |||||||||||||||||||
amount | form | object | Опциональный | Сведения о сумме счета на оплату, сформированном в сторонней ERP-системе. Указывается, если сумма или валюта счета на оплату отличаются от суммы акта и валюты реселлера в платформе (см. total в Получение информации об акте и currency в Получение информации о реселлере) | |||||||||||||||||||
total | form | string | Опциональный | Сумма счета на оплату, для которого требуется подтвердить акт. Сумма счета должна быть больше 0. Обязательный при наличии | |||||||||||||||||||
currency | form | string | Опциональный | ISO-код валюты счета на оплату, для которого требуется подтвердить акт. Можно указать код любой валюты в платформе (см. Получение списка курсов валют). Обязательный при наличии amount | |||||||||||||||||||
attachment | form | object | Опциональный | Сведения о ссылке на файл счета на оплату, сформированного в сторонней ERP-системе. Можно указать или сведения о файле, или сведения о ссылке на файл, но не то и другое вместе | |||||||||||||||||||
type | form | string | Опциональный | Тип вложения. Доступные значения:
Обязательный при наличии | |||||||||||||||||||
data | form | string | Опциональный | Сведения о файле счета на оплату, сформированного в сторонней ERP-системе:
Обязательный при наличии | |||||||||||||||||||
name | form | string | Опциональный | Имя файла счета на оплату для отображения в уведомлении клиенту. Обязательный при наличии Имя файла не может содержать символ |
Модель ответа
Модель ответа аналогична методу Получение информации об акте.
Ошибки
Статус | Код ошибки | Текст ошибки | Комментарий |
---|---|---|---|
400 | INVOICE-0001 | Required 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 день | |
404 | INVOICE-0002 | Invoice for billing date {billing_date} was not found for account id {account_id} |
|
422 | INVOICE-0003 | Unable 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": []
}
}
}
}