terentev-space/kithook-php

0.1.2 2021-05-21 06:42 UTC

This package is auto-updated.

Last update: 2024-11-21 14:39:58 UTC


README

Latest Version Software License Total Downloads

🚧 Attention: the project is currently under development! 🚧

Note: Before using it, you need to deploy and configure KitHook

KitHook client for PHP

Install

For RabbitMq use kithook-php-rabbitmq

$ composer require terentev-space/kithook-php-rabbitmq

For Kafka use kithook-php-kafka

$ composer require terentev-space/kithook-php-kafka

Usage

Data:

$yourWebhookUri = 'https://example.com';
$yourWebhookId = 'myId-123';

$yourElseContentType = 'application/xml';

// Json
$yourWebhookJsonData = [
    'anything'
];
// Form
$yourWebhookFormData = [
    'param1' => 'value1',
];
// Query
$yourWebhookQueryData = [
    'param1' => 'value1',
];
// Xml
$yourWebhookXmlData = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<example>
<!-- ... -->
</example>
XML;

Examples:

/** @var \KitHook\Interfaces\ClientInterface|\KitHook\Adapter $client **/

// Simple HTTP Put Json
$client->sendHttpPutJson($yourWebhookUri, $yourWebhookJsonData, $yourWebhookId);
// Simple HTTP Post Form
$client->sendHttpPostForm($yourWebhookUri, $yourWebhookFormData, $yourWebhookId);
// Simple HTTP Get Query
$client->sendHttpGetEmpty($yourWebhookUri . '?' . http_build_query($yourWebhookQueryData), $yourWebhookId);

// Build
$content = $client->contentBuilder()->makeHttp()
    // OR
    ->withType(\KitHook\Entities\Messages\Contents\QueueHttpMessageContent::TYPE_ELSE)
    ->withData($yourWebhookXmlData)
    ->withFormatForElseType($yourElseContentType)
    // OR
    ->fillElse($yourWebhookXmlData, $yourElseContentType)
    // FINALLY
    ->build();

$message = $client->messageBuilder()->makeHttp()
    // OR
    ->withId($yourWebhookId)
    ->withUri($yourWebhookUri)
    ->withMethod(\KitHook\Entities\Messages\QueueHttpMessage::METHOD_POST)
    ->withContent($content)
    // OR
    ->fillPost($yourWebhookUri, $yourWebhookId, $content, [/* headers */], [/* properties */])
    // OR
    ->fillPost($yourWebhookUri, $yourWebhookId)
    ->makeContent()
    ->fillForm($yourWebhookFormData)
    ->buildFromMessage()
    // FINALLY
    ->build();

$client->send($message);

Credits

License

The Apache 2.0 License (Apache-2.0). Please see License File for more information.