/// <summary> /// Отправить запрос на генерацию сертификата пользователя. /// </summary> /// <param name="requestData">Данные пользователя.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse GenerateCertificate(GenerateCertificateRequest requestData) { var parameters = new { MSISDN = requestData.Msisdn, exclusiveAccess = ServiceCertificateHasExclusiveAccess, authorityGuid = ServiceAuthority, templateGuid = ServiceCertificateTemplate, subject = new Dictionary <string, string> { ["2.5.4.3"] = requestData.FullName, ["2.5.4.4"] = requestData.Surname, ["2.5.4.42"] = requestData.Name, ["2.5.4.6"] = requestData.Country, ["2.5.4.8"] = requestData.Region, ["2.5.4.7"] = requestData.City, ["1.2.643.100.3"] = requestData.Inn, ["1.2.643.3.131.1.1"] = requestData.Snils, ["1.2.840.113549.1.9.1"] = requestData.Email, } }; C1Rescponse <Guid> response = this.Request <Guid>("/Certificates/Generate", parameters); return(response); }
/// <summary> /// Получить инфу о запросе, ранее отправленном в 1С. /// </summary> /// <typeparam name="T">Тип возвращаемого 1С значения.</typeparam> /// <param name="transactionId">Идентификатор запроса.</param> /// <returns>Результат запроса в 1С.</returns> public C1Rescponse <T> GetTransactionInfo <T>(Guid transactionId) { var parameters = new { transactionGuid = transactionId }; C1Rescponse <T> response = this.Request <T>("/Transactions/GetTransactionInfo", parameters); return(response); }
/// <summary> /// Отправить запрос на аутентификацию в 1С. /// </summary> /// <param name="certificateId">Идентификатор сертификата пользователя.</param> /// <param name="textForUser">Текст для пользователя.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse RequestAccessToCertificate(string msisdn) { var parameters = new { MSISDN = msisdn }; C1Rescponse <Guid> response = this.Request <Guid>("/Certificates/RequestAccess", parameters); return(response); }
/// <summary> /// Отправить запрос на получение тела сертификата пользователя. /// </summary> /// <param name="certificateId">Идентификатор сертификата пользователя.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse GetCertificate(Guid certificateId) { var parameters = new { certificateGuid = certificateId, callbackUri = "" }; C1Rescponse <string> response = this.Request <string>("/Certificates/GetCertificate", parameters); return(response); }
/// <summary> /// Отправить запрос на получение списка сертификатов телефона. /// </summary> /// <param name="msisdn">Номер телефона.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse GetCertificates(string msisdn) { var parameters = new { MSISDN = msisdn, callbackUri = "" }; C1Rescponse <List <Guid> > response = this.Request <List <Guid> >("/Certificates/GetCertificates", parameters); return(response); }
/// <summary> /// Отправить запрос на запрос доступа к сертификату пользователя в 1С. /// </summary> /// <param name="msisdn">Номер телефона.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse Authenticate(Guid certificateId, string textForUser) { var parameters = new { certificateGuid = certificateId, text = textForUser, callbackUri = "" }; C1Rescponse <string> response = this.Request <string>("/Authentication/Authenticate", parameters); return(response); }
/// <summary> /// Отправить запрос на активацию пользователя. /// </summary> /// <param name="msisdn">Номер телефона.</param> /// <param name="iccid">ICCID симки.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse Activate(string msisdn, string iccid) { var parameters = new { MSISDN = msisdn, ICCID = iccid, callbackUri = "" }; C1Rescponse <bool> response = this.Request <bool>("/Activation/Activate", parameters); return(response); }
public C1Rescponse <List <Guid> > GetCertificates([FromUri] GetCertificatesViewModel model) { Argument.Require(model != null, "Параметры не заданы."); Argument.Require(!string.IsNullOrWhiteSpace(model.Msisdn), "Номер телефона пустой."); C1Rescponse response = c1Service.GetCertificates(model.Msisdn); if (response.StatusCode >= STATUS_BAD_MIN) { return(new C1Rescponse <List <Guid> >(response)); } return(WaitTillResponse <List <Guid> >(response.TransactionGuid)); }
/// <summary> /// Отправить запрос на подпись документа. /// </summary> /// <param name="document">Документ.</param> /// <param name="certificateId">Идентификатор сертификата пользователя.</param> /// <param name="textForUser">текст для пользователя.</param> /// <returns>Ответ 1С.</returns> public C1Rescponse Sign(FinanceDocument document, Guid certificateId, string textForUser) { var parameters = new { certificateGuid = certificateId, text = textForUser, callbackUri = "" }; C1Rescponse <string> response = this.Request <string>("/Sign/Sign", parameters, r => r.AddFileBytes("data", document.Data, document.Name, document.MimeType)); return(response); }
public IHttpActionResult GetCertificatesResponse([FromBody] C1Rescponse <List <Guid> > model) { Argument.Require(model != null, "Пустой ответ от 1С."); return(Ok()); }