Looking to hire Laravel developers? Try LaraJobs

laravel-mosaic maintained by bahricanli

Description
Mosaic Public API icin Laravel istemci kutuphanesi — kurumlarin sosyal medya istatistiklerini (takipci, gecmis, postlar, ozet) ceker.
Author
Bahri Meric Canli
Last update
2026/06/19 13:12 (dev-main)
License
Links
Downloads
3

Comments
comments powered by Disqus

Laravel Mosaic

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