Ergebnis 1 bis 8 von 8

Thema: [Gelöst] Debugging Symfony httpClient json

  1. #1
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    602

    Standard [Gelöst] Debugging Symfony httpClient json

    Hi,

    ich hab da mal eine Frage bezüglich Debugging:

    Bin grad dabei eine Schnittstelle zu externem Newsletter Anbieter zu basteln

    Offenbar habe ich aber noch einen Fehler im POST Request.
    Bekomme einen nichtssagenden Errorcode und weiß jetzt nicht, welches Feld eventuell nicht übergeben wird.

    Gibt es irgendein Tool, das mir sagt, was genau fehlt ?

    Postman habe ich mir angeschaut, bringt mich aber auch nicht weiter

    Statuscode 200 paßt, Token paßt auch

    JSON Schema Draft v7

    Hier ein Teil des Post Requests:

    PHP-Code:
                'json' =>     
                    [
                        
    'token' => $token,                                
                        
    'form_FIRSTNAME' => $firstName,                                                
                        
    'form_NAME' => $lastName,
                        
    'form_EMAIL' => $email,
                        
    'form_COMPANY' => $companyName,
                        
    'form_LANGUAGE' =>['options' => $language],                        
                        
    'force_new_profile' => false,
                        
    'allow_empty_profile' => false,                        
                    ], 
    Ich vermute mal, dass ich noch irgendwelche, zusätzlichen Daten aus dem GET Request übergeben muß, aber welche ?

    Kann ich das aus dem Response des POST Requests auslesen ?

    PHP-Code:
    $httpLogs $response->getInfo('debug'); 
    bringt diesbezüglich auch nix

    Vielen Dank für Hinweise

    Grüße Tintifax
    Geändert von tintifax (15.08.2023 um 17:22 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von tintifax Beitrag anzeigen
    Gibt es irgendein Tool, das mir sagt, was genau fehlt ?
    Naja, das kann dir ja nur die API sagen. Also wenn im API Response das nicht drin steht, dann steht es vielleicht in der API Dokumentation.

    Beim Error Handling kannst du bspw.
    PHP-Code:
    dd($e->getResponse()->getInfo('debug')); 
    nutzen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    602

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Naja, das kann dir ja nur die API sagen. Also wenn im API Response das nicht drin steht, dann steht es vielleicht in der API Dokumentation.
    Das ist eben das Problem, dass laut Doku alles passen sollte.
    Letztens war Doku falsch und erst durch mühsames alles durchtesten, habe ich das fehlende Puzzleteil gefunden.
    Sowas vermute ich hier auch. Dann muß ich eben mit dem Support ein paar mal hin und her schreiben.

  4. #4
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    602

    Standard

    Etwas Zeit ist vergangen und nichts ist passiert, weil anderes wichtiger war...
    Jetzt gehts weiter und das Ding hier treibt mich zur Verzweiflung.

    Wenn ich keine data(Beispiel: form_EMAIL) im Postrequest übergebe und 'allow_empty_profile' => false auf true stelle, bekomme ich wenigstens einen erfolgreichen Response, der folgendermaßen aussieht:

    PHP-Code:
              "result"
                { 
                
    "profile"
                   { 
                     
    "uid""6ddd0297d9d70c9933caa4a7cd23eb44"
                     
    "data":  
                              {  
                              
    "form_EMAIL": { "pool_attribute_id"50544"value""" 
                              

                    } 
               }, 
    "redirection_url""https:XXXXXX={$UID}} } 
    So sieht mein PostRequest für die Email aus:

    PHP-Code:
    'json' => [
             
    'data' => [
                            
    'form_EMAIL' => ['pool_attribute_id'=> 50544'value' => $email]
                            ],
             
    'options' => [
                
    'force_new_profile' => false,
                
    'allow_empty_profile' => true
                
    ],
                   ] 
    $email ist nicht leer und ist korrekt, aber selbst wenn ich eine Emailadresse reinschreibe, gehts nicht, habs auch mit anderen Feldern probiert, gleiches Ergebnis

    Offenbar mach ich irgendwas grundlegendes falsch.

    Sieht irgendwer meinen Fehler ?

    Die uid muß dann auch noch in einem zweiten(?)Postrequest an die redirection_url übergeben werden oder kann ich das auch gleichzeitig bewerkstelligen und es liegt an der fehlenden, dynamischen uid ?

    Mein Spendenbeutel ist geöffnet...

    Danke für Hilfe

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Wenn ich dein Problem richtig verstehe hat das ja nichts mit Contao oder dem Symfony HTTP Client zu tun, sondern rein mit der Nutzung dieser API. Da wird dir vermutlich niemand helfen können. Habt ihr denn keine Ansprechpartner*innen bei dem Service, der die API zur Verfügung stellt?
    Geändert von Spooky (14.08.2023 um 15:51 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    602

    Standard

    doch: Contao Module mit HttpClient

    Ansprechpartner sagen, es funktioniert, also gehe ich davon aus, ich mach etwas falsch, obwohls für mich richtig aussieht

    na gut, dann muß ich mir eben woanders Hilfe suchen

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Wie gesagt, wenn ich dein Problem richtig verstehe hat das nichts mit Contao oder dem Symfony HTTP Client zu tun, sondern nur mit der Nutzung der API. Teste die API zuerst mit Postman bspw.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    602

    Standard

    habs nun gelöst, Try & Error Stück für Stück

    die redirection URL mit der uid ist überhaupt nicht notwendig

    das Response Schema ist anders als das notwendige data Schema für den Post Request

    darüber, die falsche Fehlermeldung (Token falsch, obwohl richtig) und die Aussage, dass die uid notwendig ist, bin ich gestolpert

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •