---
title: "Pipedream"
description: "Tweet araması, profiller, trend olan tweet'ler, HTTP tetikleyicileri ve onaylanmış gönderiler için TwexAPI aracılığıyla Pipedream iş akışı otomasyonu oluşturun."
---

Aramalar, profiller, trend olan tweet'ler ve onaylanmış gönderiler için bir Pipedream Twitter entegrasyonu oluşturun. TwexAPI her iş akışı için bir REST API ve bir API anahtarı sağlar.

Temsilci aktarımları için bir web kancası tetikleyicisi, yinelenen aramalar için bir zamanlama tetikleyicisi veya özel normalleştirmeye ihtiyaç duyduğunuzda satır içi kod adımları seçin.

## Pipedream otomasyon modelini seçin

<CardGroup cols={2}>
  <Card title="HTTP trigger + code step" icon="webhook">
    Bir MCP aracısından katı JSON alın, satırları normalleştirin ve Slack veya Sheets'e yönlendirin.
  </Card>

  <Card title="Zamanlanmış REST okumaları" icon="calendar-clock">
    Tweet araması veya trend raporları için TwexAPI'yi belirli bir tempoda arayın.
  </Card>

  <Card title="Özel bileşen paketi" icon="boxes">
    Tüm ekibin aynı eylemlere ihtiyacı olduğunda, kimliği doğrulanmış istekleri tekrarlayan paketler.
  </Card>
</CardGroup>

Aramaları, web kancası geçişlerini, takipçi dışa aktarmalarını ve onaylı yazma işlemlerini ayrı iş akışlarına bölün. Daha küçük iş akışları hataları ve hız sınırlarını daha net bir şekilde ortaya çıkarır.

## Önkoşullar

* [TwexAPI API anahtarı](https://twexapi.io/dashboard)
* Pipedream hesabı
* Slack, Google E-Tablolar, Airtable veya bir veritabanı için isteğe bağlı bağlı hesaplar
* 'https://api.twexapi.io/mcp'ye bağlanan isteğe bağlı MCP özellikli aracı

## Sunucusuz API entegrasyonu

Her TwexAPI isteğini "https://api.twexapi.io" adresinden başlatın. API anahtarını "Authorization: Bearer" başlığı aracılığıyla gönderin. Anahtarları adım dışa aktarmalarında veya günlüklerinde değil, Pipedream ortam değişkenlerinde tutun.

```bash
export TWEXAPI_API_KEY="YOUR_API_KEY"
```

İlk kimlik doğrulama kontrolü olarak `GET /balance'ı kullanın. Bir X hesabını değiştirmeden API anahtarını doğrular.

## Paylaşılan istek yardımcısı

```javascript
export default defineComponent({
  props: {
    twexapi: {
      type: "string",
      label: "TwexAPI API Key",
      secret: true,
    },
  },
  methods: {
    async twexapiRequest($, { method, path, body, params }) {
      const url = new URL(`https://api.twexapi.io${path}`);
      if (params) {
        Object.entries(params).forEach(([key, value]) => {
          if (value !== undefined && value !== null) {
            url.searchParams.set(key, String(value));
          }
        });
      }

      const response = await fetch(url, {
        method,
        headers: {
          Authorization: `Bearer ${this.twexapi}`,
          "Content-Type": "application/json",
        },
        body: body ? JSON.stringify(body) : undefined,
      });

      if (!response.ok) {
        throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
      }

      return response.json();
    },
  },
});
```

## Başlatıcı eylemleri

| Aksiyon | TwexAPI rotası |
| --- | --- |
| Tweet'lerde ara | `POST /twitter/advanced_search/page` |
| Kullanıcı profilini al | `GET /twitter/{screen_name}/about` |
| Kullanıcıları ara | `GET /twitter/search-user/{keyword}/{target_count}` |
| Trendleri alın | `GET /twitter/global-trending/tweets` |
| Takipçileri listele | `POST /v3/twitter/users/followers` |
| Tweet oluştur | `POST /twitter/tweets/create` |

### Tweet'lerde arama kodu adımı

```javascript
export default defineComponent({
  async run({ steps, $ }) {
    const response = await fetch("https://api.twexapi.io/twitter/advanced_search/page", {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.TWEXAPI_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        searchTerms: ["AI agents lang:en"],
        sortBy: "Latest",
        nextCursor: "",
      }),
    });

    if (!response.ok) {
      throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
    }

    return response.json();
  },
});
```

## Webhook öncelikli akış

1. Pipedream'de bir HTTP tetikleyicisi oluşturun.
2. MCP özellikli bir aracıdan TwexAPI satırlarını toplamasını ve katı JSON döndürmesini isteyin.
3. POST the JSON to the Pipedream endpoint.
4. Bir kod adımında satırları normalleştirin ve tekilleştirin.

### JavaScript normalleştirme adımı

```javascript
export default defineComponent({
  async run({ steps }) {
    const payload = steps.trigger.event.body;

    return (payload.tweets || []).map((tweet) => ({
      id: tweet.tweet_id || tweet.id,
      url: tweet.public_url ?? `https://x.com/i/web/status/${tweet.tweet_id || tweet.id}`,
      author: tweet.author_username,
      text: tweet.text || tweet.full_text,
      created_at: tweet.created_at,
      route_used: payload.route_used,
      next_cursor: payload.next_cursor,
    }));
  },
});
```

Önerilen MCP aracısı istemi:

```text
Use Twexapi MCP to get quote tweets for tweet ID 1803006263529541838.
Return only JSON with route_used, source_tweet_id, has_more, next_cursor, and tweets.
Each tweet must include tweet_id, author_username, text, created_at, and public_url.
Do not call write endpoints.
```

## Sonuç aktarımı

<CardGroup cols={2}>
  <Card title="Tweet sayfaları" icon="search">
    "tweet_count", `has_more` ve "next_cursor"u dışa aktarın; 'tweet_id', 'text', 'author_username' ve 'created_at' içeren satırları döndürür.
  </Card>

  <Card title="Profil satırları" icon="user-round">
    `user_id`, "username", "name", takipçi sayıları ve doğrulama alanlarını dışa aktarın.
  </Card>

  <Card title="Trend grupları" icon="trending-up">
    İş akışı meta verileriyle ülkeyi, konuyu, içerik etiketini ve tweet satırlarını dışa aktarın.
  </Card>

  <Card title="Yazma işlemleri" icon="send">
    [CLI](/sdks/cli) `--dry-run` ile önizleme yapın. Yazma işlemleri için bir çerez veya "auth_token" gerekir.
  </Card>
</CardGroup>

## Hata işleme

Aşağı akış satırlarını dışa aktarmadan önce her durumu yönlendirin.

| Durum | Aksiyon |
| ------ | ------ |
| `400` | İstek alanlarını düzeltin; değiştirmeden tekrar denemeyin. |
| `401` | API anahtarını değiştirin. |
| `403` | Hesap erişimini veya kredileri çözümleyin. |
| `429` | Geri çekilin ve imleci koruyun. |
| `5xx` | Sınırlı geri çekilmeyle güvenli okumaları yeniden deneyin. |

Yalnızca aşağı akış işlemi başarılı olduktan sonra sayfa imlecini sürdürün.

## Tarifler

### Slack'e gönderilen tweet'leri arayın

1. İş akışını raporlama ritminize göre planlayın.
2. 'POST /twitter/advanced_search/page'i arayın.
3. Tweetleri etkileşim eşiğine göre filtreleyin.
4. Seçilen tweet metnini, yazarını ve bağlantısını Slack'e gönderin.

### Temsilcinin Google E-Tablolar'a aktarımı

1. HTTP tetikleyicisi MCP aktarım JSON'unu alır.
2. Tweet satırlarını normalleştirin.
3. `tweet_id` ile E-Tablolar'a ekleyin.

### CRM'e takipçi sayfası

1. HTTP veya zamanlanmış adım, 'POST /v3/twitter/users/followers'ı çağırır.
2. Takipçi satırlarını normalleştirin.
3. CRM `user_id` ile yükselir.
4. Veri deposu "next_cursor"u korur.

## Test kontrol listesi

* Tetikleyici gövdesinin geçerli JSON olduğunu doğrulayın.
* Tekilleştirme anahtarı olarak `tweet_id` veya `user_id` kullanın.
* Planlanmış devam için `sonraki_imleci' Pipedream veri depolarında saklayın.
* 'TWEXAPI_API_KEY'i yalnızca ortam değişkenlerinde tutun.
* Bearer jetonlarını asla adım çıkışına kaydetmeyin.

## Sonraki adımlar

* [Yap](/guides/make)
* [Zapier](/guides/zapier)
* [n8n](/guides/n8n)
* [Ajan MCP Aktarımı](/mcp/agent-handoff)
* [API Referansı](/api-reference/overview)
