Automattic\WooCommerce\Internal\Admin\Agentic
AgenticWebhookManager::customize_webhook_payload
Customize webhook payload for Agentic topics.
Метод класса: AgenticWebhookManager{}
Хуков нет.
Возвращает
Массив. Modified payload.
Использование
$AgenticWebhookManager = new AgenticWebhookManager(); $AgenticWebhookManager->customize_webhook_payload( $payload, $resource_type, $resource_id, $webhook_id );
- $payload(массив) (обязательный)
- Original payload.
- $resource_type(строка) (обязательный)
- Resource type.
- $resource_id(int) (обязательный)
- Resource ID.
- $webhook_id(int) (обязательный)
- Webhook ID.
Код AgenticWebhookManager::customize_webhook_payload() AgenticWebhookManager::customize webhook payload WC 10.5.0
public function customize_webhook_payload( $payload, $resource_type, $resource_id, $webhook_id ) {
$webhook = wc_get_webhook( $webhook_id );
if ( ! $webhook ) {
return $payload;
}
$topic = $webhook->get_topic();
// Check if this is one of our Agentic topics.
if ( self::WEBHOOK_TOPIC !== $topic ) {
return $payload;
}
// Get the order.
$order = wc_get_order( $resource_id );
if ( ! $order ) {
return $payload;
}
$is_first_event = 'sent' !== $order->get_meta( self::FIRST_EVENT_DELIVERED_META_KEY );
$event = $is_first_event ? 'order_create' : 'order_update';
// Build ACP-compliant payload.
return $this->payload_builder->build_payload( $event, $order );
}