> ## Documentation Index
> Fetch the complete documentation index at: https://replyke-feat-push-rich-payload-fields.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration Options

> Choose how to integrate Replyke into your application

Replyke offers two primary ways to integrate into your application, depending on your tech stack. Whether you're using React, React Native, or another framework, you can leverage Replyke's functionality in the way that best suits your needs.

<Warning>
  To use Replyke in production from a web application, make sure to whitelist
  your domain in the dashboard of your project.
</Warning>

<CardGroup cols={2}>
  <Card title="React & React Native SDK" icon="react" href="/sdk/getting-started">
    **Recommended for React developers**

    The easiest and most efficient integration method with:

    * Automatic token management and refresh
    * Built-in state management
    * Optimized API calls
    * Optional pre-built UI components
    * Full TypeScript support
  </Card>

  <Card title="REST API" icon="brackets-curly" href="/api-reference/getting-started">
    **For other frameworks and server-side**

    Direct API integration for maximum flexibility:

    * Works with any framework (Vue, Angular, Svelte, etc.)
    * Server-to-server communication
    * NodeJS package available
    * Full control over implementation
    * Manual token management required
  </Card>
</CardGroup>

## React & React Native Client Packages

If your application is built with **React or React Native**, the client packages drastically simplify integration:

<AccordionGroup>
  <Accordion title="Authentication Handling" icon="key">
    Automatically manages tokens and refreshes them when necessary, so you never have to worry about expired sessions.
  </Accordion>

  <Accordion title="State Management" icon="database">
    Seamless updates and reactivity with minimal effort. Changes propagate automatically throughout your app.
  </Accordion>

  <Accordion title="Optimized API Calls" icon="bolt">
    Abstracts away API interactions for a smoother developer experience with built-in caching and optimization.
  </Accordion>

  <Accordion title="CLI-Based UI Components (Optional)" icon="palette">
    Add customizable comment components to your project via CLI. The components are copied into your source code, giving you full ownership and unlimited customization.
  </Accordion>
</AccordionGroup>

For most developers working with React or React Native, using the client packages is the best approach.

## Using the API Directly

If your application uses a different framework or you need server-side integration, the REST API provides full flexibility:

<Tabs>
  <Tab title="Client-Side">
    For frameworks like Vue, Angular, or Svelte, make direct API calls from your client application. You'll need to:

    * Handle authentication tokens manually
    * Manage state updates yourself
    * Implement API call logic
    * Consider using the Vanilla JS package for easier integration
  </Tab>

  <Tab title="Server-Side">
    For backend operations or server-to-server communication:

    * Use a service key from your project dashboard
    * Implement secure token storage
    * Consider using the NodeJS package for simplified integration
    * Full control over authentication flow
  </Tab>
</Tabs>

## Which Option Should You Choose?

| Scenario                                        | Recommended Approach                                   |
| ----------------------------------------------- | ------------------------------------------------------ |
| Using React or React Native                     | Use the client packages (Recommended)                  |
| Using Vue, Angular, Svelte, or other frameworks | Use the API (Optionally, using the Vanilla JS package) |
| Server-to-server communication                  | Use the API (Optionally, using the NodeJS package)     |

More framework integrations are currently under development.

For details on each approach, check out the **Client SDK Guide** for React/React Native or the **API Documentation** for direct API usage.
