API verbindung Klappt nicht

Fragen Rund um den Quelltext.
aakkawi
Beiträge: 0
Registriert: Fr 17. Nov 2017, 09:58

API verbindung Klappt nicht

Beitragvon aakkawi » Fr 17. Nov 2017, 10:02

Hallo,
Ich versuche mit der Dokumentation zu arbeiten. aber bei dem Ersten Schritt klappt es schon mal nicht.
Ich habe mit dem Tutorial von hier (https://www.wawision.de/helpdesk/api#na ... ionsumfang) angefangen und im backend die API und schlüssel eingestellt bekomme trotzdem ein Wrong Hash direkt am Anfang.

Code: Alles auswählen

<?php
$hash = generateHash();

$xml = "";

$id = "12";

$output_xml = SendRequest("AdresseGet",$xml,$hash,$id); 

function generateHash()
{
    
    $initKey = 'mein Initkey';
    $remoteDomain = 'http://wawision.vera4robofst.com';
    $date = gmdate('dmY');
    $hash = "";

    for($i = 0; $i <= 200; $i++) 
        $hash = sha1($hash . $initKey . $remoteDomain . $date);
  
    return $hash;
}

function SendRequest($methodname,$xml,$hash,$id)
{

    $url = 'http://wawision.vera4robofst.com/www/index.php?module=api&action='.$methodname.'&hash='.$hash.'&id='.$id;

    $xml = '<?xml version="1.0" encoding="UTF-8"?>
            <request>
                <status>
                    <function>'.$methodname.'</function>
                </status>
                <xml>'.$xml.'</xml>
            </request>';

    $data = array('xml' => $xml, 'md5sum' => md5($xml));

    // use key 'http' even if you send the request to https://...
    $options = array(
                   'http' => array(
                   'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                   'method'  => 'POST',
                   'content' => http_build_query($data),
                   ),
               );
  
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}

$obj = simplexml_load_string($output_xml);
echo "<pre>";
print_r($obj);
echo "</pre>";

?>

sauterbe
Administrator
Beiträge: 6
Registriert: Mi 31. Dez 2014, 13:34

Re: API verbindung Klappt nicht

Beitragvon sauterbe » Sa 18. Nov 2017, 08:52

und auf wawisons seite ist die API akrtiviert und die Felder Init Key und RemoteDomain enthalten 1:1 die Werte aus dem Skript?

RemoteDomain muss keine URL sein es ist nur eine Kennung. Da gerne mal was wie test oder so reinschreiben / auf beiden Seiten im Skript und dort in WaWision