PHPackages                             tenko/link-sms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tenko/link-sms

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tenko/link-sms
==============

Link Group Third-part Sms SDK

v0.1.5(2y ago)010MITPHPPHP &gt;=7.4

Since Jun 8Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Tenko-Star/LinkSMS)[ Packagist](https://packagist.org/packages/tenko/link-sms)[ RSS](/packages/tenko-link-sms/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (7)Used By (0)

LinkSMS
=======

[](#linksms)

LinkSMS is a third-part SDK for Link Group SMS Service.

[中文文档](README-CN.MD)

Quick Start
-----------

[](#quick-start)

- First: Create a config object

```
class Config implements \LinkSms\Library\ConfigInterface {
    public function getBaseUrl(): string
    {
        return 'https://sdk3.028lk.com:9988';
    }

    public function getCorpId(): string
    {
        return '[CORP_ID]';
    }

    public function getPassword(): string
    {
        return '[PASSWORD]';
    }

    public function getHeaders(): array
    {
        return [];
    }

    public function getGuzzleConfig(): array
    {
        return [];
    }
}

$config = new Config();
```

Or you can use an anonymous class like this:

```
$config = new class implements \LinkSms\Library\ConfigInterface {
    public function getBaseUrl(): string
    {
        return 'https://sdk3.028lk.com:9988';
    }

    public function getCorpId(): string
    {
        return '[CORP_ID]';
    }

    public function getPassword(): string
    {
        return '[PASSWORD]';
    }

    public function getHeaders(): array
    {
        return [];
    }

    public function getGuzzleConfig(): array
    {
        return [];
    }
};
```

- If you need to log events, there are also provided interfaces for logging. Here is the usage example:

```
$log = new class implements \LinkSms\Library\LogInterface {
    public function info(string $message, array $data = [])
    {
        // TODO write info
    }

    public function warning(string $message, array $data = [])
    {
        // TODO write warning
    }

    public function error(string $message, array $data = [])
    {
        // TODO write error
    }
};
```

- And then you can start using it.

```
$sms = new \LinkSms\SmsService($config[, $log]); // It is not necessary to pass a LogInterface
```

Usage
-----

[](#usage)

- Send message

```
$sms->sendMessage(
    ['13800008888'],
    'content 【Sign】',
    '', // Cell, must be a numeric string,
    new DateTimeImmutable('2024-01-01 08:00') // It is not necessary unless you need to schedule the sending of text messages.
)
```

- Get remain

```
$remain = $sms->getRemain();
```

- Fetch message

```
/** @var array $messages */
$messages = $sms->fetchMessage();

foreach ($messages as $message) {
    $mobile = $message->getMobile();

    $content = $message->getContent();

    /** @var DateTimeImmutable $sendTime */
    $sendTime = $message->getSendTime();
    $sendTimestamp = $sendTime->getTimestamp();

    $cell = $message->getCell();
}
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

6

Last Release

1071d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a5f4824864942f6658612e4c3077dd943607eb2b72bce0056e8b444c54b6c23?d=identicon)[tenko](/maintainers/tenko)

---

Top Contributors

[![Tenko-Star](https://avatars.githubusercontent.com/u/87012983?v=4)](https://github.com/Tenko-Star "Tenko-Star (16 commits)")

---

Tags

smsLinkGroup

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tenko-link-sms/health.svg)

```
[![Health](https://phpackages.com/badges/tenko-link-sms/health.svg)](https://phpackages.com/packages/tenko-link-sms)
```

###  Alternatives

[google/cloud-core

Google Cloud PHP shared dependency, providing functionality useful to all components.

343121.4M79](/packages/google-cloud-core)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[matthewbdaly/sms-client

A generic SMS client library. Supports multiple swappable drivers.

2291.2k2](/packages/matthewbdaly-sms-client)[midnite81/geolocation

A laravel package which wraps the IP Info DB and IP2Location Services

3624.1k](/packages/midnite81-geolocation)[enricodias/smsdev

Send and receive SMS using SmsDev.com.br

2211.3k1](/packages/enricodias-smsdev)[amirbagh75/smsir-php

Unofficial sms.ir PHP Package

181.2k](/packages/amirbagh75-smsir-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
