Skip to content

Akce před odesláním požadavku

Plugin poskytuje několik akcí, které jsou spuštěny těsně před odesláním požadavku do Fakturoid API. Tyto akce umožňují provést dodatečné operace nebo logování.

Před odesláním požadavku na objednávku

Section titled “Před odesláním požadavku na objednávku”
do_action( 'wpify_woo_fakturoid_before_order_request', $order, $wc_order );
ParametrTypPopis
$orderOrderModelModel objednávky s Fakturoid daty
$wc_orderWC_OrderWooCommerce objednávka

Spouští se před načtením existujícího kontaktu z Fakturoidu.

do_action( 'wpify_woo_fakturoid_before_subject_request', $id );
ParametrTypPopis
$idintID kontaktu ve Fakturoidu

Spouští se před načtením, zaplacením, stornováním nebo smazáním platby dokumentu.

do_action( 'wpify_woo_fakturoid_before_invoice_request', $id );
ParametrTypPopis
$idintID dokumentu ve Fakturoidu

Pro debugování komunikace s Fakturoid API.

/**
* Log all Fakturoid API requests
*
* @param OrderModel $order Order model
* @param WC_Order $wc_order WC order
*
* @return void
*/
function log_fakturoid_order_request( $order, $wc_order ): void {
error_log( sprintf(
'Fakturoid: Processing order #%s',
$wc_order->get_order_number()
) );
}
add_action( 'wpify_woo_fakturoid_before_order_request', 'log_fakturoid_order_request', 10, 2 );
/**
* Log subject request to Fakturoid
*
* @param int $id Subject ID
*
* @return void
*/
function log_subject_request( $id ): void {
error_log( sprintf(
'Fakturoid: Loading subject #%d',
$id
) );
}
add_action( 'wpify_woo_fakturoid_before_subject_request', 'log_subject_request', 10, 1 );
/**
* Log invoice request to Fakturoid
*
* @param int $id Invoice ID
*
* @return void
*/
function log_invoice_request( $id ): void {
error_log( sprintf(
'Fakturoid: Processing invoice #%d',
$id
) );
}
add_action( 'wpify_woo_fakturoid_before_invoice_request', 'log_invoice_request', 10, 1 );
/**
* Validate order before Fakturoid request
*
* @param OrderModel $order Order model
* @param WC_Order $wc_order WC order
*
* @return void
* @throws Exception When validation fails
*/
function validate_before_fakturoid( $order, $wc_order ): void {
// Zkontrolovat povinná pole
if ( empty( $wc_order->get_billing_email() ) ) {
throw new Exception( 'Order is missing billing email' );
}
if ( empty( $wc_order->get_billing_first_name() ) ) {
throw new Exception( 'Order is missing billing name' );
}
}
add_action( 'wpify_woo_fakturoid_before_order_request', 'validate_before_fakturoid', 10, 2 );

Vlastní funkci můžete vložit buď do tzv. child šablony nebo pomocí pluginu Code Snippets.