[ 작업 환경 ]

 

Python3.6

 

 

 

 

1. 알리고 API 사용법 터득을 위해 아래 글을 참조한 후 본 글을 읽으시면 더 쉽게 이해할 수 있습니다.

 

https://growingsaja.tistory.com/520

 

알리고 홈페이지에서 카카오톡 -> 관리 페이지에서 아래 데이터들을 확인할 수 있습니다. 제공받은 데이터를 작성해주면 됩니다.

# 알리고 사용하기
import requests, json
ALIGO_APIKEY = 'a254e5f64b53nh3gddl6z42dlwpq5lk7'
ALIGO_USERID = 'testbiz'
ALIGO_SENDERKEY = '4927b8a6e6e25038b39c2f29239030eb2402df13'

 

 

 

 

2. 메시지 발송을 위한 토큰 생성 요청

 

 result_token['code'] 값이 0일 경우, 정상적으로 토큰이 생성되었다는 의미입니다.

# 토큰 생성
url_get_token = 'https://kakaoapi.aligo.in/akv10/token/create/30/s/'
for_token_data = {
    'apikey' : ALIGO_APIKEY,
    'userid': ALIGO_USERID
}
response = requests.post(url_get_token, data=for_token_data)
response.status_code
result_text = response.text
result_token = response.json()

 

 

 

 

3. 사용 가능한 템플릿 정보 가져오기

 

template_list 에 최종적으로 들어가는 데이터들은 사용 가능한 템플릿 코드들입니다.

# 토큰 생성 성공
if result_token['code'] == 0:
    # 모든 템플릿 코드들 가져오기
    token = result_token['token']
    url_get_template_list = 'https://kakaoapi.aligo.in/akv10/template/list/'
    url_get_template_info = url_get_template_list
    for_template_list_data = {
        'apikey': ALIGO_APIKEY,
        'userid': ALIGO_USERID,
        'senderkey': ALIGO_SENDERKEY,
        'token': token
    }
    response = requests.post(url_get_template_list, data=for_template_list_data)
    result_template_info = response.json()
    template_list = list()
    for each_template_info in result_template_info['list']:
        template_list.append(each_template_info['templtCode'])

 

 

 

 

4. 사용할 템플릿 선택

 

index_in_part 변수에 사용할 템플릿 번째수를 적어주면 됩니다.

# 사용할 템플릿 선택하기
target_template_code = template_list[index_in_part]
for_template_info_data = {
    'apikey' : ALIGO_APIKEY,
    'userid' : ALIGO_USERID,
    'senderkey' : ALIGO_SENDERKEY,
    'token' : token,
    'tpl_code' : target_template_code
}
response = requests.post(url_get_template_list, data=for_template_info_data)
result_target_template_info = response.json()['list'][0]

 

 

 

 

5. 사용자의 휴대폰번호 정보와 사용할 템플릿 정보로 카카오톡 알림톡 발송

 

user_info 에는 사용자에 대한 정보가 들어있습니다. 각자 상황에 맞게 필요한 데이터를 가져옵니다.

 url_send_kakao = 'https://kakaoapi.aligo.in/akv10/alimtalk/send/'
 target_template_code = template_list[index_in_part]
 
 
 message_1 = result_target_template_info['templtContent']
 
 # 수신자에게 알림톡 발송하기
for_send_kakao_data = {
    'apikey' : ALIGO_APIKEY,
    'userid' : ALIGO_USERID,
    'senderkey' : ALIGO_SENDERKEY,
    'token' : token,
    'tpl_code' : target_template_code,
    'sender' : '01023452345',
    'receiver_1' : user_info['phone_number'],
    'subject_1' : result_target_template_info['templtName'],
    'message_1' : message_1
}
response = requests.post(url_send_kakao, data=for_send_kakao_data)
result_send_kakao = response.json()

result = result_send_kakao
print(result)
if result:
    if 'code' in result:
        if result['code'] == 0:
            result=template_list
            return jsonify(result)
        return jsonify(result='전송실패')
    return jsonify(result='전송실패')
return jsonify(result='에러발생')

 

 

 

 

+ Recent posts