मैं एक लिंक होने के लिए एसएमएस शॉर्टलिंक एपीआई प्रतिक्रिया कैसे प्राप्त कर सकता हूं और पेलोड नहीं?

Jan 07 2021

मैं नीचे दिए गए कोड का उपयोग कर रहा हूं (उदाहरण के लिए स्टैक एक्सचेंज लिंक का उपयोग करके):

%%[ 
    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 Jan 07 2021 at 00:38

आपको 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>