ddb/stuart-api-bundle

用于与stuart API通信的Bundle

安装: 76

依赖: 0

建议: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

1.1.10 2019-05-29 09:23 UTC

This package is auto-updated.

Last update: 2024-08-29 04:42:52 UTC


README

使用stuart php库与symfony集成的简单bundle

配置

stuart_api:
  private_key: "stuart super private key"
  public_key: "stuart public key"
  environment: "SANDBOX" // OR "PRODUCTION"
  vat_rate: 20
    authorized_webhook_ips:
      sandbox:
        - "34.254.62.41"
        - "54.194.139.211"
      production:
        - "108.128.110.19"
        - "54.171.243.90"
        - "52.51.60.65"

函数

StuartApi

用于创建和派发任务

  • public function createJobObjectFromRequest(Request $request)
  • public function createJobObject(
  • public function addJob(Job $job)

StuartApiController

这些函数公开了路由并返回JSONResponse

  • nextPickupSlot($city = "Bordeaux") : 获取城市的下一个可用提货时段
  • validateJob(Request $request)
  • priceJob(Request $request)

事件

StuartApiEvents.php定义了事件名称的常量

WebhookEvent.php

此事件重新派发/webhook路由上的任何请求。您可以在应用程序中注册EventSubscriberInterface来监听这些事件并相应地更新您的订单。

只有来自配置中白名单IP的请求才会被允许通过,并且仅限于相应环境。

namespace App\EventSubscriber;

use DdB\StuartApiBundle\Event\StuartApiEvents;
use DdB\StuartApiBundle\Event\WebhookEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class StuartWebhookSubscriber implements EventSubscriberInterface
{
    public function onStuartApiWebhook(WebhookEvent $event)
    {
        $request = $event->getRequest();
        //Do something with the request
    }

    public static function getSubscribedEvents()
    {
        return [
           StuartApiEvents::WEBHOOK_API => 'onStuartApiWebhook',
        ];
    }
}

翻译

所有由Stuart API返回的错误都可以使用Resources/translations目录中的Errors.(lang).yaml文件进行翻译