Zugang zu Charakterinformationen.
<base URL>/character.php?apikey=key <base URL>/character.php?apikey[=key1&apikey[]=key2
<character> xml-Element hat die Attribute *created* und *cached_until* (utc-Zeitstempel)
API ist in der Lage, Informationen über mehrere Charaktere auf einmal zurückzugeben, und daher ist jedes <character>-Element ein Kind des <ryzomapi>-Wurzelelements:
<ryzomapi>
<character apikey="key1" created="1387369332" modules="C01:P01" cached_until="1387369632">
....
</character>
<character apikey="key2" created="1387369332" modules="P01" cached_until="1387369632">
....
</character>
</ryzomapi>
Fehler bei ungültigem Schlüssel:
<character apikey="key1" created="1387369873">
<error code="404">Ungültiger Schlüssel</error>
</character>
Mögliche Fehlercodes sind auf API-Fehlercodes aufgelistet.
ryzom_character_api($apikey)
Bei Erfolg gibt die Funktion ein assoziatives Array von SimpleXMLElement mit apikey als Array-Index zurück. Bei einem Fehler gibt die Funktion den booleschen Wert false zurück.
<?php
require_once "ryzomapi_lite.php";
function info($char) {
if (isset($char->error)) {
$apikey = htmlspecialchars($char['apikey']);
$error = htmlspecialchars($char->error);
$code = (int)$char->error['code'];
echo "Character API key '{$apikey}' failed: {$code}:{$error}";
} else {
$name = htmlspecialchars($char->name);
echo "Character name: {$name}";
}
}
$apikey = 'cABCDEF';
$chars = ryzom_character_api($apikey);
if ($chars !== false) {
info($chars[$apikey]);
} else {
echo "Character API failed";
}
$apikeys = ['cABCDEF', 'c123456'];
$chars = ryzom_character_api($apikeys);
if ($chars !== false) {
foreach($chars as $char) {
info($char);
}
} else {
echo "Charakter-API gescheitert";
}