मैं एक लिंक होने के लिए एसएमएस शॉर्टलिंक एपीआई प्रतिक्रिया कैसे प्राप्त कर सकता हूं और पेलोड नहीं?
मैं नीचे दिए गए कोड का उपयोग कर रहा हूं (उदाहरण के लिए स्टैक एक्सचेंज लिंक का उपयोग करके):
%%[
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)
]%%
सब कुछ काम कर रहा है, लेकिन मुझे नीचे की तरह सफलता की प्रतिक्रिया मिल रही है:
{"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"}}
जो यह जानने के लिए बहुत अच्छा है कि मैंने अपनी एम्पीस्क्रिप्ट को सही ढंग से सेटअप किया है, लेकिन मैं यह नहीं चाहता कि उपयोगकर्ता इसे देख सके। मैं सिर्फ लिंक की तलाश में हूं। तो मैं इसे इस तरह होना चाहता हूँ:https://cutt.ly/repko-testing-741599999
मुझे ऐसा लगता है कि एक सरल उपाय है, लेकिन यह मेरा पहली बार है इसलिए मुझे यकीन नहीं है कि अब अगला कदम क्या है।
जवाब
2 JasonHanshaw
आपको JSON प्रतिक्रिया को पार्स करने की आवश्यकता है और उस मान का चयन करें जिसे आप आबाद करना चाहते हैं। आप इसे SSJS के साथ आसानी से कर सकते हैं:
<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>