public async Task <IActionResult> CreateAccountStatus(DfpCreateAccountStatusInputClaims input) { if (input == null || !input.Validate()) { return(Conflict(new B2CErrorResponseContent("Cannot deserialize input claims"))); } var correlationId = dfpService.NewCorrelationId; var response = await dfpService.CreateAccountStatus(input, correlationId); if (!response.Status) { return(Conflict(new B2CErrorResponseContent(response.Message, $"Correlation Id : {correlationId}"))); } return(Ok(new DfpCreateAccountStatusOutputClaims() { CorrelationId = correlationId })); }
public async Task <(bool Status, string Message, DfpAccountStatusResponse Data)> CreateAccountStatus(DfpCreateAccountStatusInputClaims input, string correlationId) { var endpoint = $"/v1.0/observe/account/create/status/{input.SignUpId}"; var createAccountInput = new { Metadata = new { TrackingId = Guid.NewGuid().ToString(), SignUpId = input.SignUpId, MerchantTimeStamp = DateTime.Now, UserId = input.UserId ?? "UnKnown" }, StatusDetails = new { StatusType = input.StatusType, ReasonType = input.ReasonType, ChallengeType = input.ChallengeType, StatusDate = DateTime.Now }, Name = "AP.AccountCreation.Status", Version = "0.5" }; return(await PostAsync <DfpAccountStatusResponse>(endpoint, createAccountInput, correlationId)); }