Amélioration enregisytrement doc id

This commit is contained in:
Jean-Philippe Staelen 2025-12-16 15:47:57 +01:00
parent 7c24654741
commit f350b5ff10

View File

@ -196,12 +196,22 @@ class PEPPOL_peppol_controller {
$data = is_array($result['data'] ?? null) ? $result['data'] : []; $data = is_array($result['data'] ?? null) ? $result['data'] : [];
// Extraire document_id et peppol_document_id depuis la réponse API // Extraire document_id et peppol_document_id depuis la réponse API
$document_id = isset($data['document_id']) ? (string) $data['document_id'] : ''; // La réponse API peut avoir la structure : $result['data']['data'] ou $result['data']
$peppol_document_id = isset($data['peppol_document_id']) ? (string) $data['peppol_document_id'] : ''; // On vérifie d'abord si les valeurs sont dans $data['data'], sinon on prend directement $data
$status = isset($data['status']) ? (string) $data['status'] : ($result['success'] ? 'created' : 'error'); $inner_data = $data;
if (isset($data['data']) && is_array($data['data'])) {
// Structure imbriquée : $result['data']['data']
$inner_data = $data['data'];
}
$document_id = isset($inner_data['document_id']) ? trim((string) $inner_data['document_id']) : '';
$peppol_document_id = isset($inner_data['peppol_document_id']) ? trim((string) $inner_data['peppol_document_id']) : '';
$status = isset($inner_data['status']) ? (string) $inner_data['status'] : ($result['success'] ? 'created' : 'error');
$message = $result['message']; $message = $result['message'];
if ($message === '' && isset($data['message'])) { if ($message === '' && isset($inner_data['message'])) {
$message = (string) $inner_data['message'];
} elseif ($message === '' && isset($data['message'])) {
$message = (string) $data['message']; $message = (string) $data['message'];
} }
@ -213,17 +223,21 @@ class PEPPOL_peppol_controller {
'order_id' => $order_id, 'order_id' => $order_id,
'payload_sent' => $payload, 'payload_sent' => $payload,
'api_result' => $result, 'api_result' => $result,
'data_extracted' => $data,
'inner_data' => $inner_data,
'document_id' => $document_id, 'document_id' => $document_id,
'peppol_document_id' => $peppol_document_id, 'peppol_document_id' => $peppol_document_id,
'status' => $status,
], ],
'INFO' 'INFO'
); );
} }
// Enregistrer ou mettre à jour dans la base de données // Enregistrer ou mettre à jour dans la base de données
// On passe $inner_data comme response_data pour conserver la structure complète
PEPPOL_Main_model::save_for_order( PEPPOL_Main_model::save_for_order(
$order_id, $order_id,
$data, $inner_data,
$payload, $payload,
$document_id, $document_id,
$peppol_document_id, $peppol_document_id,