Download the PHP package pariette/signalbird without Composer

On this page you can find all versions of the php package pariette/signalbird. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package signalbird

Signalbird SDK

Tek paket, dört yüzey, on iki giriş noktası. Panelde tıklayarak yapabildiğiniz her şey kodla da yapılabilir.

Yüzey Ne yapar Anahtar Nerede
Telsiz (Radio) projenizden bir kanala log/olay yazar sb_secret_live_… / sb_public_live_… sunucu / tarayıcı
Gönderim (Messaging) e-posta, SMS, push gönderir; kişi, liste, kampanya yönetir; mesaj durumu okur; webhook imzası doğrular sb_… yalnız sunucu
Yönetim (Management) Telsiz projesi/kanalı açar, olay akışını okur, sohbet gelen kutusunu işler, uygulama ve cihaz yönetir sb_… + scope yalnız sunucu
Uygulama (App) müşterinizin son kullanıcısına canlı sohbet + push cihaz kaydı sb_public_live_… web, iOS, Android
Partner Signalbird'ü kendi ürününde satan sözleşmeli platform müşterisini sağlar ve yetkilendirir sb_secret_live_… yalnız sunucu

Bir seçenek daha var ve kod yazmaz: hazır sohbet widget'ı (signalbird.js), siteye tek <script> ile gömülür.

Dil matrisi

Dil / platform Telsiz Gönderim Yönetim Uygulama Kurulum
Node.js / TypeScript ✓ ✓ ✓ ✓ npm i signalbird
Tarayıcı (düz JS) ✓ - - ✓ signalbird/browser · /app
React / Next.js ✓ ✓ ✓ ✓ signalbird/react
Vue 3 ✓ - - ✓ signalbird/vue
Angular ✓ - - ✓ signalbird/angular
React Native / Expo ✓ - - ✓ signalbird/react-native
PHP / Laravel ✓ ✓ ✓ - composer require pariette/signalbird
Python ✓ ✓ ✓ - pip install signalbird
Go ✓ ✓ ✓ - go get github.com/Pariette-Inc/signalbird.sdk
.NET / ASP.NET Core ✓ ✓ ✓ - dotnet add package Signalbird.Sdk
Swift (iOS) ✓ - - ✓ SPM: Signalbird
Kotlin (Android) ✓ - - ✓ io.signalbird:signalbird-sdk

Metot adları diller arasında birebir aynıdır; her dil kendi yazım geleneğini korur (createRadioProject / create_radio_project / CreateRadioProject). node scripts/check-parity.mjs bunu her derlemede denetler.

Uygulama yüzeyi mobil ve tarayıcı içindir: gizli anahtar oraya gömülmez. Gönderim ve Yönetim yüzeyleri yalnız sunucudadır.

Telsiz

Telsiz'in tek işi vardır: projenizden bir kanala mesaj yazmak.

Bildirimin kime gideceği, hangi kanaldan (push/e-posta), sessiz saatlerde ne olacağı ve aynı mesajın kaç kez uyarı üreteceği sunucuda, kanal ayarlarında durur. Kod tarafında bunlar yoktur ve olmamalıdır: bildirim kuralını değiştirmek için uygulamanızı yeniden yayınlamanız gerekmesin.

Tek anahtar

.env dosyanıza bir satır yazarsınız:

Takım anahtarı (sb_…) her şeyi kapsar: e-posta, SMS, push, kişi ve kampanya, sohbet, uygulama, domain, Telsiz log yazımı. Ne yapabileceğini anahtarın kapsamları belirler; panelde üretilirken seçersiniz. Adres yazmanız gerekmez - üretim kökü paketin içindedir.

Ayrı anahtar isteğe bağlıdır: bir sunucunun yalnız log yazıp gönderim yapamamasını istiyorsanız o sunucuya dar kapsamlı ikinci bir anahtar verirsiniz.

Bir de açık anahtarlar vardır; onlar .env'e değil, sayfanın içine gömülür ve gizli olmadıkları için ayrı durmak zorundadırlar:

Anahtar Nerede Ne yapar
sb_public_live_… <script data-key data-channel> sohbet widget'ı, push cihaz kaydı
sb_public_live_… tarayıcı log istemcisi yalnız izinli alan adlarından

Gizli anahtar tarayıcıya gömülemez: sunucu, Origin başlığı taşıyan bir istekte gizli anahtarı reddeder (SECRET_KEY_IN_BROWSER). Bu bir kolaylık değil, kasıtlı bir duvardır - anahtar bir kez istemciye indiğinde herkesindir.

Kurulum

Dil / çatı Kurulum
Node.js, Next.js (sunucu), Express, NestJS, Fastify npm install signalbird
React, Vue, Angular, Svelte, düz JS (tarayıcı) npm install signalbird → /browser, /app, /react, /vue, /angular
React Native, Expo npm install signalbird → /react-native
PHP, Laravel composer require pariette/signalbird
Python (Django, FastAPI, Flask, Celery) pip install signalbird
Go go get github.com/Pariette-Inc/signalbird.sdk
.NET, ASP.NET Core dotnet add package Signalbird.Sdk
Swift (iOS, macOS) SPM: https://github.com/Pariette-Inc/signalbird.sdk
Kotlin (Android) implementation("io.signalbird:signalbird-sdk:2.6.0")
Canlı sohbet widget'ı (herhangi bir site) <script async src="https://signalbird.io/sdk/v1/signalbird.js" data-key="sb_public_live_…" data-channel="destek"></script>

Hepsi bu repodan çıkar ve aynı sürümü taşır - ayrı SDK reposu ya da dil başına sürüm yoktur.

Node.js / TypeScript

Kendi istemcinizi kurmak isterseniz:

Yakalanmamış hatalar:

Toplu gönderim (kısmi başarı normaldir, satır satır sonuç döner):

Next.js

Sunucu tarafında (route handler, server action, app/api/**) doğrudan signalbird kullanılır. İstemci bileşenlerinde kullanmayın - anahtar paketle birlikte tarayıcıya iner.

Tarayıcı (React, Vue, Angular, düz JS)

Çatıya özel sarmalayıcı yoktur; gereken tek şey bir fonksiyon çağrısıdır.

Kayıtlar tek tek değil, toplu gider (varsayılan 3 saniyede bir) ve sekme kapanırken sendBeacon ile boşaltılır.

React - app/providers.tsx ya da main.tsx:

Vue - main.ts:

Angular - ErrorHandler sağlayıcısı:

Panelde bu projenin izinli kökenlerini ve izinli kanallarını açmayı unutmayın; ikisi de boşken tarayıcı anahtarı hiçbir şey yapamaz. Kritik kanalları tarayıcıya açmayın: istemci kodu herkesin elindedir.

PHP / Laravel

.env:

Laravel'in kendi loglarını Telsiz'e bağlamak - config/logging.php:

Sonra LOG_STACK=single,signalbird. Mevcut Log::error() satırlarınız olduğu gibi çalışır; tek satır kod yazmadan Telsiz'e düşerler.

Laravel dışı PHP:

Davranış kuralları

Gönderim (Messaging)

Takım API anahtarı (sb_…, panelde Konsol → API anahtarları, scope'lu) ile çalışır. Telsiz anahtarı burada geçmez - istemci kurulurken WRONG_KEY_TYPE ile reddeder. Yalnız sunucuda kullanılır.

Node:

PHP / Laravel:

.env: SIGNALBIRD_DOMAIN_KEY=sb_secret_live_… (isteğe bağlı SIGNALBIRD_MESSAGING_URL, SIGNALBIRD_MESSAGING_TIMEOUT). Laravel dışı PHP: Signalbird::configureMessaging('sb_…') ya da new MessagingClient('sb_…').

Metot kümesi iki dilde aynıdır: sendEmail sendSms previewSms sendPush · listContacts createContact updateContact deleteContact bulkContacts · listContactLists createContactList deleteContactList · listCampaigns createCampaign getCampaign cancelCampaign listCampaignMessages iterateCampaignMessages · listMessages getMessage. Hepsi {ok, status, data?, code?, message?} döner; throwOnError: true ile istisna (SignalbirdError / SignalbirdException, code + status + body taşır).

Webhook imzası (message.*, campaign.* olayları):

Doğrulama ham gövde üzerinde yapılır; JSON'u ayrıştırıp yeniden serileştirmek imzayı bozar.

Yönetim (Management)

Panelde tıklayarak yaptığınız her şeyi kodla yapar. Ortam kurulumunuz, CI akışınız ya da kendi ajan arayüzünüz artık panel oturumu taklit etmek zorunda değil.

Bu bir admin yüzeyi değildir: anahtar tek bir takıma bağlıdır ve yalnız o takımın kayıtlarına dokunur. Kullanıcı, faturalama ve abonelik işlemleri SDK'da yoktur.

Panelden radio:*, chat:*, apps:* scope'larıyla bir sb_… anahtarı açın.

Sohbet gelen kutusunu kendi botunuzla işleyin:

Signalbird ekranını kendi panelinizde göstermek isterseniz gömme jetonu:

Anahtar embed:issue kapsamı ister - jeton 60 dakikalık bir panel oturumuna çevrildiği için bu kapsam bilerek ayrıdır.

Aynısı PHP, Python, Go ve .NET'te birebir aynı metot adlarıyla:

Tam liste (40 metot): docs/CONTRACT.md § 10.

Partner - müşteri sağlama

Signalbird'ü kendi ürününüzün içinde satıyorsanız (sözleşmeli platform) bu yüzey sizindir: müşteri hesabı açar, domain ekleyip izlemeye alır, uptime okur, ödeme alındığında modül açar ve panel ekranını kendi sayfanıza gömersiniz.

PHP'de Signalbird::partner()->createCompany([...]).

İki kural: anahtar tarayıcıya inmez ve TXT'siz domain kampanya gönderemez (izleme, sohbet ve push açıktır). Ayrıntı: docs/CONTRACT.md § 12.

Mesaj uçları salt okurdur: alıcı maskeli döner, gövde hiç dönmez - gövde zaten saklanmıyor.

Gönderim - müşterinin kendi sisteminden

Bir platformun (SubmitCMS, veribenim…) müşterisiyseniz kendi sunucunuzdan da gönderim yapabilirsiniz. Gereken tek şey kendi takım anahtarınızdır (sb_…); panelinizdeki entegrasyon kartında durur.

İkisinin farkı gövdenin nerede durduğudur: taşıyıcıda uygulamada (Blade), mail()'de Signalbird panelinde. Metni değiştirmek için dağıtım beklemek istemiyorsanız ikincisi.

Üç şey bilinmeli:

  1. Sınıfı siz seçmezsiniz, sistem belirler. Kampanya arayüzünden çıkan her şey zorunlu commercialtır. Ticari iletiyi transactional işaretleyip İYS'yi atlamak, sistemin izin verebileceği en pahalı hatadır.
  2. Gönderen kimliği panelde kurulur. Hazır adresiniz (bildirim@<takım>.sendsignalbird.com) hesapla birlikte gelir; kendi alan adınızı bağlamak için DKIM/SPF/MX kayıtlarını yayınlamanız gerekir.
  3. Anahtar sunucuda kalır. Tarayıcıya ya da mobil uygulamaya konmaz; oralar için açık uygulama anahtarı (sb_public_live_…) vardır.

Uygulama (App) - kendi sohbet arayüzünüz

Hazır widget yerine kendi arayüzünüzü yazmak, ya da sohbeti mobil uygulamanıza koymak istiyorsanız bu yüzey içindir. Açık uygulama anahtarı (sb_public_live_…) kullanır ve yalnız ziyaretçinin kendi verisine dokunur.

React / Next.js

Vue 3

Angular

React Native / Expo

Swift (iOS)

Kotlin (Android)

Tam liste (17 metot) ve yoklama merdiveni: docs/CONTRACT.md § 11.

Widget (canlı sohbet)

Panelde Gelen Kutusu → Ayarlar → Uygulamalar'dan bir uygulama açın; verilen sb_public_live_… anahtarını sitenize gömün:

Bu kadar. Sohbet modülü açıksa balon görünür; renk, konum, karşılama, ön-form, çalışma saatleri panelden yönetilir. Programatik kullanım:

data-key/data-channel yerine Signalbird.init({ publicKey, chatKey, baseUrl?, locale? }) da çağrılabilir. Widget ev sahibi sayfaya asla hata fırlatmaz; Shadow DOM içinde çalışır, sayfanızın CSS'iyle çakışmaz; < 20 KB gzip. Ayrıntı: docs/CONTRACT.md § 9 ve https://signalbird.io/sdk/widget.

Gömme (embed) - Signalbird ekranını kendi panelinizde çalıştırın

Partner (veribenim, submitcms, yeni ortaklar) Signalbird modülünü kendi panelinin içinde gösterir. Ekran kopyalanmaz - çalışan ekranın kendisi gelir; Signalbird'de güncellenen her şey partner panelinde de anında günceldir.

npm ile:

Sunucu tarafı tek çağrıdır (Signalbird::partner()->createEmbedToken(...), §12.5): 120 saniyelik, tek kullanımlık jeton. Ayrıntı: docs/CONTRACT.md § 13.

Hata kodları

Kod Anlamı
INVALID_KEY Anahtar yok, yanlış ya da proje pasif
SECRET_KEY_IN_BROWSER Gizli anahtar tarayıcıdan kullanıldı
ORIGIN_NOT_ALLOWED Tarayıcı anahtarı bu alan adına açık değil
CHANNEL_NOT_ALLOWED Tarayıcı anahtarı bu kanala yazamaz
MODULE_DISABLED Paketinizde Telsiz (logger) modülü yok
LIMIT_REACHED Aylık kayıt limitiniz doldu
CHANNEL_DISABLED Kanal kapalı - kayıt yazılmaz, kota da harcanmaz

Gönderim ve Yönetim istemcilerine özgü: WRONG_KEY_TYPE (kurulumda), API_KEY_INVALID, API_KEY_SCOPE (anahtarda gereken scope yok), VALIDATION_ERROR (422), NO_CONSENT, SUPPRESSED, NO_SENDING_DOMAIN, LIST_NOT_FOUND, MODULE_DISABLED, NETWORK_ERROR, TIMEOUT, HTTP_<durum>.

Uygulama yüzeyi ve widget: VISITOR_INVALID (yerel kimlik silinir, yeni oturum açılır), CHAT_UNAVAILABLE (kota - "sohbet kullanılamıyor" bandı), NOT_INITIALIZED.


All versions of signalbird with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-curl Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pariette/signalbird contains the following files

Loading the files please wait ...