using Hcs.Broker.Api.Payload.Payments;

namespace Hcs.Broker.Api
{
    // http://open-gkh.ru/PaymentsServiceAsync/
    public interface IPaymentsApi
    {
        /// <summary>
        /// ВИ_ОПЛАТА_ИЗВ. Передать перечень документов "Извещение о принятии к исполнению распоряжения".
        /// </summary>
        /// <param name="payload">Пейлоад документа</param>
        /// <param name="token">Токен отмены</param>
        /// <returns>true, если операция выполнена успешно, иначе - false</returns>
        Task<bool> ImportNotificationsOfOrderExecutionAsync(ImportNotificationsOfOrderExecutionPayload payload, CancellationToken token = default);

        /// <summary>
        /// Импорт пакета документов "Извещение о принятии к исполнению распоряжения", размещаемых исполнителем
        /// </summary>
        /// <param name="payload">Пейлоад документа</param>
        /// <param name="token">Токен отмены</param>
        /// <returns>true, если операция выполнена успешно, иначе - false</returns>
        Task<bool> ImportSupplierNotificationsOfOrderExecutionAsync(ImportSupplierNotificationsOfOrderExecutionPayload payload, CancellationToken token = default);
    }
}
