PHPackages                             nishadil/socialpostman - 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. [API Development](/categories/api)
4. /
5. nishadil/socialpostman

ActiveLibrary[API Development](/categories/api)

nishadil/socialpostman
======================

SocialPostman is a PHP library to publish posts to social media platforms. (Facebook, Instagram, LinkedIn, Twitter/X) with background processing and retry support.

v1.0.0(4mo ago)101MITPHPPHP &gt;=8.1

Since Dec 25Pushed 4mo agoCompare

[ Source](https://github.com/nishadil/SocialPostman)[ Packagist](https://packagist.org/packages/nishadil/socialpostman)[ RSS](/packages/nishadil-socialpostman/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

SocialPostman
=============

[](#socialpostman)

SocialPostman is a PHP library to publish posts to social media platforms. (Facebook, Instagram, LinkedIn, Twitter/X) with background processing and retry support.

Laravel Application Guide
-------------------------

[](#laravel-application-guide)

### Step 1: Install via Composer

[](#step-1-install-via-composer)

```
composer require nishadil/socialpostman
```

Laravel will auto-discover the service provider.

### Step 2: Publish Config File

[](#step-2-publish-config-file)

```
php artisan vendor:publish --tag=socialpostman-config
```

This creates:

```
config/socialpostman.php

```

### Step 3: Configure .env

[](#step-3-configure-env)

```
# Facebook
FACEBOOK_ACCESS_TOKEN=
FACEBOOK_PAGE_ID=

# Instagram
INSTAGRAM_ACCESS_TOKEN=
INSTAGRAM_USER_ID=

# LinkedIn
LINKEDIN_ACCESS_TOKEN=
LINKEDIN_AUTHOR_URN=

# Twitter / X
TWITTER_BEARER_TOKEN=
```

### Step 4: Register Providers (One Time)

[](#step-4-register-providers-one-time)

Recommended place: `App\Providers\AppServiceProvider.php`

```
use Nishadil\SocialPostman\SocialPostman;
use Nishadil\SocialPostman\Providers\FacebookProvider;
use Nishadil\SocialPostman\Providers\InstagramProvider;
use Nishadil\SocialPostman\Providers\LinkedInProvider;
use Nishadil\SocialPostman\Providers\TwitterProvider;

public function boot(SocialPostman $postman): void
{
    $postman->registerProvider(
        'facebook',
        new FacebookProvider(config('socialpostman.providers.facebook'))
    );

    $postman->registerProvider(
        'instagram',
        new InstagramProvider(config('socialpostman.providers.instagram'))
    );

    $postman->registerProvider(
        'linkedin',
        new LinkedInProvider(config('socialpostman.providers.linkedin'))
    );

    $postman->registerProvider(
        'twitter',
        new TwitterProvider(config('socialpostman.providers.twitter'))
    );
}
```

### Step 5: Post from Controller / Service

[](#step-5-post-from-controller--service)

**Immediate Post**

```
use Nishadil\SocialPostman\Laravel\Facades\SocialPostman;

SocialPostman::post('twitter', [
    'message' => 'Hello X 👋 from Laravel'
]);
```

**Background (Laravel Queue – Recommended)**

```
use Nishadil\SocialPostman\Laravel\Jobs\PublishSocialPost;

PublishSocialPost::dispatch('facebook', [
    'message' => '🚀 Background post from Laravel'
]);
```

Make sure queue worker is running:

```
php artisan queue:work
```

### Step 6: Retry Failed Jobs

[](#step-6-retry-failed-jobs)

If any background post fails:

```
php artisan socialpostman:retry
```

Non-Laravel (Plain PHP) Guide
-----------------------------

[](#non-laravel-plain-php-guide)

### Step 1: Install via Composer

[](#step-1-install-via-composer-1)

```
composer require nishadil/socialpostman
```

### Step 2: Create Bootstrap File

[](#step-2-create-bootstrap-file)

`bootstrap.php`

```
