2017-10-12 2 views
0

Im nouveau aux webhooks, j'ai vu peu de tutoriels déjà mais je n'ai toujours aucune idée de ce que je dois faire. J'ai ces données webhooks que j'ai besoin de lire en PHP et enregistrer dans une base de données. Je ne mettrai pas en ligne toute la liste, donc les choses vont passer à côté, mais la liste des webhooks est correcte, rien ne manque dans la saisie.Comment stocker des données webhook à la base de données en utilisant php?

{ 
"TransactionID":0, 
"CustomerID":0, 
"StaffID":0, 
"Barcode":"string", 
[ 
    { 
    "TransactionItemID":0, 
    "TransactionID":0, 
}], 

"MiscProductItems":[], 
"Tenders": 
[ { 
    "TransactionID":0, 
     "TypeID":0, 
}], 
     "BaseItems": 

php

j'ai vu le tutoriel suivant, comme le bas, mais je ne comprends pas ce qu'il fait, est-il juste d'avoir « php: // input »?

Je veux connaître la valeur du code à barres, comment est-ce que je ferais ceci? Toute aide serait très appréciable car j'ai déjà mal à la tête en essayant de comprendre cela.

$json = file_get_contents('php://input'); 
$action = json_decode($json, true); 
$action_t = $action->Barcode; 

Répondre

1

Eh bien, cette chaîne n'est pas au format JSON. Recherchez le format JSON de base here. JSON doit commencer par { pour les objets ou les cartes et [ pour une liste. Il n'y a aucun moyen que

CompleteTransaction 
{ 

est un JSON valide. Un refactoring ce code, valide JSON ressemblerait à ceci:

{ 
"CompleteTransaction": 
{ 
"TransactionID":0, 
"CustomerID":0, 
"StaffID":0, 
"Barcode":"string", 
[ 
    { 
    "TransactionItemID":0, 
    "TransactionID":0, 
}], 

"MiscProductItems":[], 
"Tenders": 
[ { 
    "TransactionID":0, 
     "TypeID":0, 
}], 
     "BaseItems": ".." 
} 
} 

La fonction PHP json_decode renverra un null pour vous. La lecture du php://input dépend du type d'en-tête de requête de type de contenu que vous aurez. Si les en-têtes sont autres que text/plain, php ne pourra lire que les données de publication de php://input. En outre, en appelant json_decode() avec true en tant que second paramètre, il crée un array, pas stdObject.

+0

Merci pour la réponse, j'ai vraiment besoin d'aide avec cette im stuck et je ne sais pas quoi faire, la chaîne est définitivement au format json. Je n'ai pas écrit ceci, c'est d'une compagnie avec laquelle j'ai besoin d'interagir. Je n'ai simplement pas coller tout le code ici car il est trop grand, comme je l'ai expliqué ci-dessus. Mais passez le format chaîne JSON. dire que tout allait bien, comment puis-je obtenir la valeur de code à barres? J'ai essayé tout et j'ai juste échoué! :( – Luke

+0

J'ai supprimé la transaction complète car je ne pense pas qu'il est sur la chaîne – Luke

+0

S'il vous plaît aider! Pls pls pls – Luke