关于Facebook插件Manychat生成动态内容

这次,小编来给大家说说,“关于Facebook插件Manychat进阶应用:生成动态内容”。希望对使用Manychat的用户有所帮助。
关于Facebook插件Manychat生成动态内容
关于Facebook插件Manychat生成动态内容

做跨境的应该都已经对Messanger Marketing都很了解了,随着Amazon对review的把控越来越严格,找review的难度也越来越大,这要求我们尽可能找到相应市场里购买记录良好的真实用户为我们留评。那么到哪里去找真实用户呢,SNS平台因为其高参与性自然就进入我们的视野,而其中Facebook也因为其用户量巨大且真实,成为我们SNS推广的首选。目前,SNS平台的流量引入Chatbot(Manychat、Chatbot或自己设计bot)引导用户留评的方式仍然是最高效且附加值比较高的。

而Chatbot在这里扮演着非常重要的角色。它们是流量的承接平台,也是我们引导用户留评最前线的通道。因此一个设计良好的chatbot不仅能极大的提高我们的效率,而且还能提高转化率并降低我们的广告费用。因为个人使用Manychat比较多,所以最近也会以Manychat为例来聊下chatbot在跨境电商里的作用。

这篇文章是Manychat系列之一,其他也会陆续更新。今天我们就来说下Manychat的Dynamic Block的基础知识吧,后面会在另一篇文章聊下应用。

动态内容(Dynamic Block)可以让我们接收服务器生成的message,并将其发送给我们的Subscribers。要想生成对应形式的message,我们需要让服务器根据Manychat的要求生成特定格式的数据,Manychat支持的message形式在这个文档里有详细说明。(此文后面也会说到)

首选,我们来看下如何创建动态内容~

创建动态内容

在创建flow时会发现Pro账户的下面有一个发送Dynamic的选项,这里就是我们创建动态内容的地方,如图:

关于Facebook插件Manychat生成动态内容
关于Facebook插件Manychat生成动态内容

选择了“Dynamic”之后,点击我们的动态内容,会弹出设置的对话框,如图:

关于Facebook插件Manychat生成动态内容
关于Facebook插件Manychat生成动态内容

好了,我们就在这里开始创建动态内容:

  1. 选择HTTP请求方法(GET或POST)
  2. Request URL那里输入生成数据的URL。如果我们现在还没有自己的服务器应用来生成数据,我们可以用Glitch提供的服务来做练习。这里也是用Glitch的应用来做测试(具体方法下一小节会介绍)
  3. 根据自己的需求填入请求的’Headers’和’Body’
  4. 都填写完后点’Test the Request’来测试下是否能返回自己想要的数据。返回200则代表访问成功。
    关于Facebook插件Manychat生成动态内容
    关于Facebook插件Manychat生成动态内容
  5. 都设置好之后就可以了,但最好再给动态内容添加一个Fallback步骤,Fallback会在动态内容出错的时候被调用。就是这里:
    关于Facebook插件Manychat生成动态内容
    关于Facebook插件Manychat生成动态内容

用Glicth应用练习

如果没有用来练习Dev Tools的服务器,我们可以用Glitch来做练习。Manychat官方在Glitch提供了供我们练习的start项目,我们直接去remix这个项目就可以了。

在Glitch上创建项目

  1. 首先我们打开manychat在Glitch提供的starter webhook项目,进去后点右上角的’Remix Your Own’按钮复制一份。
    关于Facebook插件Manychat生成动态内容
    关于Facebook插件Manychat生成动态内容
  2. 在左上角,点击’Show’,在下拉菜单选择在新窗口打开,并复制公共项目的URL。这就是我们用来生成数据的URL。
    关于Facebook插件Manychat生成动态内容
    关于Facebook插件Manychat生成动态内容
  3. 有了地址后,和上文一样,我们在创建一个动态内容的message。在‘Request URL’添加我们刚刚复制的服务器地址:
    关于Facebook插件Manychat生成动态内容
    关于Facebook插件Manychat生成动态内容
  4. 好了!现在我们点’Test the Request’来测试下,如果返回了’Hello from server!’,则说明我们成功从Glitch获取到了数据。
  5. 接下来我们就可以在Glitch里编写想要返回给动态内容的数据了。注意:服务器返回数据必须遵循Manychat的格式,这样才能生成正确样式的message。具体可以参考下文或Manychat的官方文档: Dynamic Block

好了,到这里我们已经可以动态生成内容了,如果chatbot的flow不是特别复杂,我们可以先将服务部署在glitch或heroku上,等后期项目复杂之后再迁到自己的服务器上。剩下的只需要熟悉Manychat为我们提供的内容格式了,Manychat官方文档在这里,这篇文章也会不断更新。

dynamic_block文档

Maynchat Dynamic Block原文档地址

响应的格式

服务器返回的json数据应该如下列格式:

 

{
  "version": "v2", //dynamic_block的版本
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text"
      },
      {
        ...Another messages
      }
    ],
    "actions": [  //optional
      {
        "action": "add_tag",
        "tag_name": "example tag"
      },
      {
        ...Another actions
      }
    ],
    "quick_replies": [ //optional
      {
        "type": "node",
        "caption": "Quick reply text",
        "target": "My Content"
      },
      {
        ...Another quick replies
      }
    ]
  }
}

PS: 动态内容API v2目前只支持不超过10条的messages,11条快捷回复和5个actions。其中“buttons”,“actions”和“quick_replies”属性是可选的。

Messages类型

文字

用来发送text信息,支持和url、flow、node、call buttons一起使用。”buttons”, “actions”, “quick_replies”属性可省略。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "url",
            "caption": "External link",
            "url": "https://manychat.com"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

图片、音频、视频

用来发送图片、音频、视频,支持JPG、PNG和GIF图片格式和25mb以内的音、视频文件,可以与url、call, buy、flow、node、share buttons一起使用。”buttons”, “actions”, “quick_replies”属性可省略。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "image",
        //"type": "video", 
        // "type": "audio",
        "url": "文件url地址",
        "buttons": []
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

文件

用来传送文件,支持25mb以内的文件,”actions”, “quick_replies”属性是可选择的。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "file",
        "url": "https://manybot-thumbnails.s3.eu-central-1.amazonaws.com/ca/xxxxxxzzzzzzzzz.pdf"
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

卡片Gallery(常用)

用来发送可水平滚动的卡片gallery,可以与url、call、buy、flow、node和share buttons一起使用。”action_url”, “buttons”, “actions”, “quick_replies”属性可省略。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "cards",
        "elements": [
          {
            "title": "Card title",
            "subtitle": "card text",
            "image_url": "https://manybot-thumbnails.s3.eu-central-1.amazonaws.com/ca/xxxxxxzzzzzzzzz.png",
            "action_url": "https://manychat.com",
            "buttons": []
          }
        ],
        "image_aspect_ratio": "horizontal"
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

action_url – 建议使用HTTPS的URL,HTTP地址在某些浏览器可能打不开。
image_aspect_ratio – 设置图片显示的纵横比。可以使用horizontal(默认)或者square(1:1)。

列表(常用)

用来发送列表,可以与url、flow、node和buy buttons一起使用,’top_element_style’, ‘action_url’, ‘buttons’, ‘actions’, ‘quick_replies’属性可省略。

列表有两种展示方式:

  1. ‘top_element_style’: ‘large’, 第一个列表元素以封面大图加文字的方式展示。
  2. ‘top_element_style’: ‘compact‘,无突出展示,所有列表元素形式相同(普通列表)。

列表可容纳元素数量在2~4个。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "list",
        "top_element_style": "compact",
        "buttons": [],
        "elements": [
          {
            "title": "list title1",
            "subtitle": "list substitle2",
            "image_url": "https://manybot-thumbnails.s3.eu-central-1.amazonaws.com/ca/xxxxxxzzzzzzzzz.png"
            "action_url": "https://manychat.com",
            "buttons": []
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

按钮(常用)

按钮分为call、url、share、flow、node和buy这几种类型,其中actions属性指定按钮触发时进行的actions,可以是url、flow或node button类型。actions属性可省略。
按钮基本格式:

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text",
        "buttons": [
          {
            "type": "url",
            "caption": "External link",
            "url": "https://manychat.com",
            "actions": [] //optional
          },
          {
            ...Another buttons
          }
        ]
      },
      {
        ...Another messages
      }
    ],
    "actions": [  //optional
      {
        "action": "add_tag",
        "tag_name": "example tag"
      },
      {
        ...Another actions
      }
    ],
    "quick_replies": [ //optional
      {
        "type": "node",
        "caption": "Quick reply text",
        "target": "My Content"
      },
      {
        ...Another quick replies
      }
    ]
  }
}

电话按钮

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "call",
            "caption": "Call me",
            "phone": "+1 (555) 555-55-55"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

URL按钮

URL按钮的webview_size属性有3种:(该属性定义在Manychat里打开url时窗口的大小,可省略)

  • full – (100%)
  • medium – (75%)
  • compact – (50%)

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "url",
            "caption": "External link",
            "url": "https://manychat.com",
            "webview_size": "full"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

分享按钮

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "share"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

节点按钮*

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "node",
            "caption": "Show",
            "target": "My Content"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

target 的值是节点名,其指定的节点必须存在于正在执行的flow。节点名可以在node的header里看到。连接到的节点的名字在该flow中必须是唯一的。跳转按钮仅支持flow内部访问,不支持Public API访问。
节点名在这里~

关于Facebook插件Manychat生成动态内容
关于Facebook插件Manychat生成动态内容

flow跳转按钮

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "flow",
            "caption": "Go",
            "target": "content20180221085508_278589"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

target 字段需要指定flow ID,flow ID可以在flow被打开时找到。如下图:

关于Facebook插件Manychat生成动态内容
关于Facebook插件Manychat生成动态内容

购买按钮

购买按钮只有在Stripe已经配置好的情况下使用。 “success_target” 属性可省略。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type":    "buy",
            "caption": "Buy",
            "customer": {
              "shipping_address": true,
              "contact_name":     false,
              "contact_phone":    true
            },
            "product": {
              "label": "T-shirt",
              "cost": 2250
            },
            "success_target": "My Content"
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

shipping_address, contact_name, contact_phone 字段是必须的,要用来设置付款表单;
product.cost 应该按照美分来计数(比如$22.5需要指定的值是2250)
success_target 字段需要连接到执行中flow的某个节点,节点名可以在节点的头部找到,连接到的节点的名字在该flow中必须是唯一的。

Dynamic block callback按钮

‘headers’, ‘payload’属性可省略。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "simple text with button",
        "buttons": [
          {
            "type": "dynamic_block_callback",
            "caption": "Dynamic content",
            "url": "https://your-service.com/dynamic",
            "method": "post",
            "headers": {
              "x-header": "value"
            },
            "payload": {
              "key": "value"
            }
          }
        ]
      }
    ],
    "actions": [],
    "quick_replies": []
  }
}

该按钮的工作方式和动态内容一样,都会向服务器请求内容,并生成Manychat相应格式的内容。

Actions类型

actions属性是在所有类型的数据中都是可选的。

添加/删除标签

为subscriber添加/删除标签,标签必须存在。

 

{
  "version": "v2",
  "content": {
    "messages": [{}],
    "actions": [
    //添加标签
      {
        "action": "add_tag",
        "tag_name": "your tag",
      },
     //删除标签
      {
        "action": "remove_tag",
        "tag_name": "your tag",
       }
    ],
    "quick_replies": []
  }
}

添加/清除custom field

为用户添加/清除custom field,custom field必须存在。
PS:添加custom field时要注意其数据类型,必须符合原来定义的数据类型。

 

{
  "version": "v2",
  "content": {
    "messages": [{}],
    "actions": [
    // 添加custom field
      {
        "action": "set_field_value",
        "field_name": "your field name",
        "value": "some value"
      },
      // 删除custom field
      {
        "action": "unset_field_value",
        "field_name": "your field name",
        "value": "some value"
      }
    ],
    "quick_replies": []
  }
}

custom field支持的数据类型

  • Number :2 or 3.14
  • Text:”文字”
  • Date:采用YYYY-MM-DD格式,类似”2018-03-25″
  • Date Time:采用ISO8601 UTC格式,类似”2018-03-25T13:25:00.000Z”
  • True/False:true或false

快捷回复

quick_replies 是可选的。 如果动态内容里内容块之后还有其他内容,则不能使用快捷回复。快捷回复的设置和按钮相同,支持content, node, dynamic_block_callback 3种类型。

跳转到某节点

 

{
  "version": "v2",
  "content": {
    "messages": [{}],
    "actions": [],
    // 此处定义快捷回复
    "quick_replies": [
      {
        "type": "node",
        "caption": "Show",
        "target": "My Content"
      }
    ]
  }
}

此处对节点的要求和go to node按钮的要求相同。

跳转到flow

 

{
  "version": "v2",
  "content": {
    "messages": [{}],
    "actions": [],
    "quick_replies": [
      {
        "type": "flow",
        "caption": "Go",
        "target": "content20180221085508_278589"
      }
    ]
  }
}

动态内容快捷回复

headerspayload属性是可选的。

 

{
  "version": "v2",
  "content": {
    "messages": [{}],
    "actions": [],
    "quick_replies": [
      {
        "type": "dynamic_block_callback",
        "caption": "Dynamic content",
        "url": "https://your-service.com/dynamic",
        "method": "post",
        "headers": {
          "x-header": "value"
        },
        "payload": {
          "key": "value"
      }
    ]
  }
}

External Message Callback

external_message_callback 属性是可选的,该属性可以将用户输入的数据传给特定的服务器处理。
payload里的{{last_input_text}} 变量保存着用户的message信息。该信息默认且最多保存一天,可以在payload里用timeouit属性来指定保存的时间。

 

{
  "version": "v2",
  "content": {
    "messages": [
      {
        "type": "text",
        "text": "Hello! How are you?"
      }
    ],
    "actions": [],
    "quick_replies": [],
    "external_message_callback": {
        "url": "https://your-service.com/dynamic",
        "method": "post",
        "headers": {
          "x-header": "value"
        },
        "payload": {
          "id": "{{user_id}}",
          "last_input_text": "{{last_input_text}}",
          "key": "value"
        },
        "timeout": 600
    }
  }
}

external_message_callback 和动态内容工作方式相同。


变量

在动态内容的请求体里(Request),可以使用Full Subscriber Data变量,该变量包含了subscriber的所有信息。

 

{
    "id": 13245647xxxxxxxxx,
    "key": "user:13245647xxxxxxxxx",
    "page_id": 234564657xxxxxxxx,
    "status": "active",
    "first_name": "Subscriber",
    "last_name": "Lastname",
    "name": "Subscriber Lastname",
    "gender": "male",
    "profile_pic": "https://xxxxxxxxx.com/subscribers/big_xxxxxxxxxxxxxxxx.jpg",
    "locale": "en_US",
    "language": "English",
    "timezone": "UTC-07",
    "live_chat_url": "https://manychat.com/fb234564657xxxxxxxx/chat/13245647xxxxxxxxx",
    "last_input_text": "Last subscriber's input text",
    "last_growth_tool": null,
    "subscribed": "2018-07-02T00:00:00+00:00",
    "last_interaction": "2018-07-02T00:00:00+00:00",
    "last_seen": "2018-07-02T00:00:00+00:00",
    "custom_fields": {
        "customField": 0.75,
        "customDate": "2018-05-31",
        "customBool": true,
        ...
    }

}

 

原创文章,作者:SONIC SEO,如若转载,请注明出处:https://www.seo388.com/manychat-dtnr/

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年1月10日 16:51
下一篇 2020年1月12日 13:15

相关推荐

  • 亚马逊新品的广告结构如何搭建?

    亚马逊新品的广告结构如何搭建? 广告结构大方向分三种 一种引流为主  一种是引流及转化平衡 一种以转化为主 既然问题是新品 那么前期基本会以引流的广告结构去做 例如: 一个产品 日均有100刀的广告预算去分配 那么广告预算基本都围绕引流的广告架构去做分配 集中80%的预算以引流为主 20%做辅助转化 引流的广告架构也可简单分为以下3种 1: 搜索流量端的引流…

    2022年6月15日
    0225
  • 2020年亚马逊FBA操作流程与运费设置

    这次,小编来给大家说说,关于 “2020年亚马逊FBA操作流程与运费设置”。 希望能帮助想做跨境电商亚马逊店铺的新手小伙伴们哦! 亚马逊FBA操作流程 1.卖家发送商品至亚马逊运营中心 2.亚马逊存储你的产品 3.客户订购你的产品 4.亚马逊对产品进行拣货包装 5.亚马逊快捷配送商品并提供客户服务 发货设置的模式 亚马逊提供了三种标准…

    2020年9月17日 跨境电商
    0692
  • 推荐10种外贸B2B网站的海外网络营销推广方法

    这次,小编来给大家推荐 “10种外贸B2B网站的海外网络营销推广方法”。希望能帮助做海外网络营销推广的小伙伴哈。 其实呢,外贸B2B网站与外贸B2C网站做海外推广的方式很不一样,B2B更注重品牌,信任背书等,所以推广方式比较精细化,重品牌运营。B2C行业更注重新颖、性价比、也注重品牌,但是没有B端那么重视,很多消费者也是冲动消费。 正…

    2020年3月28日 跨境电商
    01.0K
  • 国外社交媒体Social Media竞赛抽奖活动平台推荐

    如果要说 “增加粉丝、寻找潜在客户和生成用户的好方法?” 小编觉得,在国外的Social Media社交媒体上举办竞赛是一个好办法。 下面,小编来介绍一些外国的网站平台,国外社交媒体Social Media竞赛抽奖活动平台推荐。这些外国网站平台是一些可以在社交媒体上举办竞赛的平台。可用于抽奖、赠送、测验、摄影和视频竞赛、标签竞赛等。 1)Rafflecopt…

    2019年9月8日 网络营销推广
    03.1K
  • 2020年最新日本站亚马逊FBA运费怎么计算?

    这次,小编来给大家说说,关于 “2020年最新日本站亚马逊FBA运费怎么计算?” 希望能帮助做日本亚马逊跨境电商FBA的小伙伴们哦。FBA就是先把货寄到亚马逊仓库里存放,然后使用亚马逊仓库自动发货,一般是买家付运费,如果是Prime会员的话就免运费哦! FBA费用是仓储费和配送费的总和 2.FBA费用细节 (1)仓储费 根据保管于亚马逊运营中心的所有商品的尺…

    2020年9月17日 跨境电商
    0740
  • 那些年,亚马逊卖家遇到的那些坑

    这次,小编来给大家分享一下,关于“那些年,亚马逊卖家遇到的那些坑”。 亚马逊卖家深夜血泪控诉史:被VC这条巨蟒盯上后…… 夜已深,怀着沉痛的心情写下这大半年的亚马逊血泪史,我要控诉这群挨千刀的王八蛋,搅屎棍,刽子手!! 不在沉默中爆发,就在沉默中灭亡!我已经走投无路了。。。对,我被逼的已经破产了,不是我能力不行,是一群妖魔鬼怪要让我死。可是我没办法看着公司死…

    2021年2月3日 跨境电商
    0575
  • 2020年跨境电商势如破竹

    这次,小编来给大家说说,近期跨境电商的形势吧!还有什么是DTC时代?2020年跨境电商势如破竹,DTC就是英文Direct to Customer(直接对应客户)的缩写,Direct to Customer时代来临,跨境电商转型势不可挡! 在未来,在将来的10年内,跨境电商业务前景广阔,下一个增长时代已经到来。预计到2020年,全球跨境网购消费金额将达到1万…

    2020年9月17日 跨境电商
    0785
  • 2021年亚马逊吊打跟卖攻略分享

    这次,小编来给大家分享的是,关于 “2021年亚马逊吊打跟卖攻略”。 每当亚马逊卖家和运营提到“跟卖”,跟卖这算是一个让大部分亚马逊卖家脑壳疼的问题。最近,有做亚马逊的朋友反应被跟卖了怎么办呀,那可是很努力很努力才做起来的产品。有没有什么方法解决一下呢?这次,小编就为大家总结一些能够有效赶走跟卖的方法。 1.最好点的方法当然是注册商标和专利了,能给品牌持有者…

    2021年4月8日 跨境电商
    0553
  • 假如能入驻美国百思买(Best Buy)那3C类目将会很无敌

    这次,小编来给大家说说,“假如能入驻美国百思买(Best Buy)那3C类目将会很无敌”的这个话题。小编曾经在美国读了个研究生,大概在美国生活了3年,对美国还是挺熟悉的。美国人买电器和3C类目产品的话,喜欢去Best Buy购买哦!就是美国的一家本土的3C类目电器大超市,假如能入驻,那就非常厉害了!不过目前好像没有入驻的渠道呢。 百思买集团(Best Buy…

    2021年3月23日
    01.7K
  • 关于进阶高段卖家,基本上看懂这些后台数据就够了?

    这次,小编来给大家说说,关于“关于进阶高段卖家,基本上看懂这些后台数据就够了?”的这个话题。 亚马逊卖家中心提供了许多业务报告,包括与库存、订单、退货、广告、税务等相关的数据,但本文重点不是介绍这些数据,而是涉及寻找和使用可直接对你的销售业务有帮助的报告。 1.查找有机会实现转化的产品 通常,点击率低但转化率高的产品会选择利用PPC广告。你可以驱动额外的流量…

    2021年4月8日 跨境电商
    0488
  • 亚马逊广告竞价出价应该如何设置?

    这次,小编来给小伙伴们说说,关于 “亚马逊广告竞价出价应该如何设置?” 亚马逊广告投入成本在亚马逊店铺运营过程中占有一份比例,如何降低广告成本的同时还能达到效果是卖家一直在思考的事情。亚马逊广告竞价设置多少合适?没有哪个人可以很明确的告诉你广告竞价就应该设置为这个数,每个卖家的产品、店铺都不一样,可能这个数字适合A卖家,但放在B卖家身上就不一定适用。建议从上…

    2021年1月4日
    0606
  • 亚马逊黄金购物车规则解析分享

    这次,小编来给大家分享的是,关于 “亚马逊黄金购物车规则解析分享”。 希望能帮助到小伙伴们!  

    2021年3月23日 跨境电商
    0582