> ## 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.

# Посібник швидкого старту

> Підключіть свої соціальні акаунти та надішліть перший пост за кілька хвилин.

Цей посібник — для налаштування однієї компанії. Для передплат Business та Enterprise Plan з кількома користувачами надається персональний посібник з інтеграції.

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/HaWh_QOib_Y" title="Ayrshare's Social API Quick Start Guide" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscsope; picture-in-picture" />
</div>

## Підключіть свої акаунти соцмереж

Увійдіть або зареєструйте [акаунт Ayrshare](https://app.ayrshare.com/).
На сторінці Social Account натисніть на соцмережі, які хочете підключити.
Обов'язково надайте всі дозволи.

<p align="center">
  <img width="240" src="https://mintcdn.com/ayrshare-docs/dKBti0xVDJrOZ19f/images/fb-connect.webp?fit=max&auto=format&n=dKBti0xVDJrOZ19f&q=85&s=d256f4862cb21b388d388cc62aa94659" alt="Facebook Linking Example" data-path="images/fb-connect.webp" />
</p>

## Отримайте свій API Key

API Key потрібен для авторизації доступу до ендпоінтів API.
Цей ключ використовується у заголовку ваших запитів і має передаватися з ключовим словом `Bearer`.

Ваш API Key знаходиться в [Ayrshare Dashboard](https://app.ayrshare.com/) на сторінці **API Key**. За потреби перемкніться на свій Primary Profile на сторінці **User Profiles**.
Далі знайдіть сторінку **API Key** у лівій боковій панелі.

<img src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/api-key.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=29ebd3dd2f23c9f9f1c52a974ebd6240" alt="API Key" width="4000" height="1126" data-path="images/api-key.webp" />

Кожен виклик API має містити API Key у заголовку через `Bearer` Token. Також вкажіть `Content-Type` як `application/json`.

```json Header theme={"system"}
"Authorization": "Bearer API_KEY",
"Content-Type": "application/json"
```

Докладніше див. [Authorization](/apis/overview#authorization).

## Надішліть свій перший API-пост

### Публікація посту

Нижче — приклади коду, що показують, як зробити пост через наш API різними мовами програмування.
Для ще простішої інтеграції ви можете скористатися одним із готових [SDK-пакетів](/packages-guides/overview).

Для публікації посту вам знадобляться:

<ul className="custom-bullets">
  <li>Ваш [API Key](/apis/overview#authorization) для автентифікації.</li>
  <li>Текстовий вміст посту.</li>
  <li>Платформи соцмереж, на які хочете опублікувати (включайте лише підключені платформи).</li>
  <li>Опціонально: URL зображень або відео, які хочете додати.</li>
</ul>

Усі приклади використовують ендпоінт [/post](/apis/post/post). Погляньмо на приклад коду:

<Info>
  **Публікуєте в X/Twitter?** X вимагає ваших власних API-облікових даних. Додайте 2 BYO-заголовки (`X-Twitter-OAuth1-Api-Key` та `X-Twitter-OAuth1-Api-Secret`) до запиту. Це **одноразове налаштування для акаунта Ayrshare**, і та сама пара ключів працює для кожного субпрофіля / кінцевого користувача. Деталі див. у [посібнику налаштування](/dashboard/connect-social-accounts/x-twitter-byo-keys).
</Info>

<CodeGroup>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "post": "Today is a great day!",
    "platforms": ["facebook", "instagram", "linkedin"],
    "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"]
  }' \
  -X POST https://api.ayrshare.com/api/post
  ```

  ```javascript JavaScript theme={"system"}
  const API_KEY = "API_KEY";

  fetch("https://api.ayrshare.com/api/post", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "Authorization": `Bearer ${API_KEY}`
        },
        body: JSON.stringify({
          post: "Today is a great day!", // required
          platforms: ["bluesky", "facebook", "instagram", "linkedin"], // required
          mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"] //optional
        }),
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

  ```python Python theme={"system"}
  import requests

  payload = {'post': 'Today is a great day!',
          'platforms': ['bluesky', 'facebook', 'instagram', 'linkedin'],
          'mediaUrls': ['https://img.ayrshare.com/012/gb.jpg']}
  headers = {'Content-Type': 'application/json',
          'Authorization': 'Bearer API_KEY'}

  r = requests.post('https://api.ayrshare.com/api/post',
      json=payload,
      headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php

  $curl = curl_init();
  $data = [
      "post" => "Today is a great day!",
      "platforms" => ["bluesky", "facebook", "instagram", "linkedin", "pinterest"],
      "mediaUrls" => ["https://img.ayrshare.com/012/gb.jpg"]
  ];

  curl_setopt_array($curl, [
      CURLOPT_URL => 'https://api.ayrshare.com/api/post',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_POSTFIELDS => json_encode($data),
      CURLOPT_HTTPHEADER => [
          'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
          'Content-Type: application/json'
      ],
  ]);

  $response = curl_exec($curl);
  curl_close($curl);
  echo $response;
  ```

  ```go Go theme={"system"}
  package main

  import (
  	"bytes"
  	"encoding/json"
  	"log"
  	"net/http"
  )

  func main() {
  	message := map[string]interface{}{
  		"post":      "Today is a great day!",
  		"platforms": []string{"bluesky", "facebook", "instagram", "linkedin"},
  		"mediaUrls": []string{"https://img.ayrshare.com/012/gb.jpg"}
  	}

  	bytesRepresentation, err := json.Marshal(message)
  	if err != nil {
  		log.Fatalln(err)
  	}

  	req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post",
  		bytes.NewBuffer(bytesRepresentation))

  	req.Header.Add("Content-Type", "application/json; charset=UTF-8")
  	req.Header.Add("Authorization", "Bearer API_KEY")

  	res, err := http.DefaultClient.Do(req)
  	if err != nil {
  		log.Fatal("Error:", err)
  	}

  	res.Body.Close()
  }
  ```

  ```csharp C# theme={"system"}
  using System;
  using System.Net.Http;
  using System.Text;
  using System.Threading.Tasks;

  namespace PostPOSTRequest_csharp
  {
    class Post
    {
      private static readonly HttpClient client = new HttpClient();

          static async Task Main(string[] args)
          {
              string API_KEY = "API_KEY";
              string url = "https://api.ayrshare.com/api/post";

              // Set up request headers
              client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

              // Prepare JSON content
              string json = "{\"post\" : \"Today is a great day!\","
                  + "\"platforms\" : [ \"bluesky\", \"facebook\", \"instagram\", \"linkedin\" ],"
                  + "\"mediaUrls\" : [ \"https://img.ayrshare.com/012/gb.jpg\" ]}";
              var content = new StringContent(json, Encoding.UTF8, "application/json");

              try
              {
                  // Send POST request
                  HttpResponseMessage response = await client.PostAsync(url, content);
                  response.EnsureSuccessStatusCode();

                  // Read response
                  string responseBody = await response.Content.ReadAsStringAsync();
                  Console.WriteLine(responseBody);
              }
              catch (HttpRequestException e)
              {
                  Console.WriteLine($"Error: {e.Message}");
              }
          }
      }
  }
  ```

  ```ruby Ruby theme={"system"}
  require 'httparty'    # gem install httparty

  res = HTTParty.post("https://api.ayrshare.com/api/post",
      headers: {Authorization: "Bearer API_KEY"},
      body: {
          post: "Today is a great day!",
          platforms: ['bluesky', 'facebook', 'instagram', 'linkedin'],
          mediaUrls: ["https://img.ayrshare.com/012/gb.jpg"]
      }).body

  puts res
  ```
</CodeGroup>

Вітаємо! Ви щойно надіслали свій перший пост.

### Відповідь на пост

Ви отримаєте відповідь зі `status` "success", коли наш API успішно обробить ваш пост. Відповідь містить:

<ul className="custom-bullets">
  <li>`status`: загальний статус виклику API ("success" або "error")</li>
  <li>`errors`: масив зустрічених помилок (порожній у разі успіху)</li>
  <li>`postIds`: масив об'єктів із деталями по конкретних платформах:</li>

  <ul className="custom-bullets">
    <li>Назва платформи</li>
    <li>Post ID на цій платформі</li>
    <li>URL для перегляду посту</li>
    <li>Додаткова інформація для конкретної платформи</li>
  </ul>
</ul>

Кожна платформа в масиві `postIds` матиме власний статус, що дозволить вам перевірити, які платформи успішно отримали ваш пост.

Перевірте свої сторінки соцмереж, щоб переконатися, що пост успішно оброблено та опубліковано. Зверніть увагу, що деякі платформи можуть мати незначну затримку до появи постів публічно.

Ось приклад відповіді:

```json Post Response theme={"system"}
{
  "status": "success",
  "errors": [],
  "postIds": [
    {
      "status": "success",
      "id": "738681876342836_1530521371228093",
      "postUrl": "https://www.facebook.com/738681876342836/posts/1530521371228093",
      "platform": "facebook"
    },
    {
      "status": "success",
      "id": "18008340650526653",
      "postUrl": "https://www.instagram.com/p/DGf4hgZObR0/",
      "usedQuota": 1,
      "platform": "instagram"
    },
    {
      "status": "success",
      "id": "urn:li:share:7300150903578275840",
      "postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7300150903578275840",
      "owner": "urn:li:organization:66755239",
      "platform": "linkedin"
    }
  ],
  "id": "K0DmYRgugS5P694it",
  "refId": "d93ca2784c9bf7bf83e0bf081d16c91598",
  "post": "Today is a great day!"
}
```

Більше прикладів коду для виклику social media API у Node.js, Python, PHP, Golang, C# та Ruby, а також інші чудові можливості:

<Card title="Post" icon="code" href="/apis/post/post" horizontal />

### Копнемо трохи глибше

Розберемо процес, що відбувся під час цього API-виклику.

<Steps>
  <Step title="Задайте заголовок">
    Ми задали в заголовку Authorization bearer token (API Key) та content type
    json.
  </Step>

  <Step title="Створіть об'єкт тіла">
    Далі створили об'єкт тіла:

    <ul className="custom-bullets">
      <li>Post з текстом "Today is a great day!".</li>

      <li>
        Платформи соцмереж — Facebook, Instagram та LinkedIn.
        Включайте лише ті платформи, які ви підключили на сторінці Social Linkage.
      </li>

      <li>Додали зображення у mediaUrls.</li>
    </ul>
  </Step>

  <Step title="Викличте ендпоінт /post">
    Надіслали все як HTTP POST на ендпоінт /post.
  </Step>
</Steps>

## Перш ніж підете — кілька найкращих практик

### Читайте документацію

Ми ведемо ґрунтовну та актуальну документацію. Оскільки ви вже тут, приділіть час перегляду розділів у лівій навігації.

### Коди помилок важливі

Їх потрібно обробляти, щоб ваші користувачі отримали чудовий досвід.

<Card title="Errors" icon="link" href="/errors/overview" horizontal />

### Тримайте API Key у безпеці

Ми серйозно ставимося до безпеки — і ви теж маєте. У вас повний контроль над з'єднанням між Ayrshare та вашими акаунтами соцмереж. Після підключення акаунтів Ayrshare API Key стає способом автентифікації. Тримайте цей ключ у таємниці та безпеці.

### Публікуйте тестові пости

Ви можете публікувати тестові пости з випадковою цитатою, зображенням або відео, використовуючи параметри `randomPost`, `randomMediaUrl` та `isLandscapeVideo` або `isPortraitVideo` в [ендпоінті /post](/apis/post/post). Якщо використовуєте `randomPost`, параметр `post` не є обов'язковим.

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/hMI0eK-5qBk?si=y5dkygosZ1B2DtlV" title="Post Random Content" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />
</div>

<Warning>
  Ці пости з'являються у ваших соцмережах наживо, тому за потреби видаліть їх після тестування.
</Warning>

#### Випадкова цитата

Надішліть випадкову цитату для тесту публікації, додавши `randomPost: true`.

Використовується з ендпоінтом [/post](/apis/post/post).

```json theme={"system"}
"randomPost": true
```

#### Випадкове зображення

Надішліть випадкове зображення, додавши `randomMediaUrl: true`.

Використовується з ендпоінтом [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true
```

#### Випадкове відео

Надішліть випадкове горизонтальне відео, додавши `isVideo: true` та `isLandscapeVideo: true`.
Відео буде стандартного горизонтального розміру.

Використовується з ендпоінтом [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true,
"isLandscapeVideo": true
```

Надішліть випадкове вертикальне відео (потрібне для TikTok або Facebook/Instagram Reels), додавши `isVideo: true` та `isPortraitVideo: true`.

Використовується з ендпоінтом [/post](/apis/post/post).

```json theme={"system"}
"randomMediaUrl": true,
"isPortraitVideo": true
```

#### Випадковий коментар

Надішліть випадковий коментар для тесту публікації коментаря, додавши `randomComment: true`.

Використовується з ендпоінтом [/comment](/apis/comments/post-comment).

```json theme={"system"}
"randomComment": true
```

#### Приклад виклику cURL

Надіслати випадкову цитату та вертикальне відео.

```bash theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
    "randomPost": true,
    "platforms": ["facebook", "instagram", "linkedin"],
    "randomMediaUrl": true,
    "isPortraitVideo": true
}' \
https://api.ayrshare.com/api/post
```

### **Використовуйте Postman для тестування API-викликів**

[Postman](https://www.postman.com/) — чудовий інструмент для тестування API-викликів. Ви навіть можете генерувати код більш ніж десятьма мовами.

### Демо-код

Якщо шукаєте зразок демо-проєкту на React та NodeJS, див. цей репозиторій на GitHub:

<Card title="Github Social Posting Demo App" icon="github" href="https://github.com/ayrshare/social-api-demo" horizontal />

### **Типове усунення несправностей**

Іноді щось йде не так, тож ось трохи допомоги в нашому довідковому центрі.

<Card title="Troubleshooting" icon="link" href="/help-center/overview" horizontal />

### **Звертайтеся до нас по допомогу**

Ми готові допомогти — скористайтеся чатом у правому нижньому куті або [напишіть нам](mailto:support@ayrshare.com).
