You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看聊天机器人接收的原始JSON数据?

How to View Raw JSON Data Received by Your Messenger Chatbot

Hey there! Since you're hosting a Messenger chatbot and want to peek at the raw JSON payloads it receives, here are some simple, actionable ways to do it based on common setups:

1. Log the Payload Directly in Your Code

The most straightforward approach is to print or log the entire incoming request body right where your webhook handles the POST request. Here are examples for popular frameworks:

Node.js/Express

const express = require('express');
const app = express();

// Parse JSON requests
app.use(express.json());

app.post('/webhook', (req, res) => {
  // Log the formatted raw JSON to your console
  console.log('Received raw JSON payload:\n', JSON.stringify(req.body, null, 2));
  
  // Don't forget to send a 200 response to Facebook
  res.status(200).send('EVENT_RECEIVED');
});

app.listen(3000, () => console.log('Chatbot server running on port 3000'));

Python/Flask

from flask import Flask, request

app = Flask(__name__)

@app.route('/webhook', methods=['POST'])
def webhook():
    # Get the raw JSON data from the request
    raw_payload = request.get_json()
    # Print it to your console
    print('Received raw JSON payload:\n', raw_payload)
    
    # Respond to Facebook to confirm receipt
    return '', 200

if __name__ == '__main__':
    app.run(port=3000, debug=True)

Every time your bot gets a message, this will spit out the full formatted JSON (just like the example you shared) to your console, so you can see sender IDs, message text, NLP entities, and all other details.

2. Inspect Requests with Debugging Tools

If you don't want to tweak your code, or want a more visual way to check requests, use tools like ngrok alongside your browser's developer tools:

  • Use ngrok to expose your local server to the public internet (so Facebook can send webhook requests to your machine)
  • Open your browser's DevTools (press F12), go to the Network tab
  • When your bot receives a message, you'll see a POST request from Facebook in the network list. Click it, then look at the Request Body section to view the raw JSON.

3. Save Payloads to a File or Database

If you need to store these raw payloads for later analysis or debugging, you can write them to a local file or database. Here's a quick Node.js example of appending to a log file:

const fs = require('fs');
const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhook', (req, res) => {
  const formattedPayload = JSON.stringify(req.body, null, 2);
  // Append the payload to a log file with a separator
  fs.appendFileSync('chatbot_raw_logs.txt', `${formattedPayload}\n---\n`, 'utf8');
  
  res.status(200).send('EVENT_RECEIVED');
});

app.listen(3000);

This will save every incoming JSON payload to chatbot_raw_logs.txt, making it easy to go back and review past requests.

Just a quick note: The JSON example you shared is exactly the standard payload structure Facebook sends via webhooks—so all these methods will capture that full structure, including page info, sender/recipient details, message content, and NLP data.

内容的提问来源于stack exchange,提问作者moseoridev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:37:19