Bonjour à tous,

Je reçois sur mon serveur en POST des fichiers batch Json formatés comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
38
39
40
41
42
{
  "messageId": "19099a24-6477-4640-ba10-5e7ea1e35aa9",
  "acceptedAt": "2025-01-02T17:37:16",
  "sentDate": "2025-01-02T17:37:16",
  "channel": {
    "channelId": "f433d284-b6a5-11ec-a3d5-2cea7f78b3e5",
    "name": "mainAccount",
    "type": "SMS",
    "flow": "TRANSACTIONAL"
  },
  "type": "SMS",
  "direction": "MT",
  "recipient": {
    "to": "33600011122"
  },
  "from": "Expediteur",
  "body": {
    "text": "Bonjour ....",
    "encoding": "GSM7",
    "messagePartCount": 1,
    "length": 121
  },
  "price": {
    "amount": 1,
    "currency": "EUR"
  },
  "status": {
    "deliveryDate": "2025-01-02T17:37:17",
    "value": "DELIVERED",
    "lookup": {
      "mccMnc": "20810",
      "mcc": "208",
      "mnc": "10",
      "country": "France",
      "countryPrefix": "33",
      "isoCountryCode": "FR",
      "network": "Sfr"
    }
  },
  "refClient": "1001",
  "href": "https://sitesms.com/sms/v1/messages/19099a24-6477-..."
}
J'ai un code tout simple pour les insérer le résultat dans ma base :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
require 'private/db.php.inc';
require 'private/custom.php.inc';
$json = file_get_contents('php://input');
$obj = json_decode($json, true);
 
$sql = "UPDATE sms SET status=?, dateDeliver=?, length=?, network=?, pays=? WHERE messageId=?";
$db->prepare($sql)->execute([$obj['status']['value'], $obj['status']['deliveryDate'], $obj['body']['length'], $obj['status']['lookup']['network'],$obj['status']['lookup']['isoCountryCode'], $obj['messageId'] ]);
Et j'ai constamment dans mon error.log l'erreur suivante :

PHP Warning: Undefined array key "deliveryDate" in /srv/data/web/vhosts/www.monsite.com/htdocs/sms_return.php on line 8

Je sèche totalement, lorsque j'exploite ce fichier / mon code en local ca ne pose aucun souci, de plus sur mon serveur l'update se fait correctement avec la bonne date...

Si vous pouviez m'éclairer...

Grand merci à vous

Bel aprèm !