mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-25 14:26:04 +03:00
feat: add array support to webhook handling
Change webhook create() $url parameter from string to array to support multiple URLs Change webhook update() $url parameter from string to array yo support multiple URLs
This commit is contained in:
parent
4acac804bf
commit
562cda2504
@ -321,12 +321,12 @@ $mailgun->webhooks()->show('example.com', 'accept');
|
||||
|
||||
#### Create a webhooks
|
||||
```php
|
||||
$mailgun->webhooks()->create('example.com', 'accept', 'https://www.exmple.com/webhook');
|
||||
$mailgun->webhooks()->create('example.com', 'opened', [ 'https://www.exmple.com/webhook' ]);
|
||||
```
|
||||
|
||||
#### Update a webhooks
|
||||
```php
|
||||
$mailgun->webhooks()->update('example.com', 4711, 'https://www.exmple.com/webhook');
|
||||
$mailgun->webhooks()->update('example.com', 4711, [ 'https://www.exmple.com/webhook' ]);
|
||||
```
|
||||
|
||||
#### Delete a webhooks
|
||||
|
@ -88,7 +88,7 @@ class Webhook extends HttpApi
|
||||
/**
|
||||
* @return CreateResponse|ResponseInterface
|
||||
*/
|
||||
public function create(string $domain, string $id, string $url)
|
||||
public function create(string $domain, string $id, array $url)
|
||||
{
|
||||
Assert::notEmpty($domain);
|
||||
Assert::notEmpty($id);
|
||||
@ -107,7 +107,7 @@ class Webhook extends HttpApi
|
||||
/**
|
||||
* @return UpdateResponse|ResponseInterface
|
||||
*/
|
||||
public function update(string $domain, string $id, string $url)
|
||||
public function update(string $domain, string $id, array $url)
|
||||
{
|
||||
Assert::notEmpty($domain);
|
||||
Assert::notEmpty($id);
|
||||
|
@ -79,12 +79,22 @@ class WebhookTest extends TestCase
|
||||
$this->setRequestUri('/v3/domains/example.com/webhooks');
|
||||
$this->setHydrateClass(CreateResponse::class);
|
||||
$this->setRequestBody([
|
||||
'id' => '4711',
|
||||
'url' => 'url',
|
||||
[
|
||||
'name' => 'id',
|
||||
'content' => 'opened'
|
||||
],
|
||||
[
|
||||
'name' => 'url',
|
||||
'content' => 'url_1'
|
||||
],
|
||||
[
|
||||
'name' => 'url',
|
||||
'content' => 'url_2'
|
||||
]
|
||||
]);
|
||||
|
||||
$api = $this->getApiInstance('key');
|
||||
$api->create('example.com', '4711', 'url');
|
||||
$api->create('example.com', 'opened', ['url_1', 'url_2']);
|
||||
}
|
||||
|
||||
public function testUpdate()
|
||||
@ -93,11 +103,18 @@ class WebhookTest extends TestCase
|
||||
$this->setRequestUri('/v3/domains/example.com/webhooks/4711');
|
||||
$this->setHydrateClass(UpdateResponse::class);
|
||||
$this->setRequestBody([
|
||||
'url' => 'url',
|
||||
[
|
||||
'name' => 'url',
|
||||
'content' => 'url_1'
|
||||
],
|
||||
[
|
||||
'name' => 'url',
|
||||
'content' => 'url_2'
|
||||
]
|
||||
]);
|
||||
|
||||
$api = $this->getApiInstance('key');
|
||||
$api->update('example.com', '4711', 'url');
|
||||
$api->update('example.com', '4711', ['url_1', 'url_2'] );
|
||||
}
|
||||
|
||||
public function testDelete()
|
||||
|
Loading…
Reference in New Issue
Block a user