Я хочу отправить электронное письмо пользователю из ответа API в Django? - PullRequest
0 голосов
/ 21 сентября 2019

[data image] [1] Я хочу отправить электронное письмо пользователю после вызова этой функции, поэтому в первой функции я создаю клиента по минимальной оплате, а после получения идентификатора клиента перехожу к другой функции и включаю.поэтому в этой функции get_virtual_account () я получаю весь ответ от API, предоставленного razor-pay, и мне нужно отправить этот ответ пользователю, который создал учетную запись, так как я могу это сделать, я не могу отправить этот ответ по электронной почте.

        def create_razor_customer(data):
            logger.info("Inside create_razor_customer")     
            headers = {'Content-Type': 'application/json',}
            data=json.dumps(data)
            response = requests.post(settings.API_RAZORPAY+'/customers', headers=headers, data=data, auth=(settings.API_RAZORPAY_KEY, settings.API_RAZORPAY_SECRET))
            logger.info(json.loads(response.content))
            json_response = response.json()
            customer_id = json_response['id']
            logger.info(customer_id)
            get_razor_customer(customer_id)
            return response

        def get_razor_customer(customer_id):
            logger.info("Inside get_razor_customer")
            headers = {'Content-Type': 'application/json',}
            response = requests.get(settings.API_RAZORPAY+'/customers/'+customer_id, headers=headers, auth=(settings.API_RAZORPAY_KEY, settings.API_RAZORPAY_SECRET))
            logger.info(json.loads(response.content))
            create_razor_virtual_account(customer_id)
            return response

        def create_razor_virtual_account(customer_id):
            logger.info("Inside create_razor_virtual_account")
            headers = {'Content-Type': 'application/json',}
            data = {"receivers": {"types": ["bank_account"]},"description": "razorpay","customer_id": customer_id,"close_by": 1761615838,"notes": {"reference_key": "reference_value"}}
            data=json.dumps(data)
            response = requests.post(settings.API_RAZORPAY+'/virtual_accounts', headers=headers, data=data, auth=(settings.API_RAZORPAY_KEY, settings.API_RAZORPAY_SECRET))
            json_response = response.json()
            virtual_id = json_response['id']
            logger.info(virtual_id)
            logger.info(json_response)
            return response

        def get_virtual_account(virtual_id):
            logger.info("Inside get_virtual_account")
            logger.info(virtual_id)
            headers = {'Content-Type': 'application/json',}
            response = requests.get(settings.API_RAZORPAY+'/virtual_accounts/'+virtual_id,headers=headers, auth=(settings.API_RAZORPAY_KEY, settings.API_RAZORPAY_SECRET))
            json_response = response.json()
            logger.info(json_response)
send_account_details()
            return response

        def send_account_details():
            logger.info('Inside send_account_details')
            send_mail('Account Details', 'Details for Razorpay account', settings.EMAIL_HOST_USER, ['abhishek@byond.travel',])
            logger.info("sent")
            return "sent"


  [1]: https://i.stack.imgur.com/proIH.png

1 Ответ

0 голосов
/ 21 сентября 2019

Предположим, ваш ответ JSON: res_data={"duration":1201,"number":6,"result":"FAILURE","url":"http://localhost:8080/job/git_checkout/6/"}

Затем вам нужно передать это в функцию send_account_details.

def send_account_details(res_data):
    import json
    logger.info('Inside send_account_details')
    body = "JSON Response is : " + json.dumps(res_data) + "\n\n" +  "Details for Razorpay account"
    send_mail('Account Details', body, settings.EMAIL_HOST_USER, ['abhishek@byond.travel',])
    logger.info("sent")
    return "sent"

Используя json.dumps(res_data), вы можете добавить свой JSON в текст письма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...