> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Node.js NPM

> Integre a API Ayrshare ao seu app Node com o Social API NPM Package

## Visão Geral

O [Social API NPM Package](https://www.npmjs.com/package/social-media-api) da Ayrshare permite integrar a API Ayrshare ao seu app Node.js.

### Instalação

Instale o Social API NPM Package se você usa Node no lado do servidor.
O pacote simplifica as chamadas encapsulando as chamadas RESTful.

```bash theme={"system"}
npm i social-media-api
```

<Info>Obtenha sua API Key secreta no [Ayrshare Dashboard](https://app.ayrshare.com/).</Info>

### Uso Geral

Exemplos de Post, History e Delete:

<Info>
  **Publicando no X/Twitter?** A partir de 31 de março de 2026, as operações do X/Twitter via Ayrshare exigem suas próprias credenciais de App do X Developer — a Ayrshare aplica isso em todas as chamadas destinadas ao X. Adicione os 2 cabeçalhos BYO à sua requisição. Consulte o [guia de configuração](/dashboard/connect-social-accounts/x-twitter-byo-keys) para detalhes.
</Info>

A partir da v1.3.0, o SDK inclui um helper `setTwitterByo(apiKey, apiSecret)` que anexa os dois cabeçalhos `X-Twitter-OAuth1-*` obrigatórios a cada requisição subsequente:

```javascript theme={"system"}
const SocialPost = require("social-media-api");
const social = new SocialPost(API_KEY)
  .setTwitterByo(MY_X_API_KEY, MY_X_API_SECRET);

await social.post({
  post: "Hello from BYO",
  platforms: ["twitter"]
});
```

Use `clearTwitterByo()` para remover os cabeçalhos — útil ao reutilizar uma instância do SDK entre tenants:

```javascript theme={"system"}
social.clearTwitterByo().setTwitterByo(nextTenant.key, nextTenant.secret);
```

```javascript theme={"system"}
const SocialPost = require("social-media-api");
const API_KEY = "API KEY"; // get an API Key at ayrshare.com
const social = new SocialPost(API_KEY);

const run = async () => {
  /** post */
  const post = await social
    .post({
      post: "One more time",
      platforms: ["twitter", "facebook", "linkedin"],
      profileKey: "DJKJDK-SKDJKDJF" // used with a User Profile
    })
    .catch(console.error);
  console.log(post);

  /** history */
  const history = await social.history().catch(console.error);
  console.log(history);

  /** delete */
  const deletePost = await social.delete({ id: post.id }).catch(console.error);
  console.log(deletePost);
};

run();
```

### Visão Geral em Vídeo do Social Media API NPM Package

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/OMtj2h6sW6U" title="Social Media API NPM Package" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</div>

Publique em Redes Sociais via uma API

### Profile Key

Você pode especificar a Profile Key do Perfil de Usuário no body de um POST ou na query de um GET com o campo `profileKey`.

### Demo da API Social

Para um exemplo de integração Node.js (usando as chamadas RESTful da API), consulte o repositório no GitHub:

<Card title="Código Demo da API Social" icon="github" href="https://github.com/ayrshare/social-api-demo" horizontal>
  O Social API Demo é uma aplicação web que permite aos usuários compor, agendar e publicar conteúdo
  em várias plataformas de redes sociais simultaneamente.
</Card>

### Mais Informações e Documentação

<ul class="custom-bullets">
  <li>[Pacote NPM](https://www.npmjs.com/package/social-media-api)</li>
  <li>[Repositório no Github](https://github.com/ayrshare/social-media-api)</li>
  <li>[Discussão de Issues](https://github.com/ayrshare/social-media-api/issues)</li>
</ul>
