SMS Shortlink API yanıtını yük değil bağlantı olarak nasıl alabilirim?
Jan 07 2021
Aşağıdaki kodu kullanıyorum (örneğin sadece yığın değişim bağlantısını kullanıyorum):
%%[
var @Id, @shortenUrl, @cuttlyUrl, @link, @linkName
set @startDate = "2021-01-01 6:45 AM"
set @endDate = Now(1)
set @numOne = 100000
set @numTwo = 99999
set @randNum = random(@numOne,@numTwo)
set @time = dateDiff(@startDate, @endDate, "MI")
set @linkName = concat('repko-testing-',@time,@randNum)
set @link = 'https://salesforce.stackexchange.com/questions/122185/ampscript-in-sms-how-to-use-dynamic-content-in-sms-with-ampscript-mobileconne'
set @cuttlyUrl = Concat('https://cutt.ly/api/api.php?key=[key]&short=',@link,'&name=',@linkName,'&format=txt')
set @shortenUrl = HTTPGet(@cuttlyUrl)
]%%
Her şey çalışıyor, ancak aşağıdaki gibi bir başarı yanıtı alıyorum:
{"url":{"status":7,"fullLink":"https:\/\/salesforce.stackexchange.com\/questions\/122185\/ampscript-in-sms-how-to-use-dynamic-content-in-sms-with-ampscript-mobileconne","date":"2021-01-06","shortLink":"https:\/\/cutt.ly\/repko-testing-741599999","title":"marketing cloud - AMPScript in SMS - How to use dynamic content in SMS with AMPScript? MobileConnect - Salesforce Stack Exchange"}}
Bu, ampscriptimi doğru kurduğumu bilmek için harika, ancak kullanıcının bunu görmesini istemiyorum. Ben sadece bağlantıyı arıyorum. Bu yüzden sadece şöyle olmasını arıyorum:https://cutt.ly/repko-testing-741599999
Bunun basit bir çözüm olduğunu hissediyorum, ancak bunu ilk kez yapıyorum, bu yüzden bir sonraki adımın ne olduğundan emin değilim.
Yanıtlar
2 JasonHanshaw Jan 07 2021 at 00:38
JSON yanıtını ayrıştırmanız ve doldurmak istediğiniz değeri seçmeniz gerekir. Bunu SSJS ile oldukça kolay bir şekilde yapabilirsiniz:
<script runat="server">
Platform.Load("Core", "1");
/* GET HTTPGET RESPONSE */
var jsonResp = Platform.Function.ParseJSON(Platform.Variable.GetValue("@shortenUrl"));
/* GET SHORT LINK VALUE FROM RESPONSE */
var shortLink = jsonResp.url.shortLink;
/* OUTPUT VALUE OR ASSIGN TO AMPSCRIPT VARIABLE*/
Write(shortLink);
Platform.Variable.SetValue("@shortLink",shortLink);
</script>
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'