Package com.bytedesk.social.instagram
Class InstagramProductTemplateService
java.lang.Object
com.bytedesk.social.instagram.InstagramProductTemplateService
用于 Instagram 消息的商品模板
产品模板
https://developers.facebook.com/docs/messenger-platform/instagram/features/product-template
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
通知CTA文本常量static class
通知频率常量 -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private final InstagramConfig
private final com.fasterxml.jackson.databind.ObjectMapper
private final org.springframework.web.client.RestTemplate
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate String
构建API URLboolean
isValidNotificationCtaText
(String ctaText) 验证通知CTA文本boolean
isValidNotificationFrequency
(String frequency) 验证通知频率boolean
isValidNotificationSubscriptionRequest
(String recipientId, String imageUrl, String title, String payload, String frequency, String ctaText) 验证订阅请求参数boolean
isValidProductCarouselRequest
(String recipientId, List<String> productIds) 验证商品轮播消息请求参数boolean
isValidProductRequest
(String recipientId, String productId) 验证商品消息请求参数boolean
isValidUrl
(String url) 验证URL格式sendDailyNotificationSubscription
(String recipientId, String imageUrl, String title, String payload) 发送每日订阅请求sendDefaultNotificationSubscription
(String recipientId, String imageUrl, String title, String payload) 发送默认订阅请求 (使用默认值)sendMonthlyNotificationSubscription
(String recipientId, String imageUrl, String title, String payload) 发送每月订阅请求sendNotificationSubscriptionRequest
(String recipientId, String imageUrl, String title, String payload, String frequency, String ctaText) 发送订阅定期营销消息的请求sendProductCarousel
(String recipientId, List<String> productIds) 发送商品轮播消息 (多个商品)private InstagramMessageResponse
sendProductMessage
(String url, Map<String, Object> requestBody) 发送商品消息到Instagram APIsendSingleProduct
(String recipientId, String productId) 发送单个商品消息sendWeeklyNotificationSubscription
(String recipientId, String imageUrl, String title, String payload) 发送每周订阅请求
-
Field Details
-
instagramConfig
-
restTemplate
private final org.springframework.web.client.RestTemplate restTemplate -
objectMapper
private final com.fasterxml.jackson.databind.ObjectMapper objectMapper -
INSTAGRAM_API_BASE_URL
- See Also:
-
-
Constructor Details
-
InstagramProductTemplateService
public InstagramProductTemplateService()
-
-
Method Details
-
sendSingleProduct
发送单个商品消息- Parameters:
recipientId
- Instagram用户ID (IGSID)productId
- 商品编号 (从Facebook目录获取)- Returns:
- 消息发送结果
-
sendProductCarousel
发送商品轮播消息 (多个商品)- Parameters:
recipientId
- Instagram用户ID (IGSID)productIds
- 商品编号列表 (最多10个商品)- Returns:
- 消息发送结果
-
sendNotificationSubscriptionRequest
public InstagramMessageResponse sendNotificationSubscriptionRequest(String recipientId, String imageUrl, String title, String payload, String frequency, String ctaText) 发送订阅定期营销消息的请求- Parameters:
recipientId
- Instagram用户ID (IGSID)imageUrl
- 要在模板中显示的图像的网址title
- 显示在模板中的标题 (最多65个字符)payload
- 此定期通知订阅请求中的定期通知类型frequency
- 定期通知订阅请求的消息频率 (DAILY, WEEKLY, MONTHLY)ctaText
- 出现在行动号召按钮上的文本- Returns:
- 消息发送结果
-
sendDefaultNotificationSubscription
public InstagramMessageResponse sendDefaultNotificationSubscription(String recipientId, String imageUrl, String title, String payload) 发送默认订阅请求 (使用默认值)- Parameters:
recipientId
- Instagram用户ID (IGSID)imageUrl
- 要在模板中显示的图像的网址title
- 显示在模板中的标题payload
- 此定期通知订阅请求中的定期通知类型- Returns:
- 消息发送结果
-
sendDailyNotificationSubscription
public InstagramMessageResponse sendDailyNotificationSubscription(String recipientId, String imageUrl, String title, String payload) 发送每日订阅请求- Parameters:
recipientId
- Instagram用户ID (IGSID)imageUrl
- 要在模板中显示的图像的网址title
- 显示在模板中的标题payload
- 此定期通知订阅请求中的定期通知类型- Returns:
- 消息发送结果
-
sendWeeklyNotificationSubscription
public InstagramMessageResponse sendWeeklyNotificationSubscription(String recipientId, String imageUrl, String title, String payload) 发送每周订阅请求- Parameters:
recipientId
- Instagram用户ID (IGSID)imageUrl
- 要在模板中显示的图像的网址title
- 显示在模板中的标题payload
- 此定期通知订阅请求中的定期通知类型- Returns:
- 消息发送结果
-
sendMonthlyNotificationSubscription
public InstagramMessageResponse sendMonthlyNotificationSubscription(String recipientId, String imageUrl, String title, String payload) 发送每月订阅请求- Parameters:
recipientId
- Instagram用户ID (IGSID)imageUrl
- 要在模板中显示的图像的网址title
- 显示在模板中的标题payload
- 此定期通知订阅请求中的定期通知类型- Returns:
- 消息发送结果
-
isValidProductRequest
验证商品消息请求参数 -
isValidProductCarouselRequest
验证商品轮播消息请求参数 -
isValidNotificationSubscriptionRequest
public boolean isValidNotificationSubscriptionRequest(String recipientId, String imageUrl, String title, String payload, String frequency, String ctaText) 验证订阅请求参数 -
isValidNotificationFrequency
验证通知频率 -
isValidNotificationCtaText
验证通知CTA文本 -
isValidUrl
验证URL格式 -
buildApiUrl
构建API URL -
sendProductMessage
发送商品消息到Instagram API
-