mody/smsprovider

配置短信网关提供商并开始发送短信

安装: 114

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

语言:Blade

类型:

2.0 2021-02-11 19:14 UTC

This package is auto-updated.

Last update: 2024-09-12 03:41:39 UTC


README

介绍

/*
 * smsprovider package provides multiple connection with many sms providers.
 * just set your provider configuration and start sending messages.
 *
 * two officially plans:
 *      [user, group]
 *   user plan is one user provider, that works only for one user [authenticated user].
 *   group is multiple user provider, that services a company users maybe,
 *      that shares the same sms provider.
 *
 *  with group plan, your providers will have an account id number column.
 *  when calling your SMSProvider::configProvider() method,
 *      you will need this session to be set: session()->put('group_id', $group_id);
 *
 * username is your name columns to be displayed.
 * if track is true, activities will be saved in sms_provider_track_activity table.
 * user_model_namespace is your auth model. used in relationship with track table.
 *
 * package will create five tables .
 *      [
 *          'sms_providers' => 'container of providers you have',
 *          'sms_providers_additional_params' => 'necessary parameters we need for sending sms',
 *          'sms_provider_messages' => 'messages you sent either success of failed with error codes',
 *          'sms_direct_messages' => 'template messages you created for quick sending'
 *          'sms_provider_track_activity' => 'track user activity while using package methods'
 *      ]
 */

安装

  composer require mody/smsprovider

安装后,请执行以下操作

1. config/app.php

a. 服务提供者

  mody\smsprovider\SMSGatewayServiceProvider::class,

b. 别名

'SMSProvider' => mody\smsprovider\Facades\SMSProvider::class,

2. 清除缓存

php artisan config:cache

3. 发布资源

php artisan vendor:publish

您可能看到以下选项,请选择此选项

Provider: mody\smsprovider\SMSGatewayServiceProvider

4. config/smsgatewayConfig.php

选择您的计划[个人用户或用户组]

'plan' => 'user'

选择是否跟踪包活动

'track' => true

选择所需的中间件

'middleware' => ['web', 'auth']

选择您的认证守卫

'guard' => 'web'   # auth()->user();

添加用户名[认证用户名列]

'username' => 'mahmoud'

添加认证模型

'user_model_namespace' => 'App\User'

5. 运行此命令以生成必要的表

php artisan smsprovider:tables

功能

1. Guard Authentication support.   ## 'web', 'api', ....
2. Multi Language support; Currently supports [Arabic and English].
3. you can add one or more sms provider/gateway to your account/group.
4. choose your default sms provider/gateway to send through it.
5. simple view for your account/group sms providers/gateways.
6. simple view for your account/group trash.
7. configuration changing over the recorded providers/gateways.
8. can move items to trash or destroy it for good.
9. can recover trashed items.
10. simple view for adding/updating any provider data.
11. send sms to single number or group of numbers.
12. simple view for messages sent/failed for account/group/provider. 
13. call collection of providers/gateways.
14. call collection of trashed providers/gateways.
15. simple view for track activity.
16. add/edit template messages.
17. send template messages.

非常重要

使用此会话与组计划

session()->put('group_id', $group_id);

如何使用 SMSProvider

返回新的提供者设置视图:注意:您可以用它在新URL或使用此给定的一个返回视图。

	SMSProvider::configProvider();
	
	route('smsprovider.providers.setup');
	
	url('smsprovider/setup');

向一个或多个号码发送新短信

	SMSProvider::sendSMS($message, $numbers);

示例

	SMSProvider::sendSMS('hi, Mahmoud', '20106xxxxxxx');

	SMSProvider::sendSMS('hi, group member', '20106xxxxxxx,0120xxxxxxx,20111xxxxxxx');

*** 预期响应 ***

'0: error_code' => 'sending failed, and error code is given',
       '1'      => 'messege delivered successfully',
       '2'      => 'no response from destination or connection error',
       '3'      => 'no provider found'

返回单个提供者配置视图/编辑 视图

	SMSProvider::editProvider($provider_id);
	
	route('smsprovider.providers.edit_provider', $provider_id);
	
	url('smsprovider/edit-provider/' . $provider_id);

将提供者移动到回收站[软删除]

	SMSProvider::deleteProvider($provider_id');

*** 预期响应 ***

true or false

销毁提供者[小心,删除提供者意味着您将丢失{配置,消息,...}]

	SMSProvider::destroyProvider($provider_id');

*** 预期响应 ***

true or false

设置默认提供者

	SMSProvider::setDefaultProvider($provider_id);

*** 预期响应 ***

true or false

恢复已删除的提供者

	SMSProvider::recoverProvider($provider_id);

*** 预期响应 ***

true or false

移除默认提供者

	SMSProvider::removeDefaultProvider();

*** 预期响应 ***

true or false

获取提供者 => [每页20个]

返回认证用户的集合

	SMSProvider::myProviders();

返回用户的集合

	SMSProvider::groupProviders();

返回认证用户的视图

	SMSProvider::myProvidersView();
	
	route('smsprovider.providers.user-providers');
	
	url('smsprovider/user-providers');

返回用户的视图

	SMSProvider::groupProvidersView();
		
	route('smsprovider.providers.group-providers');
	
	url('smsprovider/group-providers');

获取已删除的提供者 => [每页20个]

返回认证用户的集合

	SMSProvider::myTrashedProviders();

返回用户的集合

	SMSProvider::groupTrashedProviders();

返回认证用户的视图

	SMSProvider::myTrashedProvidersView();
	
	route('smsprovider.providers.user-trashed-providers');
	
	url('smsprovider/user-trashed-providers');

返回用户的视图

	SMSProvider::groupTrashedProvidersView();
		
	route('smsprovider.providers.group-trashed-providers');
	
	url('smsprovider/group-trashed-providers');

跟踪活动

认证用户跟踪 [每页20个]

	SMSProvider::track();
	
	SMSProvider::trackView();
	
	route('smsprovider.providers.user-track');
	
	url('smsprovider/user-track');

用户组跟踪 [每页20个]

	SMSProvider::groupTrack();
	
	SMSProvider::groupTrackView();
	
	route('smsprovider.providers.group-track');
	
	url('smsprovider/group-track');

消息日志活动

认证用户日志 [每页20个]

	SMSProvider::log();
	
	SMSProvider::logView();
	
	route('smsprovider.providers.user-log');
	
	url('smsprovider/user-log');

用户组日志 [每页20个]

	SMSProvider::groupLog();
	
	SMSProvider::groupLogView();
	
	route('smsprovider.providers.group-log');
	
	url('smsprovider/group-log');

准备好模板

存储一个或多个模板**

	$array = [
		['title' => 'greets', 'message' => 'hello there'],
		['title' => 'bye', 'message' => 'goodbye'],
	];
	SMSProvider::storeTemplates($array);

您也可以使用视图来执行此操作

SMSProvider::createTemplates();

更改模板状态

	SMSProvider::changeTemplateStatus($template_id);

删除模板

	SMSProvider::trashTemplate($template_id);

恢复模板

	SMSProvider::recoverTemplate($template_id);

删除模板

	SMSProvider::removeTemplate($template_id);

认证用户模板 [每页20个]

	SMSProvider::templates();
	
	SMSProvider::trashedTemplates();
	
	SMSProvider::templatesView();
	
	SMSProvider::trashTemplatesView();
	
	route('smsprovider.providers.user-templates');
	
	url('smsprovider/user-templates');

用户组模板 [每页20个]

	SMSProvider::groupTemplates();
	
	SMSProvider::groupTrashedTemplates();
	
	SMSProvider::groupTemplatesView();
	
	SMSProvider::groupTrashTemplatesView();
	
	route('smsprovider.providers.group-templates');
	
	url('smsprovider/group-templates');