Difference between revisions of "Ryzom API/Guild"

From EncyclopAtys

Jump to: navigation, search
(Created page with " Access to guild information. === Usage === <base URL>/guild.php?apikey=key <base URL>/guild.php?apikey[]=key1&apikey[]=key2 ==== URL Parameters ==== ;apikey : : Guild...")
 
m (category)
Line 28: Line 28:
 
</ryzomapi></syntaxhighlight>
 
</ryzomapi></syntaxhighlight>
 
                  
 
                  
 
+
Invalid key error:
Invalid key error
 
  
 
<syntaxhighlight lang="xml"><guild apikey="key1" created="1387369873">
 
<syntaxhighlight lang="xml"><guild apikey="key1" created="1387369873">
Line 78: Line 77:
 
   echo "Guild API failed";
 
   echo "Guild API failed";
 
}</syntaxhighlight>
 
}</syntaxhighlight>
 +
<noinclude>[[Category:Ryzom API|{{subst:SUBPAGENAME}] ]]</noinclude>

Revision as of 06:52, 23 July 2020

Access to guild information.


Usage

<base URL>/guild.php?apikey=key
<base URL>/guild.php?apikey[]=key1&apikey[]=key2

URL Parameters

apikey 
Guild API key starting with 'g'

Cache Duration

Guild xml element has attributes created and cached_until (utc timestamp)

XML structure

API is able to return information for multiple guilds at once and so each <guild> element is a child of <ryzomapi> root elements

<ryzomapi>
  <guild apikey="key1" created"1387369332" modules="G01:G02:G03:G04:P01" cached_until="1387369632">
    ...
  </guild>
  <guild apikey="key2" created"1387369332" modules="P01" cached_until="1387369632">
    ...
  </guild>
</ryzomapi>

Invalid key error:

<guild apikey="key1" created="1387369873">
  <error code="404">invalid key</error>
</guild>

Possible error codes are listed on API error codes.

PHP interface

ryzom_guild_api($apikey)

$apikey can be either a string or array of strings

Function will return associative array of SimpleXMLElement with $apikey as array index On failure function returns boolean false

<?php
require_once "ryzomapi_lite.php";

function info($guild) {
  if (isset($guild->error)) {
    $apikey = htmlspecialchars($guild['apikey']);
    $error = htmlspecialchars($guild->error);
    $code = (int)$guild->error['code'];
    echo "Guild API key '{$apikey}' failed: {$code}:{$error}";
  } else {
    $name = htmlspecialchars($guild->name);
    echo "Guild name: {$name}";
  }
}

$apikey = 'gABCDEF';
$guilds = ryzom_guild_api($apikey);
if ($guilds !== false) {
  info($guilds[$apikey]);
} else {
  echo "Guild API failed";
}

$apikeys = ['gABCDEF', 'g123456'];
$guilds = ryzom_guild_api($apikeys);
if ($guilds !== false) {
  foreach($guilds as $guild) {
    info($guild);
  }
} else {
  echo "Guild API failed";
}