示例#1
0
        /// <summary>
        /// Получить детальную информацию по чеку. Если перед этим не проверялось поступил ли он в ФНС,
        /// то при первом обращении данный метод вернет лишь 202 Accepted(Это не правда. Он возвращает ошибку,
        /// и чтобы всё хорошо работало мне приходится сначала через телефон активировать) и никакой информации по чеку.
        /// При повторном будет вся необходимая информация.
        /// </summary>
        /// <param name="fiscalNumber">Фискальный номер, также известный как ФН. Номер состоит из 16 цифр.</param>
        /// <param name="fiscalDocument">Номер фискального документа, также известный как ФД. Состоит максимум из 10 цифр.</param>
        /// <param name="fiscalSign">Фискальный признак документа, также известный как ФП, ФПД. Состоит максимум из 10 цифр.</param>
        /// <param name="phone">Номер телефона в формате +79991234567, использованный при регистрации</param>
        /// <param name="password">Пароль пользователя, полученный в СМС</param>
        /// <returns>Возвращает информацию по чеку</returns>
        public static async Task <ReceiptResult> ReceiveAsync(string fiscalNumber, string fiscalDocument, string fiscalSign, string phone, string password)
        {
            AddAuthorizationTokenToHeaders(phone, password);
            AddRequiredHeaders();

            var response = await client.GetAsync(Urls.GetReceiveUrl(fiscalNumber, fiscalDocument, fiscalSign));

            var result = new ReceiptResult
            {
                IsSuccess  = response.IsSuccessStatusCode,
                StatusCode = response.StatusCode,
            };

            try
            {
                result.Document = JsonConvert.DeserializeObject <RootObject>(await response.Content.ReadAsStringAsync()).Document;
            }
            catch
            {
                result.Message = await response.Content.ReadAsStringAsync();
            }
            return(result);
        }