bahricanli/laravel-mosaic

Mosaic Public API icin Laravel istemci kutuphanesi — kurumlarin sosyal medya istatistiklerini (takipci, gecmis, postlar, ozet) ceker.

Maintainers

Package info

github.com/bahricanli/laravel-mosaic

pkg:composer/bahricanli/laravel-mosaic

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-06-19 11:11 UTC

This package is auto-updated.

Last update: 2026-06-19 11:15:31 UTC


README

Mosaic Public API için Laravel istemci kütüphanesi. Kurumların Mosaic tarafından toplanan sosyal medya verilerini (takipçi sayıları, geçmiş trend, paylaşımlar, özet metrikler) kendi Laravel uygulamalarına salt-okunur olarak çekmesini sağlar.

  • ✅ Laravel 5.5+ (8 / 9 / 10 / 11 / 12 dahil)
  • ✅ PHP 7.0+
  • ✅ Guzzle 6 / 7
  • ✅ Otomatik paket keşfi (auto-discovery)

Kurulum

Paket henüz Packagist'te yayınlanmadığı için, projenizin composer.json dosyasına VCS deposu ekleyin:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/bahricanli/laravel-mosaic"
    }
]

Ardından:

composer require bahricanli/laravel-mosaic

Yapılandırma

.env dosyanıza kuruma özel bilgileri ekleyin:

MOSAIC_BASE_URL=https://www.mosaic.net.tr
MOSAIC_API_KEY=msk_xxxxxxxxxxxxxxxx

API key'i Mosaic panelinden Kurumlar → (kurum) → Düzenle → Public API bölümünden üretebilirsiniz.

İsterseniz config dosyasını publish edin:

php artisan vendor:publish --tag=mosaic-config

Laravel 5.5 — manuel kayıt (auto-discovery kapalıysa)

config/app.php:

'providers' => [
    BahriCanli\Mosaic\MosaicServiceProvider::class,
],

'aliases' => [
    'Mosaic' => BahriCanli\Mosaic\Facades\Mosaic::class,
],

Kullanım

Facade ile

use Mosaic;

$overview = Mosaic::overview();
echo $overview['summary']['total_followers'];

$followers = Mosaic::followers();
$history   = Mosaic::followersHistory('instagram', 30);
$posts     = Mosaic::posts('instagram', 20);

Dependency injection ile

use BahriCanli\Mosaic\MosaicClient;

public function dashboard(MosaicClient $mosaic)
{
    return view('dashboard', [
        'overview' => $mosaic->overview(),
    ]);
}

Birden fazla kurum / runtime key

$client = new MosaicClient('https://www.mosaic.net.tr', 'msk_xxx');
$data   = $client->overview();

// veya mevcut client'ın key'ini değiştir
$other = app('mosaic')->withApiKey('msk_yyy')->overview();

Metotlar

Metot Açıklama
overview() Kurum bilgisi + her platformun güncel takipçisi + birleşik özet (toplam, 7 günlük büyüme)
followers() Her platformun en güncel takipçi sayısı
followersHistory($platform = null, $days = 30) Tarih bazlı takipçi serisi (grafik). days en fazla 365.
posts($platform = null, $limit = 20) Postlar + etkileşim metrikleri. limit en fazla 50.

Tüm metotlar API yanıtını ilişkisel dizi (array) olarak döner. Hata durumunda BahriCanli\Mosaic\Exceptions\MosaicException fırlatılır.

Örnek overview() yanıtı

{
  "organization": { "name": "Radyo C", "slug": "radyo-c" },
  "summary": { "total_followers": 123487, "growth_7d": 540, "growth_7d_percent": 0.44 },
  "platforms": [
    { "platform": "instagram", "platform_label": "Instagram", "followers": 22303 }
  ],
  "updated_at": "2026-06-19"
}

Tam API dokümantasyonu: https://www.mosaic.net.tr/api-docs

Lisans

MIT