capeandbay/birdeye

Laravel客户端SDK包,用于集成BirdEye REST API

0.1.3 2020-12-30 01:37 UTC

This package is auto-updated.

Last update: 2024-09-29 05:55:58 UTC


README

BirdEye 服务 SDK for Laravel

BirdEye帮助您的业务被新客户发现和选择,与现有客户建立联系,并交付最佳端到端客户体验。

这是针对Laravel PHP框架v6,7以及更高版本设计的BirdEye REST API的实现。

Cape & Bay与BirdEye无关。我们更愿意为我们的需求构建自定义包,但它也可能帮助您或成为您自己实现的良好参考。

入门指南

快速链接

  1. 安装
  2. 初始化数据库
  3. 使用Trait
  4. 用法
  5. 变更日志
  6. 贡献
  7. 安全
  8. 许可

安装

通过Composer

$ composer require capeandbay/birdeye

该包将自动注册自己。您可以选择使用以下命令发布配置文件:

php artisan vendor:publish --provider="CapeAndBay\BirdEye\CBBirdEyeServiceProvider" --tag="config"

设置可以在生成的config/birdeye.php配置文件中找到。

您可以使用以下命令发布迁移:

php artisan vendor:publish --provider="CapeAndBay\BirdEye\CBBirdEyeServiceProvider" --tag="migrations"

如果您需要,在运行迁移之前更新配置。发布迁移后,您可以通过运行迁移来创建birdeye_businesses表。

php artisan migrate

配置

默认情况下,该包使用以下环境变量来自动配置插件,无需修改

BIRDEYE_API_KEY (default = '')
BIRDEYE_PARENT_BUSINESS_KEY (default = '')
BIRDEYE_API_URL (default = 'https://api.birdeye.com/resources') Can be set to their Mock & Debug URLs as per their API
DB_CONNECTION (default = mysql)
<?php

return [
    'api_url' => env('BIRDEYE_API_URL','https://api.birdeye.com/resources'),
    'deets' => [
        'api_key' => env('BIRDEYE_API_KEY', ''),
        'parent_business_id' => env('BIRDEYE_PARENT_BUSINESS_KEY', '') // Leave blank if using multiple accounts
    ],
    'accounts' => [],
    'class_maps' => [],
];

注意,您始终可以用项目任意自定义类替换预加载的类;该包将在该上下文中使用该类。

使用多个账户

要使用多个账户,请将config('birdeye.deets.parent_business_id')留空。相反,像以下示例一样填充config('birdeye.accounts')

<?php

return [
    // Other configs left out for brevity
    'accounts' => [
        'client-a' => env('BIRD_EYE_CLIENT_A_KEY', 'something'),
        'client-b' => 'some-token'
    ],
];

最后,运行cronphp artisan birdeye:init来迁移每个父级业务下的子业务。

迁移子业务数据

运行内置的CLI命令,将账户的子业务迁移到生态系统中

$ php artisan birdeye:init

您可以通过将配置添加到其中并再次运行来再次运行此命令以添加新账户的子业务。

使用Trait

此包捆绑了一个简单的Trait,当与您的项目中的Eloquent模型之一结合使用时,可以通过Eloquent关系链接到birdeye_businesses表中的任何记录。

首先,通过包含依赖关系并导入TraitHasBirdEyeBusiness将此Trait添加到您的项目模型中,如下所示 -

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use CapeAndBay\BirdEye\Traits\HasBirdEyeBusiness;

class StoreLocation extends Model
{
    use HasBirdEyeBusiness, SoftDeletes;
   
    public $birdeye_id_column = 'some_column';
 
    /** Rest of the Logic assumed */
}

请确保包含$birdeye_id_column,其中'some_column'是外键,指向birdeye_businesses.internal_id
注意 - 为了完成关系,您需要手动输入关系ID或创建自己的自动化方法。

这暴露了一个Eloquent关系birdeye_business(),可以在查询中使用。

要使用此Trait,请查看此示例并相应地修改 -

<?php
    use App\LocationModel;

    $location = LocationModel::find(1);  
    $birdeye_biz = $location->birdeye_business()->first();

BirdEye业务的其余部分可用于与包库的其他部分一起使用,以ping BirdEye并与它们进行接口交互!

用法

将最终用户客户登记到业务中

<?php
    use App\StoreLocation; //Uses HasBirdEyeBusiness trait attached
    use CapeAndBay\BirdEye\Facades\BirdEye;

    $location = StoreLocation::find(1);
    $business = $location->birdeye_business()->first();
    $payload = [
       'name' => 'Some Name',
       'emailId' => 'someName@test.com',
       'phone' => '5555551212',
       'smsEnabled' => '1',
   ];
    $birdeye_customer = BirdEye::get('customer', $business->business_id);
    $checkin_response = $birdeye_customer->checkin($payload);

    return $checkin_response;

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

请参阅contributing.md获取详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件angel@capeandbay.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT. 请参阅许可文件以获取更多信息。