1,44,00,00,000+ पिछले 12 महीनों में सेवा प्रदान की गई एपीआई कॉल
एक ही REST API और 10 से अधिक भाषाओं के लिए SDK के माध्यम से टिप्पणियाँ, मॉडरेशन और सोशल फीड्स उपलब्ध हैं। अपने बैकएंड से डेटा फ़ेच करें, पोस्ट करें और मॉडरेट करें, फिर वेबसॉकेट के माध्यम से प्रत्येक रीडर को रीयल-टाइम में नई गतिविधि स्ट्रीम करें।
FastComments सिर्फ कमेंट्स से कहीं बढ़कर है। एक ही API और SDK सूट का उपयोग करके चर्चाएँ, मॉडरेशन और सोशल फीड्स बनाएँ।
थ्रेडेड कमेंट्स और लाइव चैट। फ़ेच करें, पोस्ट करें, वोट करें, पिन करें, रिप्लाई करें और सर्च करें, साथ ही SSO और रीयलटाइम अपडेट भी इसमें शामिल हैं।
40 से अधिक एंडपॉइंट्स वाला एक समर्पित मॉडरेशन प्लेटफॉर्म। स्वचालित स्पैम फ़िल्टरिंग द्वारा समर्थित, अनुमोदन, फ़्लैग, ब्लॉक, प्रतिबंध, लॉक और ऑडिट करें।
पोस्ट, मीडिया, प्रतिक्रियाओं और फॉलो के माध्यम से गतिविधि और सोशल फीड बनाएं, फिर प्रत्येक क्लाइंट के लिए नए पोस्ट लाइव करें।
cURL और Node, Python, PHP, Ruby, Go, Java, Rust, Swift और C++ के लिए टाइप किए गए SDK उपलब्ध हैं। 200 से अधिक एंडपॉइंट टिप्पणियों, वोटों, पेजों, SSO उपयोगकर्ताओं, फ़ीड पोस्ट, मॉडरेशन और सूचनाओं को कवर करते हैं, और ये सभी एक ही API कुंजी के अंतर्गत आते हैं।
npm install fastcomments-sdkimport { createFastCommentsSDK } from 'fastcomments-sdk/server';
const sdk = createFastCommentsSDK({
apiKey: 'your-api-key' // server-side only
});
// Fetch comments for a page
const { comments } = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
// Post a comment
await sdk.publicApi.createCommentPublic({
tenantId: 'your-tenant-id',
broadcastId: crypto.randomUUID(),
createComment: {
urlId: 'page-url-id',
url: 'https://example.com/post',
comment: 'Hello from the API!',
commenterName: 'Alice'
}
});
# Fetch comments for a page curl -s 'https://fastcomments.com/api/v1/comments?tenantId=your-tenant-id&urlId=page-url-id' \ -H 'x-api-key: YOUR_API_KEY'
pip install fastcommentsimport client
from client.api.public_api import GetCommentsPublicOptions
with client.ApiClient() as api_client:
api = client.PublicApi(api_client)
response = api.get_comments_public(
"your-tenant-id",
"page-url-id",
GetCommentsPublicOptions(page=0, limit=30),
)
for comment in response.comments:
print(comment.commenter_name, comment.comment)
composer require fastcomments/fastcomments-php<?php
require_once(__DIR__ . '/vendor/autoload.php');
$api = new FastComments\Client\Api\PublicApi(new GuzzleHttp\Client());
$result = $api->getCommentsPublic('your-tenant-id', 'page-url-id', [
'page' => 0,
'limit' => 30,
]);
foreach ($result->getComments() as $comment) {
echo $comment->getCommenterName() . ': ' . $comment->getComment() . PHP_EOL;
}
gem install fastcommentsrequire 'fastcomments-client'
api = FastCommentsClient::PublicApi.new
result = api.get_comments_public('your-tenant-id', 'page-url-id', { page: 0, limit: 30 })
result.comments.each do |comment|
puts "#{comment.commenter_name}: #{comment.comment}"
end
go get github.com/fastcomments/fastcomments-gopackage main
import (
"context"
"fmt"
openapiclient "github.com/fastcomments/fastcomments-go/client"
)
func main() {
client := openapiclient.NewAPIClient(openapiclient.NewConfiguration())
resp, _, err := client.PublicAPI.
GetCommentsPublic(context.Background(), "your-tenant-id").
UrlId("page-url-id").Page(0).Limit(30).Execute()
if err != nil {
panic(err)
}
for _, c := range resp.Comments {
fmt.Printf("%s: %s\n", c.GetCommenterName(), c.GetComment())
}
}
import com.fastcomments.api.PublicApi;
PublicApi api = new PublicApi();
var result = api.getCommentsPublic("your-tenant-id", "page-url-id")
.page(0)
.limit(30)
.execute();
System.out.println(result.getComments());
use fastcomments_sdk::client::apis::configuration::Configuration;
use fastcomments_sdk::client::apis::public_api::{get_comments_public, GetCommentsPublicParams};
let config = Configuration::new();
let params = GetCommentsPublicParams {
tenant_id: "your-tenant-id".to_string(),
url_id: "page-url-id".to_string(),
page: Some(0),
limit: Some(30),
..Default::default()
};
let result = get_comments_public(&config, params).await.unwrap();
for comment in result.comments {
println!("{:?}: {:?}", comment.commenter_name, comment.comment);
}
import FastCommentsSwift
var options = PublicAPI.GetCommentsPublicOptions()
options.page = 0
options.limit = 30
let result = try await PublicAPI.getCommentsPublic(
tenantId: "your-tenant-id",
urlId: "page-url-id",
options: options
)
print(result.comments ?? [])
#include "FastCommentsClient/api/PublicApi.h"
#include "FastCommentsClient/ApiClient.h"
#include "FastCommentsClient/ApiConfiguration.h"
using namespace org::openapitools::client::api;
auto config = std::make_shared<ApiConfiguration>();
config->setBaseUrl(utility::conversions::to_string_t("https://fastcomments.com"));
PublicApi publicApi(std::make_shared<ApiClient>(config));
auto resp = publicApi.getCommentsPublic(
utility::conversions::to_string_t("your-tenant-id"),
utility::conversions::to_string_t("page-url-id")
).get();
एक कनेक्शन खोलें और हर नए कमेंट, एडिट, वोट और प्रेजेंस अपडेट को तुरंत पाएं। कोई भी इवेंट मिस नहीं होगा: दोबारा कनेक्ट होने पर इवेंट लॉग को फिर से फ़ेच किया जाता है ताकि क्लाइंट के ऑफ़लाइन रहने के दौरान भेजे गए सभी इवेंट्स को रीप्ले किया जा सके। Node, React Native, Java, Swift और C++ के लिए नेटिव वेबसॉकेट सब्सक्राइबर उपलब्ध हैं। बाकी सभी भाषाएं इवेंट लॉग को पोल करके रीयलटाइम में काम करती हैं।
npm install fastcomments-sdkimport { subscribeToChanges, LiveEventType } from 'fastcomments-sdk/browser';
const config = { tenantId: 'your-tenant-id', urlId: 'page-url-id' };
const subscription = subscribeToChanges(
config,
'your-tenant-id', // tenantIdWS
'page-url-id', // urlIdWS
'user-session-id', // userIdWS (from the getComments response)
(event) => {
if (event.type === LiveEventType.new_comment) {
console.log('New comment:', event.comment?.comment);
}
return true; // event handled
},
(isConnected) => console.log(isConnected ? 'connected' : 'disconnected')
);
// later: subscription.close();
npm install fastcomments-react-native-sdkimport React, { useState } from 'react';
import { FastCommentsLiveCommenting } from 'fastcomments-react-native-sdk';
import { FastCommentsCommentWidgetConfig } from 'fastcomments-typescript';
export default function Comments() {
// <FastCommentsLiveCommenting> subscribes to the live feed automatically.
const [config] = useState<FastCommentsCommentWidgetConfig>({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
showLiveRightAway: true,
countAll: true,
});
return <FastCommentsLiveCommenting config={config} />;
}
import com.fastcomments.pubsub.LiveEventSubscriber;
import com.fastcomments.pubsub.SubscribeToChangesResult;
import com.fastcomments.core.CommentWidgetConfig;
import com.fastcomments.model.LiveEventType;
CommentWidgetConfig config = new CommentWidgetConfig();
config.tenant = "your-tenant-id";
config.urlId = "page-url-id";
LiveEventSubscriber subscriber = new LiveEventSubscriber();
SubscribeToChangesResult result = subscriber.subscribeToChanges(
config,
"your-tenant-id", // tenantIdWS
"page-url-id", // urlId
"page-url-id", // urlIdWS
"my-presence-id", // userIdWS
null, // canSeeCommentsCallback (optional)
(event) -> {
if (event.getType() == LiveEventType.NEW_COMMENT) {
System.out.println("New comment: " + event.getComment().getId());
}
}
);
// later: result.close();
import FastCommentsSwift
let config = LiveEventConfig(
tenantId: "your-tenant-id",
urlId: "page-url-id",
urlIdWS: "page-url-id", // URL-safe id for the WS server
userIdWS: "my-presence-id"
)
let subscriber = LiveEventSubscriber()
let result = subscriber.subscribeToChanges(config: config) { event in
if event.type == .newComment, let comment = event.comment {
print("New comment: \(comment.id ?? "")")
}
}
// later: result?.close()
#include <fastcomments/live/live_stream.hpp>
#include <iostream>
using namespace fastcomments::live;
LiveStreamConfig cfg;
cfg.wsBaseUrl = "wss://fastcomments.com"; // no trailing slash
LiveStream stream(cfg);
stream.onEvent([](const LiveEvent& ev) {
if (ev.type == EventType::NewComment) {
std::cout << "New comment at " << ev.timestamp << std::endl;
}
});
stream.subscribe("your-tenant-id", "page-url-id", "my-presence-id").wait();
// later: stream.close().wait();
pip install fastcommentsimport time
import client
with client.ApiClient() as api_client:
api = client.PublicApi(api_client)
start_time = int(time.time() * 1000) # ms epoch
while True:
result = api.get_event_log(
"your-tenant-id", "page-url-id", "my-user-id", start_time
)
for event in result.events:
print("event:", event.data)
start_time = int(event.created_at.timestamp() * 1000) + 1
time.sleep(2)
# startTime = epoch millis to replay from; advance it past the last event you saw curl -s 'https://fastcomments.com/api/v1/event-log/your-tenant-id?urlId=page-url-id&userIdWS=my-user-id&startTime=1720560000000' \ -H 'x-api-key: YOUR_API_KEY'
अपना खुद का कमेंट यूआई बनाने और उसे बनाए रखने की झंझट से छुटकारा पाएं। React Native, Android और iOS के लिए हमारे समर्पित और सुव्यवस्थित SDK में थ्रेडेड कमेंट, लाइव चैट और फीड के लिए नेटिव यूआई कंपोनेंट शामिल हैं। बस एक व्यू डालें, कॉन्फ़िगरेशन पास करें और आपका काम हो गया।
एनपीएम: फास्टकमेंट्स-रिएक्ट-नेटिव-एसडीके
नेटिव कंपोनेंट्स, कोई वेबव्यू नहीं। FastCommentsLiveCommenting, FastCommentsLiveChat या FastCommentsFeed को जोड़ें और एक कॉन्फ़िगरेशन पास करें।
लाइव डेमो देखेंcom.fastcomments:sdk
एंड्रॉइड के मूल यूआई घटक। थ्रेडेड टिप्पणियों, वोटिंग, सूचनाओं और फ़ीड के लिए अपने लेआउट में FastCommentsView जोड़ें। एंड्रॉइड 8.0 और उसके बाद के संस्करणों के लिए उपयुक्त।
GitHub पर देखेंस्विफ्ट पैकेज: FastCommentsUI
थ्रेडेड कमेंट्स, सोशल फीड और लाइव चैट के लिए एक नेटिव स्विफ्टयूआई लाइब्रेरी। iOS 16+ और macOS 14+ के लिए उपयुक्त।
GitHub पर देखेंएक एपीआई कुंजी, एक बेस यूआरएल। डैशबोर्ड जो भी काम करता है, आपका कोड भी वही कर सकता है।
Node, Python, PHP, Ruby, Go, Java, Rust, Swift, C++ और अन्य के लिए टाइप किए गए क्लाइंट, ताकि आप हमारे स्टैक के बजाय अपने स्टैक में निर्माण कर सकें।
नए कमेंट पोस्ट होते ही हर पाठक तक पहुंच जाते हैं, बिना रिफ्रेश किए या बिना पोलिंग के। अगर कोई पाठक दोबारा कनेक्ट होता है, तो छूटी हुई टिप्पणियां लॉग से दोबारा दिखाई जाती हैं।
सिंगल साइन-ऑन, कमेंट मॉडरेशन और स्पैम फ़िल्टरिंग जैसी सुविधाएं इसमें अंतर्निहित हैं, इसलिए आपके एक भी लाइन लिखने से पहले ही मुश्किल काम हो जाते हैं।
हम वैश्विक नेटवर्क पर स्टोरेज और रीयलटाइम इंफ्रास्ट्रक्चर का संचालन करते हैं। आपको बस API को कॉल करना है और काम पूरा हो जाएगा।
एक ही एपीआई और एसडीके सूट वेब, मोबाइल और सर्वर ऐप्स पर कमेंट थ्रेड्स, चैट और लाइव गतिविधि को संचालित करता है।
उपस्थिति संख्या और टाइपिंग गतिविधि के साथ, कमरे में मौजूद सभी लोगों को वास्तविक समय में संदेश भेजें।
कुछ एपीआई कॉल की मदद से लेखों, उत्पादों और पोस्ट में नेस्टेड, वोट करने योग्य टिप्पणी अनुभाग जोड़ें।
फीड पर पोस्ट करें और जैसे ही नए आइटम और प्रतिक्रियाएं आती हैं, उन्हें जुड़े हुए ग्राहकों तक पहुंचाएं।
प्रश्न, उत्तर, वोट और सर्वेक्षण परिणाम एकत्र करें, फिर उन्हें रैंक करें और लाइव प्रदर्शित करें।
फ्री ट्रायल शुरू करें और डैशबोर्ड से अपना टेनेंट आईडी और एपीआई कुंजी प्राप्त करें।
अपनी भाषा के लिए SDK जोड़ें, या cURL और अपने x-api-key हेडर के साथ सीधे REST API को कॉल करें।
टिप्पणियाँ लोड करें, अपने बैकएंड से पोस्ट करें, और प्रत्येक पाठक को अपडेट स्ट्रीम करने के लिए परिवर्तनों की सदस्यता लें।
FastComments हमारे अपने इंफ्रास्ट्रक्चर पर कई क्षेत्रों में चलता है। लेखन कार्यों का क्षेत्रों के बीच प्रतिकृति होता है, नोड्स स्वचालित रूप से फेलओवर हो जाते हैं, और पाठकों को उनके निकटतम स्थान से सेवा प्रदान की जाती है।
लेखन कार्यों को एक से अधिक क्षेत्रों में स्वीकार किया जाता है और उनके बीच दोहराया जाता है, इसलिए विफलता का कोई एकल बिंदु नहीं है।
टिप्पणियाँ और मीडिया सामग्री हमारे अपने वैश्विक CDN और DNS से उपलब्ध कराई जाती हैं, जो आपके उपयोगकर्ताओं के सबसे नज़दीकी स्थान से संचालित होती हैं। इसमें किसी तीसरे पक्ष के CDN का उपयोग नहीं किया जाता है।
अतिरिक्त नोड्स स्वतः ही फेलओवर हो जाते हैं, इसलिए आउटेज के दौरान भी ट्रैफिक का प्रवाह जारी रहता है। 99.99% अपटाइम द्वारा समर्थित।
इसे अमेरिका या यूरोपीय संघ में चलाया जा सकता है। eu.fastcomments.com पर यूरोपीय संघ क्षेत्र अनुपालन के लिए डेटा को क्षेत्र के भीतर ही रखता है।
हजारों संतुष्ट ग्राहक हमारी असाधारण सेवा, विश्वसनीयता और नवीन समाधानों पर भरोसा करते हैं। हमारे बढ़ते समुदाय में शामिल हों और आज ही अंतर का अनुभव करें!
शुरू हो जाओ
नहीं। विजेट वैकल्पिक है। आप अपना पूरा कमेंटिंग अनुभव REST API और SDKs पर आधारित कर सकते हैं और सब कुछ खुद ही रेंडर कर सकते हैं।
Node, Python, PHP, Ruby, Go, Java, Rust, Swift, C++ और Nim के साथ-साथ मोबाइल के लिए React Native SDK भी उपलब्ध है। कोई भी भाषा सीधे REST API को कॉल कर सकती है।
क्लाइंट वेबसॉकेट खोलते हैं और नए कमेंट, एडिट, वोट और प्रेजेंस अपडेट इवेंट के रूप में प्राप्त करते हैं, इसलिए कोई रिफ्रेश या पोलिंग नहीं होती है। कोई भी इवेंट छूटता नहीं है: यदि कोई क्लाइंट डिस्कनेक्ट हो जाता है, तो यह पुनः कनेक्ट होने पर इवेंट लॉग को फिर से प्राप्त करता है ताकि ऑफ़लाइन रहने के दौरान भेजे गए किसी भी डेटा को दोबारा चलाया जा सके।
नहीं। FastComments रीयलटाइम इंफ्रास्ट्रक्चर को होस्ट करता है। आपका क्लाइंट SDK के साथ सब्सक्राइब करता है, और हम इवेंट्स डिलीवर करते हैं।
वे इवेंट लॉग एंडपॉइंट की जाँच करते हैं, जो एक निश्चित समय सीमा के बाद से हुए सभी परिवर्तनों को लौटाता है। Node, React Native, Java, Swift और C++ SDK में इसके बजाय एक नेटिव वेबसॉकेट सब्सक्राइबर शामिल है।
विशेष रूप से टिप्पणियों के लिए, FastComments इष्टतम लोड समय के लिए प्रत्येक लेखन पर पेजिंग की पूर्व-गणना करता है , इसलिए बहुत बड़े थ्रेड भी तेजी से पेजिंग करते हैं।
जी हां। एपीआई और एसडीके की पूरी पहुंच के साथ मुफ्त ट्रायल शुरू करें, इसके लिए क्रेडिट कार्ड की आवश्यकता नहीं है। ट्रायल के बाद, आपके ट्रैफिक के अनुसार पेड प्लान की सुविधा उपलब्ध हो जाएगी।
संपूर्ण REST API और SDK संदर्भ docs.fastcomments.com पर उपलब्ध है, जहाँ प्रत्येक एंडपॉइंट, पैरामीटर और प्रतिक्रिया का दस्तावेजीकरण किया गया है।
जी हां। FastComments eu.fastcomments.com पर यूरोपीय संघ क्षेत्र में सेवाएं प्रदान करता है, और SDKs इस क्षेत्र में रूटिंग का समर्थन करते हैं।
आज ही निःशुल्क परीक्षण शुरू करें, अपनी एपीआई कुंजी प्राप्त करें और अपने ऐप में लाइव चर्चाएँ जोड़ें।