Difference between revisions of "Ryzom API/Character"

From EncyclopAtys

Jump to: navigation, search
(Created page with " Character Access character information. Base URL /character.php?apikey=key /character.php?apikey[]=key1&apikey[]=key2 URL Parameters apikey Character API key...")
 
Line 82: Line 82:
 
                  
 
                  
  
<noinclude>[[Category:Ryzom API]]</noinclude>
+
<noinclude>[[Category:Ryzom API|Character]]</noinclude>

Revision as of 18:01, 22 July 2020

Character

Access character information. Base URL

   /character.php?apikey=key
   /character.php?apikey[]=key1&apikey[]=key2

URL Parameters

apikey

   Character API key starting with 'c'

Cache Duration

<character> xml element has attributes *created* and *cached_until* (utc timestamp) XML structure

API is able to return information about multiple characters at once and so each <character> element is child of <ryzomapi> root element

<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>


Invalid key error

<character apikey="key1" created="1387369873">

 <error code="404">invalid key</error>

</character>


Possible error codes are listed on API error codes. PHP interface

ryzom_character_api($apikey)

$apikey can be either string (single key) or array of strings.

On success, function returns associative array of SimpleXMLElement with apikey as array index.

On failure, function returns boolean false.

<?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 "Character API failed";

}