Подтверждение акта по модели Постоплата для клиента реселлера
Метод Approve postpaid invoice используется для подтверждения акта по модели Постоплата с помощью счета на оплату, выставленного клиенту реселлера сторонней ERP-системой (см. Управление актами по модели Постоплата сторонней ERP-системой).
Если у клиента несколько актов за один финансовый период, необходимо использовать другой метод и указать ID конкретного акта — см. Подтверждение акта по модели Постоплата по ID.
В результате:
- Сторонняя ERP-система опционально может указать сумму и валюту счета на оплату. При этом:
- Сумма и валюта акта и связанного платежа в платформе остаются без изменений.
- В Панели управления Клиента для платежа отображается сообщение с указанными суммой и валютой счета.
- Если указанные сумма и валюта счета отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент не сможет оплатить счет с баланса. Доступны только другие способы оплаты, в том числе на основе коннекторов платежных шлюзов (см. Управление коннекторами платежных шлюзов). При переходе на страницу выбранного способа оплаты (см. Способы оплаты) клиенту к оплате выставляются указанная сумма и валюта счета. Сумма платежа в платформе не изменяется, в том числе после оплаты.
- Если указанные сумма и валюта счета не отличаются от суммы подтверждаемого акта и валюты реселлера в платформе, клиент может оплатить счет с баланса или другим способом оплаты.
- Сумму и валюту счета, указанные при вызове метода, затем можно получить по API из платежа, связанного с актом (см. Получение информации о платеже реселлера).
- Сторонняя ERP-система опционально может прикрепить к платежу в платформе файл счета на оплату или ссылку на него.
- Для платежа в платформе будет установлена дата отсрочки согласно правилу обслуживания клиента.
- Срабатывает событие уведомлений Счет был подтвержден (см. Создание события уведомлений).
После получения оплаты по выставленному счету необходимо подтвердить платеж в платформе с помощью метода Завершение акта по модели Постоплата для клиента реселлера.
В Панели управления Оператора опционально доступно подтверждение акта вручную, а также подтверждение или отмена платежа вручную:
- Подтверждение акта вручную с выставлением счета сторонней 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 | Обязательный | Финансовый день (ГГГГ-ММ-ДД) — дата начала финансового периода, с которым связан акт | |
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 | Опциональный | Имя файла счета на оплату для отображения в уведомлении клиенту. Обязательный при наличии Имя файла не может содержать символ |
Модель ответа
Модель ответа аналогична методу Подтверждение акта по модели Постоплата по ID.
Ошибки
Статус | Код ошибки | Текст ошибки | Комментарий |
---|---|---|---|
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 | |
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"
},
"relationships": {
"subscriptions": {
"data": [
{
"id": "3009839",
"type": "subscriptions"
}
]
},
"payments": {
"data": [
{
"id": "12201",
"type": "payments"
}
]
},
"charges": {
"data": [
{
"id": "323740",
"type": "charges"
}
]
},
"corrections": {
"data": []
}
}
}
}