टिप्पणी एपीआई के लिए लाइव चर्चाएँ

1,44,00,00,000+ पिछले 12 महीनों में सेवा प्रदान की गई एपीआई कॉल

एक ही REST API और 10 से अधिक भाषाओं के लिए SDK के माध्यम से टिप्पणियाँ, मॉडरेशन और सोशल फीड्स उपलब्ध हैं। अपने बैकएंड से डेटा फ़ेच करें, पोस्ट करें और मॉडरेट करें, फिर वेबसॉकेट के माध्यम से प्रत्येक रीडर को रीयल-टाइम में नई गतिविधि स्ट्रीम करें।

एक प्लेटफॉर्म, तीन एपीआई

FastComments सिर्फ कमेंट्स से कहीं बढ़कर है। एक ही API और SDK सूट का उपयोग करके चर्चाएँ, मॉडरेशन और सोशल फीड्स बनाएँ।

टिप्पणियाँ एपीआई

थ्रेडेड कमेंट्स और लाइव चैट। फ़ेच करें, पोस्ट करें, वोट करें, पिन करें, रिप्लाई करें और सर्च करें, साथ ही SSO और रीयलटाइम अपडेट भी इसमें शामिल हैं।

मॉडरेशन एपीआई

40 से अधिक एंडपॉइंट्स वाला एक समर्पित मॉडरेशन प्लेटफॉर्म। स्वचालित स्पैम फ़िल्टरिंग द्वारा समर्थित, अनुमोदन, फ़्लैग, ब्लॉक, प्रतिबंध, लॉक और ऑडिट करें।

सोशल फ़ीड एपीआई

पोस्ट, मीडिया, प्रतिक्रियाओं और फॉलो के माध्यम से गतिविधि और सोशल फीड बनाएं, फिर प्रत्येक क्लाइंट के लिए नए पोस्ट लाइव करें।

किसी भी स्टैक से API को कॉल करें

cURL और Node, Python, PHP, Ruby, Go, Java, Rust, Swift और C++ के लिए टाइप किए गए SDK उपलब्ध हैं। 200 से अधिक एंडपॉइंट टिप्पणियों, वोटों, पेजों, SSO उपयोगकर्ताओं, फ़ीड पोस्ट, मॉडरेशन और सूचनाओं को कवर करते हैं, और ये सभी एक ही API कुंजी के अंतर्गत आते हैं।

स्थापित करनाnpm install fastcomments-sdk
import { 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 fastcomments
import 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 fastcomments
require '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-go
package 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-sdk
import { 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-sdk
import 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 fastcomments
import 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 पर देखें

वे हिस्से जिन्हें आप अन्यथा स्वयं बनाते

200+ REST एंडपॉइंट्स

एक एपीआई कुंजी, एक बेस यूआरएल। डैशबोर्ड जो भी काम करता है, आपका कोड भी वही कर सकता है।

10 से अधिक भाषाओं के लिए SDK

Node, Python, PHP, Ruby, Go, Java, Rust, Swift, C++ और अन्य के लिए टाइप किए गए क्लाइंट, ताकि आप हमारे स्टैक के बजाय अपने स्टैक में निर्माण कर सकें।

वेबसॉकेट पर रीयलटाइम

नए कमेंट पोस्ट होते ही हर पाठक तक पहुंच जाते हैं, बिना रिफ्रेश किए या बिना पोलिंग के। अगर कोई पाठक दोबारा कनेक्ट होता है, तो छूटी हुई टिप्पणियां लॉग से दोबारा दिखाई जाती हैं।

मॉडरेशन, एसएसओ और स्पैम सुरक्षा

सिंगल साइन-ऑन, कमेंट मॉडरेशन और स्पैम फ़िल्टरिंग जैसी सुविधाएं इसमें अंतर्निहित हैं, इसलिए आपके एक भी लाइन लिखने से पहले ही मुश्किल काम हो जाते हैं।

आपके लिए होस्ट और स्केल किया गया

हम वैश्विक नेटवर्क पर स्टोरेज और रीयलटाइम इंफ्रास्ट्रक्चर का संचालन करते हैं। आपको बस API को कॉल करना है और काम पूरा हो जाएगा।

आप क्या बना सकते हैं

एक ही एपीआई और एसडीके सूट वेब, मोबाइल और सर्वर ऐप्स पर कमेंट थ्रेड्स, चैट और लाइव गतिविधि को संचालित करता है।

लाइव चैट रूम

उपस्थिति संख्या और टाइपिंग गतिविधि के साथ, कमरे में मौजूद सभी लोगों को वास्तविक समय में संदेश भेजें।

टिप्पणी थ्रेड्स

कुछ एपीआई कॉल की मदद से लेखों, उत्पादों और पोस्ट में नेस्टेड, वोट करने योग्य टिप्पणी अनुभाग जोड़ें।

गतिविधि फ़ीड्स

फीड पर पोस्ट करें और जैसे ही नए आइटम और प्रतिक्रियाएं आती हैं, उन्हें जुड़े हुए ग्राहकों तक पहुंचाएं।

प्रश्नोत्तर और मतदान

प्रश्न, उत्तर, वोट और सर्वेक्षण परिणाम एकत्र करें, फिर उन्हें रैंक करें और लाइव प्रदर्शित करें।

तीन चरणों में जीवन जिएं

1

अपनी एपीआई कुंजी प्राप्त करें

फ्री ट्रायल शुरू करें और डैशबोर्ड से अपना टेनेंट आईडी और एपीआई कुंजी प्राप्त करें।

2

SDK इंस्टॉल करें

अपनी भाषा के लिए SDK जोड़ें, या cURL और अपने x-api-key हेडर के साथ सीधे REST API को कॉल करें।

3

डेटा प्राप्त करें, पोस्ट करें और लाइव करें

टिप्पणियाँ लोड करें, अपने बैकएंड से पोस्ट करें, और प्रत्येक पाठक को अपडेट स्ट्रीम करने के लिए परिवर्तनों की सदस्यता लें।

विश्व स्तर पर वितरित और अत्यधिक उपलब्ध

FastComments हमारे अपने इंफ्रास्ट्रक्चर पर कई क्षेत्रों में चलता है। लेखन कार्यों का क्षेत्रों के बीच प्रतिकृति होता है, नोड्स स्वचालित रूप से फेलओवर हो जाते हैं, और पाठकों को उनके निकटतम स्थान से सेवा प्रदान की जाती है।

मल्टी-मास्टर, मल्टी-रीजन

लेखन कार्यों को एक से अधिक क्षेत्रों में स्वीकार किया जाता है और उनके बीच दोहराया जाता है, इसलिए विफलता का कोई एकल बिंदु नहीं है।

हमारा अपना एज नेटवर्क

टिप्पणियाँ और मीडिया सामग्री हमारे अपने वैश्विक CDN और DNS से उपलब्ध कराई जाती हैं, जो आपके उपयोगकर्ताओं के सबसे नज़दीकी स्थान से संचालित होती हैं। इसमें किसी तीसरे पक्ष के CDN का उपयोग नहीं किया जाता है।

स्वचालित फ़ेलओवर

अतिरिक्त नोड्स स्वतः ही फेलओवर हो जाते हैं, इसलिए आउटेज के दौरान भी ट्रैफिक का प्रवाह जारी रहता है। 99.99% अपटाइम द्वारा समर्थित।

क्षेत्रीय डेटा निवास

इसे अमेरिका या यूरोपीय संघ में चलाया जा सकता है। eu.fastcomments.com पर यूरोपीय संघ क्षेत्र अनुपालन के लिए डेटा को क्षेत्र के भीतर ही रखता है।

हमारे संतुष्ट ग्राहकों से जुड़ें

हजारों संतुष्ट ग्राहक हमारी असाधारण सेवा, विश्वसनीयता और नवीन समाधानों पर भरोसा करते हैं। हमारे बढ़ते समुदाय में शामिल हों और आज ही अंतर का अनुभव करें!

शुरू हो जाओ

API पर टिप्पणी करने से संबंधित अक्सर पूछे जाने वाले प्रश्न

क्या मुझे FastComments विजेट का उपयोग करना होगा?

नहीं। विजेट वैकल्पिक है। आप अपना पूरा कमेंटिंग अनुभव REST API और SDKs पर आधारित कर सकते हैं और सब कुछ खुद ही रेंडर कर सकते हैं।

किन भाषाओं के लिए SDK उपलब्ध है?

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 इस क्षेत्र में रूटिंग का समर्थन करते हैं।

कुछ ही मिनटों में निर्माण शुरू करें

आज ही निःशुल्क परीक्षण शुरू करें, अपनी एपीआई कुंजी प्राप्त करें और अपने ऐप में लाइव चर्चाएँ जोड़ें।