/// <summary>
        ///     https://bricknode.atlassian.net/wiki/spaces/API/pages/101023757/BankIdSign
        /// </summary>
        /// <param name="bankIdType"></param>
        /// <param name="domain"></param>
        /// <param name="ssn"></param>
        /// <param name="signingText"></param>
        /// <param name="authenticatePerson"></param>
        /// <param name="bfsApiClientName"></param>
        /// <returns></returns>
        public async Task <BankIdSignResponse> InitiateBankIdSignature(BankIdType bankIdType, Domain domain, string ssn,
                                                                       string signingText, bool authenticatePerson = false, string bfsApiClientName = null)
        {
            var request = GetRequest <BankIdSignRequest>(bfsApiClientName);

            request.Domain             = domain;
            request.AuthenticatePerson = authenticatePerson;
            request.BankIdType         = bankIdType;
            request.PersonalNumber     = ssn.Replace("-", "");
            request.SigningText        = signingText;

            var response = await GetClient(bfsApiClientName).BankIdSignAsync(request);

            if (ValidateResponse(response))
            {
                return(response);
            }

            LogErrors(response.Message);

            return(response);
        }
        /// <summary>
        ///     https://bricknode.atlassian.net/wiki/spaces/API/pages/53674418/GetBankIdStatus
        /// </summary>
        /// <param name="orderReference"></param>
        /// <param name="bankIdType"></param>
        /// <param name="bfsApiClientName"></param>
        /// <returns></returns>
        public async Task <GetBankIdStatusResponse> GetBankIdStatus(string orderReference, BankIdType bankIdType, string bfsApiClientName = null)
        {
            var request = GetRequest <GetBankIdStatusRequest>(bfsApiClientName);

            request.BankIdType     = bankIdType;
            request.OrderReference = orderReference;

            var response = await GetClient(bfsApiClientName).GetBankIdStatusAsync(request);

            if (ValidateResponse(response))
            {
                return(response);
            }

            LogErrors(response.Message);

            return(response);
        }