FastComments.com

FastComments Java SDK


Isto é o SDK Java oficial para FastComments.

SDK Java oficial para a API do FastComments

Repositório

Visualizar no GitHub


Instalação Internal Link

Maven

Adicione o repositório Repsy ao POM do seu projeto:

<repositories>
    <repository>
        <id>repsy</id>
        <name>FastComments Maven Repository on Repsy</name>
        <url>https://repo.repsy.io/mvn/winrid/fastcomments</url>
    </repository>
</repositories>

Then add the dependencies you need:

<dependencies>
    <!-- Cliente da API -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- Biblioteca Core (inclui SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- Biblioteca PubSub (para eventos ao vivo) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>0.0.2</version>
    </dependency>
</dependencies>

Gradle

Adicione o repositório Repsy ao seu arquivo build.gradle:

repositories {
    mavenCentral()
    maven {
        url "https://repo.repsy.io/mvn/winrid/fastcomments"
    }
}

dependencies {
    // Cliente da API
    implementation "com.fastcomments:client:0.0.2"

    // Biblioteca Core (inclui SSO)
    implementation "com.fastcomments:core:0.0.2"

    // Biblioteca PubSub (para eventos ao vivo)
    implementation "com.fastcomments:pubsub:0.0.2"
}

Library Contents

Esta biblioteca contém três módulos. O cliente de API gerado, a biblioteca Java core que contém utilitários escritos à mão para facilitar o trabalho com a API, e o módulo pubsub que é uma biblioteca para se inscrever em feeds de alterações.

APIs Públicas vs APIs Seguras

Para o cliente de API, existem duas classes, DefaultApi e PublicApi. A DefaultApi contém métodos que exigem sua chave de API, e a PublicApi contém chamadas de API que podem ser feitas diretamente de um navegador/dispositivo móvel/etc sem autenticação.

Início rápido Internal Link

Usando APIs Autenticadas (DefaultApi)

Importante: Você deve configurar sua chave de API no ApiClient antes de fazer requisições autenticadas. Se não o fizer, as requisições falharão com um erro 401.

import com.fastcomments.invoker.ApiClient;
import com.fastcomments.invoker.ApiException;
import com.fastcomments.api.DefaultApi;
import com.fastcomments.model.*;

public class Example {
    public static void main(String[] args) {
        // Crie e configure o cliente da API
        ApiClient apiClient = new ApiClient();

        // OBRIGATÓRIO: Defina sua chave de API (obtenha-a no painel do FastComments)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Crie a instância da API com o cliente configurado
        DefaultApi api = new DefaultApi(apiClient);

        // Agora você pode fazer chamadas de API autenticadas
        try {
            // Exemplo: Adicionar um usuário SSO
            CreateAPISSOUserData userData = new CreateAPISSOUserData();
            userData.setId("user-123");
            userData.setEmail("user@example.com");
            userData.setDisplayName("John Doe");

            AddSSOUserAPIResponse response = api.addSSOUser("YOUR_TENANT_ID", userData)
                .execute();
            System.out.println("User created: " + response);

        } catch (ApiException e) {
            System.err.println("Error: " + e.getResponseBody());
            // Erros comuns:
            // - 401: API key is missing or invalid
            // - 400: Request validation failed
        }
    }
}

Usando APIs Públicas (PublicApi)

Endpoints públicos não requerem autenticação:

import com.fastcomments.api.PublicApi;
import com.fastcomments.invoker.ApiException;

PublicApi publicApi = new PublicApi();

try {
    var response = publicApi.getCommentsPublic("YOUR_TENANT_ID", "page-url-id")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Problemas Comuns

  1. Erro 401 "missing-api-key": Certifique-se de chamar apiClient.setApiKey("YOUR_KEY") antes de criar a instância DefaultApi.
  2. Classe de API incorreta: Use DefaultApi para requisições autenticadas no servidor, PublicApi para requisições no cliente/públicas.
  3. Chave de API nula: O SDK ignorará silenciosamente a autenticação se a chave de API for nula, levando a erros 401.

Notas Internal Link

IDs de Broadcast

Você verá que deve passar um broadcastId em algumas chamadas de API. Quando você receber eventos, esse ID será retornado, então você saberá ignorar o evento se planejar aplicar alterações otimisticamente no cliente (o que você provavelmente desejará fazer, pois oferece a melhor experiência). Passe um UUID aqui. O ID deve ser suficientemente único para não ocorrer duas vezes em uma sessão do navegador.

Precisa de ajuda?

Se você encontrar algum problema ou tiver dúvidas sobre o SDK Java, por favor:

Contribuindo

Contribuições são bem-vindas! Por favor, visite o repositório no GitHub para as diretrizes de contribuição.