Get-WordPressGfOrder #
ÜBERSICHT #
Liest einen einzelnen Gravity-Forms-Entry (Bestellung) über WordPress und gibt die Formular-Metadaten sowie die zugehörigen Feldwerte strukturiert zurück.
SYNTAX #
Get-WordPressGfOrder [-BaseUrl] <string> [-FormId] <int> [-ConsumerKey] <string> [-ConsumerSecret]
<string> [-EntryId] <int> [[-TimeoutSec] <int>] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion ruft über die Gravity Forms REST API v2:
- die Formular-Definition (Form Meta) anhand der FormId
- einen konkreten Entry anhand der EntryId
Dabei wird:
- für jedes Formularfeld (inkl. Sub-Inputs wie 1.3, 1.6 bei Name/Adresse) eine Metadaten-Struktur mit FieldId und FieldLabel aufgebaut
- aus dem Entry nur genau diese Feld-IDs extrahiert
- ein konsistentes Objekt erzeugt, unabhängig davon, ob Felder im Entry leer sind
Die Authentifizierung erfolgt per HTTP Basic Auth mit ConsumerKey und ConsumerSecret, den Gravity Forms REST API Keys.
Das Ergebnis ist bewusst so aufgebaut, dass es sich gut für:
- Mapping z.B. EULANDA-ERP
- Weiterverarbeitung
- Debugging und Logging eignet.
PARAMETER #
-BaseUrl #
Type: string
Basis-URL der WordPress-Installation, z.B. https://example.com. Ein eventuell vorhandener Slash am Ende wird automatisch entfernt.
-FormId #
Type: int
Die ID des Gravity-Forms-Formulars, zu dem der Entry gehören muss.
-ConsumerKey #
Type: string
Gravity Forms REST API Consumer Key.
-ConsumerSecret #
Type: string
Gravity Forms REST API Consumer Secret.
-EntryId #
Type: int
Die ID des Gravity-Forms-Entries, wobei ein Eintrag gleich eine Bestellung ist, der geladen werden soll.
-TimeoutSec #
Type: int
Default: 60
Timeout für die REST-Aufrufe in Sekunden. Standard ist 60, erlaubt sind Werte von 1 bis 300.
AUSGABEN #
[pscustomobject]
Das zurückgegebene Objekt hat folgende Struktur: - EntryId : ID des Entries - FormId : Formular-ID - DateCreated : Erstellungsdatum des Entries - Status : Status des Entries (z.B. active) - Meta.Fields : Hashtable mit Feld-Metadaten (FieldId, FieldLabel) - Data : Hashtable mit den tatsächlichen Feldwerten (Key = FieldId)
BEISPIELE #
# Einzelnen Gravity-Forms-Entry laden
$order = Get-WordPressGfOrder `
-BaseUrl 'https://shop.example.de' `
-FormId 1 `
-EntryId 46 `
-ConsumerKey 'ck_xxxxxxxxxxxxxxxxx' `
-ConsumerSecret 'cs_xxxxxxxxxxxxxxxxx'
# Zugriff auf ein bestimmtes Feld über die FieldId
$order = Get-WordPressGfOrder `
-BaseUrl 'https://shop.example.de' `
-FormId 1 `
-EntryId 46 `
-ConsumerKey 'ck_xxxxxxxxxxxxxxxxx' `
-ConsumerSecret 'cs_xxxxxxxxxxxxxxxxx'
# Beispiel: Feld 11 (z.B. Name oder E-Mail)
$order.Data['11']
# Alle Feld-Labels mit Werten ausgeben
$order = Get-WordPressGfOrder `
-BaseUrl 'https://shop.example.de' `
-FormId 1 `
-EntryId 46 `
-ConsumerKey 'ck_xxxxxxxxxxxxxxxxx' `
-ConsumerSecret 'cs_xxxxxxxxxxxxxxxxx'
foreach ($id in $order.Meta.Fields.Keys) {
[pscustomobject]@{
FieldId = $id
FieldLabel = $order.Meta.Fields[$id].FieldLabel
Value = $order.Data[$id]
}
}
HINWEISE #
- Die Funktion prüft, ob der Entry tatsächlich zum angegebenen Formular gehört.
- Leere oder nicht gesetzte Felder werden explizit mit $null zurückgegeben.
- PowerShell 5.1 wird unterstützt; TLS 1.2 wird bei Bedarf erzwungen.