[알리고]알람톡 보내기

코드왕·2025년 2월 19일
0
post-thumbnail
  1. 알리고에 가서 사업자등록하고 아이디/비번을 확보한다
  1. 주요 변수값을 확보한다
토큰발급

ALIGO_API_KEY = "f61azc33a4m4gwt4vccfvpmhe1bxuqxu"
SENDER_KEY='9aa5bca7d236814660a2cae87dfe5c9d0983894f'
USER_ID='chiyang0907'

basic_send_url = 'https://kakaoapi.aligo.in/akv10/token/create/30/s/' # 요청을 던지는 URL, 현재는 토큰생성
# token/create/토큰 유효시간/{y(년)/m(월)/d(일)/h(시)/i(분)/s(초)}/

sms_data={'apikey': ALIGO_API_KEY, #api key
        'userid': USER_ID, # 알리고 사이트 아이디
}

create_token_response = requests.post(basic_send_url, data=sms_data)

results=json.loads(create_token_response.text)
with open('results.json', 'w',encoding='utf-8-sig') as f:
    json.dump(results, f, indent=2,ensure_ascii=False)

  1. 주요 변수를 더 파악한다.

코드를 이용해서 보내보자


#========주요변수
    token=results['token']
    # plusid="@공생마케팅"
    plusid="@symbiosis"
    phonenumber='01099323659'
    data = {
        'apikey': apikey,
        'userid': userid,
        'token': token,
        'plusid': plusid,
        'phonenumber': phonenumber,
    }

    response = requests.post('https://kakaoapi.aligo.in/akv10/profile/auth/', data=data)
    # print(response.text)

    data = {
        'apikey': apikey,
        'userid': userid,
        'token': token,
    }

    response = requests.post('https://kakaoapi.aligo.in/akv10/category/', data=data)
    
    category=json.loads(response.text)
    print('category:',category)

    #=================
    category='016'
    #==============



    data = {
        'apikey': apikey,
        'userid': userid,
        'token': token,
    }

    response = requests.post('https://kakaoapi.aligo.in/akv10/profile/list/', data=data)
    data=json.loads(response.text)
    # print(data)
    pprint.pprint(data)
    #==================
    senderKey = next(item['senderKey'] for item in data['list'] if item['uuid'] == '@위드앤플랜')
    print("senderKey:",senderKey,"/ senderKey_TYPE:",type(senderKey),len(senderKey))


    data = {
        'apikey': apikey,
        'userid': userid,
        'token': token,
        'senderkey':senderKey,

    }

    response = requests.post('https://kakaoapi.aligo.in/akv10/template/list/', data=data)
    data=json.loads(response.text)
    # pprint.pprint(data)



    # =========톡 보내기
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
    }

    button_info = { 'button': [{
        'name': '시작 전 궁금해요',
        'linkType': 'WL',
        'linkTypeName': '웹링크',
        'linkPc': 'https://same-curve-e6b.notion.site/1-c45abc79fc674868a1e3790d972bb001?pvs=4',
        'linkMo' : 'https://same-curve-e6b.notion.site/1-c45abc79fc674868a1e3790d972bb001?pvs=4'
        },
        {'name': '진행 중 궁금해요',
        'linkType': 'WL',
        'linkTypeName': '웹링크',
        'linkPc': 'https://same-curve-e6b.notion.site/2-a3a9cdd013c14874b4eadf9672575436?pvs=4',
        'linkMo' : 'https://same-curve-e6b.notion.site/2-a3a9cdd013c14874b4eadf9672575436?pvs=4'
        },
        {'name': '당첨 후 궁금해요',
        'linkType': 'WL',
        'linkTypeName': '웹링크',
        'linkPc': 'https://same-curve-e6b.notion.site/3-9c2c04907571441f8909db61ec5fd1ad?pvs=4',
        'linkMo' : 'https://same-curve-e6b.notion.site/3-9c2c04907571441f8909db61ec5fd1ad?pvs=4'
        },
        {'name': '체험단시대 바로가기',
        'linkType': 'WL',
        'linkTypeName': '웹링크',
        'linkPc': 'https://www.allinonesite.co.kr/',
        'linkMo' : 'https://www.allinonesite.co.kr/'
        }
        ]
                    }
    button_info = json.dumps(button_info) # button의 타입은 JSON 이어야 합니다.
    
    
    innerContents=""

    try:
        key1=resultTextList[0].split(",")[0]
    except:
        key1=""
    print("key1:",key1)
    try:
        key2=resultTextList[1].split(",")[0]
    except:
        key2=""
    print("key2:",key2)
    try:
        key3=resultTextList[2].split(",")[0]
    except:
        key3=""
    print("key3:",key3)
    try:
        key4=resultTextList[3].split(",")[0]
    except:
        key4=""
    print("key4:",key4)
    try:
        key5=resultTextList[4].split(",")[0]
    except:
        key5=""
    print("key5:",key5)
    try:
        key6=resultTextList[5].split(",")[0]
    except:
        key6=""
    print("key6:",key6)
    try:
        key7=resultTextList[6].split(",")[0]
    except:
        key7=""
    print("key7:",key7)
    try:
        key8=resultTextList[7].split(",")[0]
    except:
        key8=""
    print("key8:",key8)
    try:
        key9=resultTextList[8].split(",")[0]
    except:
        key9=""
    print("key9:",key9)

    try:
        value1=resultTextList[0].split(",")[1]
    except:
        value1=""
    print("value1:",value1)
    try:
        value2=resultTextList[1].split(",")[1]
    except:
        value2=""
    print("value2:",value2)
    try:
        value3=resultTextList[2].split(",")[1]
    except:
        value3=""
    print("value3:",value3)
    try:
        value4=resultTextList[3].split(",")[1]
    except:
        value4=""
    print("value4:",value4)
    try:
        value5=resultTextList[4].split(",")[1]
    except:
        value5=""
    print("value5:",value5)
    try:
        value6=resultTextList[5].split(",")[1]
    except:
        value6=""
    print("value6:",value6)
    try:
        value7=resultTextList[6].split(",")[1]
    except:
        value7=""
    print("value7:",value7)
    try:
        value8=resultTextList[7].split(",")[1]
    except:
        value8=""
    print("value8:",value8)
    try:
        value9=resultTextList[8].split(",")[1]
    except:
        value9=""
    print("value9:",value9)


#     innerContents='''
# 1.{} / {}
# 2.{} / {}
# 3.{} / {}
# 4.{} / {}
# 5.{} / {}
# 6.{} / {}
# 7.{} / {}
# 8.{} / {}
# 9.{} / {}
# '''.format(key1,value1,key2,value2,key3,value3,key4,value4,key5,value5,key6,value6,key7,value7,key8,value8,key9,value9)
    for index, resultText in enumerate(resultTextList[:6]):
        firstText = resultText.split(",")[0]
        if len(firstText) > 100:
            firstText = firstText[:100] + "..."
        text = "{}.{} / {}".format(index + 1, firstText, resultText.split(",")[1])
        innerContents = innerContents + text + '\n'
    print("길이는:")
    print(len(innerContents))
    # innerContents='중재김밥/https://www.naver.com'
    
    data = {
        'apikey': apikey,
        'userid': userid,
        'token': token,
        'senderkey': senderKey,
        # 'tpl_code':'TT_1729',
        'tpl_code':'TU_7857',
        'sender':phonenumber,
        # 'receiver_1':'01090703001',
        'receiver_1':"0"+str(keyword['전화번호']),
        # 'subject_1':'공생2',
        'subject_1':'체험단시대알림톡_재등록2',
        'message_1':'''안녕하세요. {} 고객님.\n
체험단시대입니다.
고객님께서 문의하신 카테고리의 진행중인 체험단  리스트 송신드립니다.\n
{}
※ 해당 메시지는 고객님께서 요청하신 체험단 조건에 해당하는 제안이 등록될 경우 발송됩니다 '''.format(keyword['이름'],innerContents),
        'button_1': button_info
    }
profile
CODE DIVE!

0개의 댓글