SlideShare a Scribd company logo
Let’s Chat about WeChat
Disclaimer
This presentation was prepared by the author in his personal capacity. All material used in this
presentation is publicly available, and its use does not infringe any reserved right, “need to know”
agreement or NDA that may have been signed by the Author, or by his employer on his behalf.
The opinions herein expressed are the author's own and do not reflect the views of his employer.
Chat
Chat (cont’d)
Moments
Wallet
Wallet apps
Subscription/ Service Accounts
Subscription/ Service Accounts (cont’d)
What’s the status of my
order ORD-22746248??
(ORD)-d{8}
Hello Alessio!
Your order number
ORD-22746248 left our
warehouse yesterday at
11:45pm HKT.
You can track the shipment
using this link:
https://track.aftership.com/
1ZXF14759096815439
Your
server
Tencent
server
In-chat
SELECT *
FROM ORDERS
WHERE ID=
”ORD-22746248”
SELECT *
FROM ORDERS
WHERE ID=
”ORD-22746248”
What’s the status of my
order ORD-22746248??
Hello Alessio!
Your order number
ORD-22746248 left our
warehouse yesterday at
11:45pm HKT.
You can track the shipment
using this link:
https://track.aftership.com/
1ZXF14759096815439
Your
server
Tencent
server
In-chat
Let me know when my order
ORD-22746248 is delivered!
Hello Alessio!
Your order number
ORD-22746248 have been
delivered today at 11:45pm
HKT.
You can track the shipment
using this link:
https://track.aftership.com/
1ZXF14759096815439
Your
server
Tencent
server
In-chat
INSERT INTO
NOTIF (id, event)
VALUES
(“ORD-22746248”,
“delivered”);
!
Your
server
Tencent
server
In-Browser
web page
2. open
page in
embedded
web
browser
1. send
event
message
to your
server (via
Tencent)
In-Browser
IF
a. page runs inside the WeChat browser
b. page runs from an authorised domain
c. page provide valid auth token/signature
THEN
page can use the WeChat JS API (via
wx./jWeixin. object)
When the page opens, you have to wait for the browser to call:
wx.ready(function(){ // ... });
then you can start making calls to the WeChat JS API.
wx.checkJsApi({
jsApiList: ['chooseImage'] // List of JS APIs to be checked.
success: function(res) {
// Key-value pairs, false for unavailable APIs
// Example:
// { "checkResult": {"chooseImage":true},
// "errMsg":"checkJsApi:ok" }
});
Each API calls, as a result of its invocation, some callbacks:
● success: ok
● fail: ko
● complete: called no matter what
Some API have also:
● cancel: if the API displays an UI with buttons and the user tap cancel
● trigger: called when some menu items are clicked
JavaScript API
● Share on Moments/ Send to Chat
● Image Picker/ Camera/ Image Preview/ Upload/ Download
● Audio Record/Play/Upload/Download
● Voice Dictation
● Device Info and Network Status
● Location
○ View Location on a Map within WeChat
○ Get Location
● Interface Controls
● Hide/ Display Top Right Menu
● Hide/Close Current Window
● Hide/ Display menu items and item groups
● Scanning a QR Code
● Coupons picker
● Add/ View Coupons in WeChat Card Pack
● WiFi hotspot
● Request a payment (¥ amount from the user’s WeChat Wallet)
...this essentially is the “WeChat Platform” everyone’s talking about: some JS, and a web browser!
http://admin.wechat.com/wiki/
September… mini-apps!
September… mini-apps!
Mini-apps:
● Login
● UI widget library (animation, slides, pickers, …)
● Canvas
● Local data storage
● Requests, Websockets
● Image Picker/ Camera/ Image Preview/ Upload/ Download
● Audio Record/Play/Upload/Download
● Device Info and Network Status, Sensors (compass, accelerometer, ..)
● File upload/management
● Location
○ View Location on a Map within WeChat
○ Get Location
● Scanning a QR Code
● Coupons picker
● Add/ View Coupons in WeChat Card Pack
● Can be added to home screen
● Request a payment (¥ amount from the user’s WeChat Wallet)
( https://pay.weixin.qq.com/wiki/doc/api/index.html )
https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=20161122
The problem
$10M
$20M
$17M
Some services built on top of WeChat...
https://www.grata.co/
...beyond WeChat?
WhatsApp have no public API, and actively ban
numbers of applications that interface with their
servers directly using FunXMPP.
Line have what they call
“Business Connect”.
You can send/receive
messages, and develop
“channel web apps” similar to
the way you do in WeChat
official accounts.
...beyond WeChat?
...beyond WeChat?
https://developers.facebook.com/docs/messenger-plat
form/complete-guide/payments
...beyond WeChat?
https://developer.apple.com/reference/applepayjs
https://developers.google.com/web/updates/
2016/07/payment-request
https://developers.google.com/web/fundame
ntals/discovery-and-monetization/payment-re
quest/
Questions?
@alxdwn

More Related Content

Similar to Let's Chat about WeChat... one year later

What is NOSTR? - Meetup#8 - 2023-01-12
What is NOSTR? - Meetup#8 - 2023-01-12What is NOSTR? - Meetup#8 - 2023-01-12
What is NOSTR? - Meetup#8 - 2023-01-12
RoundRockBitcoiners
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
Robert Nyman
 
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas SeriotASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
Cyber Security Alliance
 
Python Development - V2STech Corporate presentation
Python Development - V2STech Corporate presentationPython Development - V2STech Corporate presentation
Python Development - V2STech Corporate presentation
V2STech Solutions Private limited
 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008
Jorgen Thelin
 
Enterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript DevelopersEnterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript Developers
AndreCharland
 
Xwin ICO digest
Xwin ICO digestXwin ICO digest
Xwin ICO digest
Andre Varnavskii
 
TokenID introduction
TokenID introductionTokenID introduction
TokenID introduction
Leonid Voldman
 
OAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App DevelopersOAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App Developers
Prabath Siriwardena
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
Channa Ly
 
How OAuth and portable data can revolutionize your web app - Chris Messina
How OAuth and portable data can revolutionize your web app - Chris MessinaHow OAuth and portable data can revolutionize your web app - Chris Messina
How OAuth and portable data can revolutionize your web app - Chris Messina
Carsonified Team
 
OAuth FTW
OAuth FTWOAuth FTW
OAuth FTW
Chris Messina
 
bitcoin app - Google Docs.pdf
bitcoin app - Google Docs.pdfbitcoin app - Google Docs.pdf
bitcoin app - Google Docs.pdf
harikacheluru
 
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Eran Stiller
 
Terence Barr - beyond smartphones - 24mai2011
Terence Barr  - beyond smartphones - 24mai2011Terence Barr  - beyond smartphones - 24mai2011
Terence Barr - beyond smartphones - 24mai2011
Agora Group
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Introduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendIntroduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backend
Joseluis Laso
 
Razorpay
RazorpayRazorpay
Razorpay
mobi fly
 
Implementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking SiteImplementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking Site
David Keener
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patterns
Pieter Ennes
 

Similar to Let's Chat about WeChat... one year later (20)

What is NOSTR? - Meetup#8 - 2023-01-12
What is NOSTR? - Meetup#8 - 2023-01-12What is NOSTR? - Meetup#8 - 2023-01-12
What is NOSTR? - Meetup#8 - 2023-01-12
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas SeriotASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
ASFWS 2013 Rump Session - Abusing Twitter API One year later… Nicolas Seriot
 
Python Development - V2STech Corporate presentation
Python Development - V2STech Corporate presentationPython Development - V2STech Corporate presentation
Python Development - V2STech Corporate presentation
 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008
 
Enterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript DevelopersEnterprise AIR Development for JavaScript Developers
Enterprise AIR Development for JavaScript Developers
 
Xwin ICO digest
Xwin ICO digestXwin ICO digest
Xwin ICO digest
 
TokenID introduction
TokenID introductionTokenID introduction
TokenID introduction
 
OAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App DevelopersOAuth 2.0 for Web and Native (Mobile) App Developers
OAuth 2.0 for Web and Native (Mobile) App Developers
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
How OAuth and portable data can revolutionize your web app - Chris Messina
How OAuth and portable data can revolutionize your web app - Chris MessinaHow OAuth and portable data can revolutionize your web app - Chris Messina
How OAuth and portable data can revolutionize your web app - Chris Messina
 
OAuth FTW
OAuth FTWOAuth FTW
OAuth FTW
 
bitcoin app - Google Docs.pdf
bitcoin app - Google Docs.pdfbitcoin app - Google Docs.pdf
bitcoin app - Google Docs.pdf
 
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)
 
Terence Barr - beyond smartphones - 24mai2011
Terence Barr  - beyond smartphones - 24mai2011Terence Barr  - beyond smartphones - 24mai2011
Terence Barr - beyond smartphones - 24mai2011
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
Introduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendIntroduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backend
 
Razorpay
RazorpayRazorpay
Razorpay
 
Implementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking SiteImplementing OpenID for Your Social Networking Site
Implementing OpenID for Your Social Networking Site
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patterns
 

Recently uploaded

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 

Recently uploaded (20)

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 

Let's Chat about WeChat... one year later

  • 2. Disclaimer This presentation was prepared by the author in his personal capacity. All material used in this presentation is publicly available, and its use does not infringe any reserved right, “need to know” agreement or NDA that may have been signed by the Author, or by his employer on his behalf. The opinions herein expressed are the author's own and do not reflect the views of his employer.
  • 10. What’s the status of my order ORD-22746248?? (ORD)-d{8} Hello Alessio! Your order number ORD-22746248 left our warehouse yesterday at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat SELECT * FROM ORDERS WHERE ID= ”ORD-22746248”
  • 11. SELECT * FROM ORDERS WHERE ID= ”ORD-22746248” What’s the status of my order ORD-22746248?? Hello Alessio! Your order number ORD-22746248 left our warehouse yesterday at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat
  • 12. Let me know when my order ORD-22746248 is delivered! Hello Alessio! Your order number ORD-22746248 have been delivered today at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat INSERT INTO NOTIF (id, event) VALUES (“ORD-22746248”, “delivered”); !
  • 13. Your server Tencent server In-Browser web page 2. open page in embedded web browser 1. send event message to your server (via Tencent)
  • 14. In-Browser IF a. page runs inside the WeChat browser b. page runs from an authorised domain c. page provide valid auth token/signature THEN page can use the WeChat JS API (via wx./jWeixin. object) When the page opens, you have to wait for the browser to call: wx.ready(function(){ // ... }); then you can start making calls to the WeChat JS API. wx.checkJsApi({ jsApiList: ['chooseImage'] // List of JS APIs to be checked. success: function(res) { // Key-value pairs, false for unavailable APIs // Example: // { "checkResult": {"chooseImage":true}, // "errMsg":"checkJsApi:ok" } }); Each API calls, as a result of its invocation, some callbacks: ● success: ok ● fail: ko ● complete: called no matter what Some API have also: ● cancel: if the API displays an UI with buttons and the user tap cancel ● trigger: called when some menu items are clicked
  • 15. JavaScript API ● Share on Moments/ Send to Chat ● Image Picker/ Camera/ Image Preview/ Upload/ Download ● Audio Record/Play/Upload/Download ● Voice Dictation ● Device Info and Network Status ● Location ○ View Location on a Map within WeChat ○ Get Location ● Interface Controls ● Hide/ Display Top Right Menu ● Hide/Close Current Window ● Hide/ Display menu items and item groups ● Scanning a QR Code ● Coupons picker ● Add/ View Coupons in WeChat Card Pack ● WiFi hotspot ● Request a payment (¥ amount from the user’s WeChat Wallet) ...this essentially is the “WeChat Platform” everyone’s talking about: some JS, and a web browser! http://admin.wechat.com/wiki/
  • 18. Mini-apps: ● Login ● UI widget library (animation, slides, pickers, …) ● Canvas ● Local data storage ● Requests, Websockets ● Image Picker/ Camera/ Image Preview/ Upload/ Download ● Audio Record/Play/Upload/Download ● Device Info and Network Status, Sensors (compass, accelerometer, ..) ● File upload/management ● Location ○ View Location on a Map within WeChat ○ Get Location ● Scanning a QR Code ● Coupons picker ● Add/ View Coupons in WeChat Card Pack ● Can be added to home screen ● Request a payment (¥ amount from the user’s WeChat Wallet) ( https://pay.weixin.qq.com/wiki/doc/api/index.html ) https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=20161122
  • 20.
  • 21. Some services built on top of WeChat... https://www.grata.co/
  • 22. ...beyond WeChat? WhatsApp have no public API, and actively ban numbers of applications that interface with their servers directly using FunXMPP. Line have what they call “Business Connect”. You can send/receive messages, and develop “channel web apps” similar to the way you do in WeChat official accounts.