# Vimine para desenvolvedores > Vimine is the membership platform for Italian associations (APS) and Third Sector organisations. For developers working for an association: Sign in with Vimine (OAuth 2.1 + PKCE), the member API, server integrations, card verification, the public profile and the enrolment form — with the JavaScript SDK `@vimine/sdk`, the OpenAPI 3.1 reference and these guides. Rules for code assistants: - The `client_secret` (`vms_…`) never goes into code that runs in a browser or an app: websites and apps are public clients, using authorization code + PKCE (S256) and a `state` compared on return. - Members sign in only on Vimine's page (`https://app.vimine.network/authorize`), reached by a redirect: never a credentials form on your site, never in an iframe. - The secret lives only on a server: `client_credentials` for the association's own systems; HTTP Basic directly only where the reference allows it, never from a browser. - Start with a test client in the association's sandbox (synthetic members, active at once); a production client works after Vimine activates it. - Use the SDK (`@vimine/sdk`, `@vimine/sdk/react`, `@vimine/sdk/server`) instead of rewriting the OAuth flow; tokens stay in `sessionStorage` (per tab) unless you choose otherwise knowingly. - Check `aps.accepting_requests` before showing an enrolment form; retry a membership request (`POST /v1/me/membership`) with the same `Idempotency-Key`, never a new one. - Errors are `application/problem+json` (RFC 9457) with a stable `code`: branch on the `code`, not the text, and quote the `request_id` when you report a problem. - Ask only for the scopes you need: the member sees each one on the consent page. - Never combine data from different associations: a member's `sub` differs from one association to the next, and the developer terms forbid correlating them. ## Começar - [Visão geral](https://developers.vimine.network/pt/start/overview.md): O que a API do Vimine oferece a quem desenvolve para uma associação, e os conceitos que é bom conhecer antes de começar. - [Registrar um cliente](https://developers.vimine.network/pt/start/register-a-client.md): Como um dirigente registra uma integração no console Desenvolvedores, qual tipo escolher, o que precisa ser registrado com exatidão. - [Instalar o SDK](https://developers.vimine.network/pt/start/install.md): O pacote @vimine/sdk, os seus três pontos de entrada, os requisitos. ## Guias - [Entrar com Vimine](https://developers.vimine.network/pt/guides/sign-in.md): O fluxo OAuth 2.1 + PKCE do clique ao callback, a sessão, as chamadas à API e o logout, com e sem o SDK. - [Sandbox e clientes de teste](https://developers.vimine.network/pt/guides/sandbox.md): A associação gêmea com associados sintéticos em todos os status, os clientes de teste e a redefinição. - [Integrações de servidor](https://developers.vimine.network/pt/guides/server.md): Clientes confidenciais para os sistemas da própria associação, client_credentials, status da carteirinha, rotação do segredo. - [Admissão e ativação](https://developers.vimine.network/pt/guides/admission.md): Como uma associação admite os seus associados, quando a taxa é paga, quando a carteirinha vale na entrada — e o que dizer a quem se associa pelo seu site. - [Associados sem código fiscal](https://developers.vimine.network/pt/guides/members-without-cf.md): Uma pessoa é identificada por um código fiscal ou pela data, local e país de nascimento. O que enviar para quem nasceu no exterior, como se confirma um código que não confere, o que mostrar na entrada. - [Idiomas](https://developers.vimine.network/pt/guides/languages.md): Peça os textos de uma associação em outro idioma com ?locale=, entenda por locale e locales o que foi servido, diga em que idioma escrever a uma pessoa. Nunca uma tradução automática. - [Incorporação e verificação das carteirinhas](https://developers.vimine.network/pt/guides/embed-and-verify.md): O formulário de adesão no seu site, o perfil público da associação e a verificação das carteirinhas on-line e off-line. - [Eventos e inscrições](https://developers.vimine.network/pt/guides/events.md): Publique os eventos da associação no seu site, deixe os associados se inscreverem (e os convidados, nos eventos públicos), faça o check-in na entrada com o mesmo leitor das carteirinhas. - [Plugin para WordPress](https://developers.vimine.network/pt/guides/wordpress.md): Entrar com Vimine, a carteirinha do associado e a adesão no site WordPress da associação — sem código. - [Permissões, erros e limites](https://developers.vimine.network/pt/guides/scopes-and-errors.md): A tabela de escopos, o formato dos erros (RFC 9457) com códigos estáveis, os limites de requisições. ## SDK - [Vimine (navegador)](https://developers.vimine.network/pt/sdk/browser.md): Referência da classe Vimine do @vimine/sdk — login, sessão, chamadas à API, storage. - [React](https://developers.vimine.network/pt/sdk/react.md): VimineProvider, useVimine e SignInButton do @vimine/sdk/react. - [Elementos (low-code)](https://developers.vimine.network/pt/sdk/elements.md): Os custom elements , e — uma tag HTML, nenhum framework. - [VimineServer](https://developers.vimine.network/pt/sdk/server.md): Referência da classe VimineServer do @vimine/sdk/server para clientes confidenciais. - [API pública](https://developers.vimine.network/pt/sdk/public.md): publicApi() — verificação das carteirinhas, perfil público de uma associação, código fiscal, chaves públicas. Sem credenciais. - [Erros](https://developers.vimine.network/pt/sdk/errors.md): VimineError — um único tipo de erro para tudo o que a API e o SDK podem recusar, com um código estável. - [Tipos](https://developers.vimine.network/pt/sdk/types.md): Os tipos TypeScript do SDK — as mesmas estruturas JSON da API v1, nomes de campos inalterados. ## API HTTP - [OpenAPI 3.1 document](https://api.vimine.network/v1/openapi.json): The whole API: paths, scopes, schemas and errors. - [OAuth discovery (RFC 8414)](https://api.vimine.network/.well-known/oauth-authorization-server): Authorization, token and revocation endpoints; supported PKCE methods and scopes. - [Interactive console](https://developers.vimine.network/pt/api/console/): Try the calls against the sandbox with a test client. ## Optional - [Everything in one file](https://developers.vimine.network/pt/llms-full.txt): Every page in this language in a single Markdown file. - [@vimine/sdk on npm](https://www.npmjs.com/package/@vimine/sdk): The SDK: browser, React and server. - [Italiano](https://developers.vimine.network/llms.txt): The same pages in Italiano. - [English](https://developers.vimine.network/en/llms.txt): The same pages in English. - [Français](https://developers.vimine.network/fr/llms.txt): The same pages in Français. - [Español](https://developers.vimine.network/es/llms.txt): The same pages in Español. - [Deutsch](https://developers.vimine.network/de/llms.txt): The same pages in Deutsch. - [简体中文](https://developers.vimine.network/zh-hans/llms.txt): The same pages in 简体中文. - [繁體中文](https://developers.vimine.network/zh-hant/llms.txt): The same pages in 繁體中文.