Jacek Kowalski
2022-08-15 13080a6a4a8eb766bcafba84d65cc60cf89201db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
require_once(__DIR__ . '/vendor/autoload.php');
 
try {
    require_once(__DIR__ . '/hook_enable.php');
 
    $helper = new \SIPL\UCRM\wFirma\UcrmHelper();
    $event = $helper->getCurrentEvent();
 
    $wFirmaApiFactory = new \SIPL\UCRM\wFirma\wFirmaApiFactory($helper);
    $wFirmaApi = $wFirmaApiFactory->create();
 
    if (!isset($event['entity'])) {
        throw new Exception('Webhook entity empty!');
    } elseif ($event['entity'] === 'client') {
        $synchronizer = new \SIPL\UCRM\wFirma\ContractorSynchronizer($wFirmaApi, $helper);
    } elseif ($event['entity'] === 'invoice') {
        $synchronizer = new \SIPL\UCRM\wFirma\InvoiceSynchronizer($wFirmaApi, $helper);
    } elseif ($event['entity'] === 'payment') {
        $synchronizer = new \SIPL\UCRM\wFirma\PaymentSynchronizer($wFirmaApi, $helper);
    } elseif ($event['entity'] === 'webhook') {
        echo 'Webhook OK!';
        die();
    } else {
        echo 'Nothing to do with entity ' . $event['entity'];
        die();
    }
 
    if ($synchronizer->synchronize($event['entityId'])) {
        echo 'Object synchronized';
    } else {
        echo 'Nothing to do';
    }
} catch (Exception $e) {
    header('HTTP/1.1 500 Internal Server Error');
    echo $e;
}