// 카카오 플러스친구 계정 생성 후 비즈니스 인증 필요 (비즈니스 인증 시 사업자 등록증 필요)
// 알리고 사이트에서 api key 발급 및 발송 서버 ip 등록, 발신번호 등록이 되어있어야한다.
// 테스트 발송 시에도 잔액이 충전되어있어야한다.
// 아래 코드는 알리고 알림톡 템플릿이 한가지일 경우의 코드이다.
// 템플릿이 여러개일 경우 'get_tpllist_alimtalk' 함수의 결과 처리 부분을 수정해야한다. (템플릿 선택 부분 제작 필요)
// 'send_alimtalk' 함수의 sender (발신번호)는 알리고 사이트에서 등록한 발신번호만 이용 가능하다.
/* 알리고 알림톡 */
function alimtalk(mb_name, mb_hp, msg, subject, tpl_code){
const apikey = 'API KEY';
const userid = 'ALIGO ID';
const senderkey = 'Senderkey';
get_token_alimtalk(apikey,userid).then(function (result){
// console.log(result);
const token = result;
get_tpllist_alimtalk(apikey,userid,token,senderkey).then(function (result2){
console.log(result2.list[0]);
const templtCode = result2.list[0]['templtCode'];
send_alimtalk(apikey, userid, token, senderkey, mb_name, mb_hp, msg, subject, templtCode).then(function (result3){
console.log(result3);
});
});
});
}
const get_token_alimtalk=(apikey,userid)=>{
return new Promise(function (resolve, reject){
$.ajax({
type: "POST",
url: "https://kakaoapi.aligo.in/akv10/token/create/30/s/",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
dataType: 'json',
data: {
apikey:apikey,
userid:userid,
},
cache: false,
success: function (data) {
//console.log(data);
if(data.code==0){
resolve(data.token);
}else{
alert(data.message);
}
}
})
})
}
const get_tpllist_alimtalk=(apikey,userid,token,senderkey)=>{
return new Promise(function (resolve, reject){
$.ajax({
type: "POST",
url: "https://kakaoapi.aligo.in/akv10/template/list/",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
dataType: 'json',
data: {
apikey:apikey,
userid:userid,
token:token,
senderkey:senderkey,
},
cache: false,
success: function (data) {
//console.log(data);
if(data.code==0){
resolve(data);
}else{
alert(data.message);
}
}
})
})
}
const send_alimtalk=(apikey,userid,token,senderkey,mb_name, mb_hp, msg, subject, tpl_code)=>{
return new Promise(function (resolve, reject){
$.ajax({
type: "POST",
url: "https://kakaoapi.aligo.in/akv10/alimtalk/send/",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
dataType: 'json',
data: {
apikey:apikey,
userid:userid,
token:token,
senderkey:senderkey,
tpl_code:tpl_code,
sender:'010-1234-5678',
receiver_1:mb_hp,
recvname_1:mb_name,
subject_1:subject,
message_1:msg,
testMode:'Y',
},
cache: false,
success: function (data) {
//console.log(data);
if(data.code==0){
resolve(data);
}else{
alert(data.message);
}
}
})
})
}
'웹 개발 이야기 > js, jquery' 카테고리의 다른 글
[JS] SVG 이미지 이용한 별점 기능 제작 (0.1 단위) (0) | 2023.03.16 |
---|---|
[JS] 한영키 누르지 않고 한글을 영어로 전환 (0) | 2023.03.16 |
[JS] 스마트 에디터에 keyup 이벤트 등록 (0) | 2023.03.13 |
[JS] javascript 선택자 (0) | 2023.03.09 |
[JS] javascript replaceAll (0) | 2023.03.09 |
댓글