Difference between revisions of "HTTP API"

From SmartBots Developers Docs
Jump to: navigation, search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
HTTP API allows controlling SL groups and Second Life bots using HTTP queries. The query can be send from SL object (LSL script) or online:
+
HTTP API allows controlling your  Second Life bot using HTTP queries. The query can be send from SL object (LSL script), website code or your application.
 +
 
 +
== The basics ==
 +
 
 +
Basically the API usage consists of the following steps:
 +
 
 +
# Compose the query and send it (using '''llHTTPRequest''' in case of LSL)
 +
# Wait for the SmartBots reply (using '''http_response''' in case of LSL)
 +
# Decode the reply.
 +
 
 +
Each SmartBots bot comes with HTTP API enabled. You just need to grab the [https://www.mysmartbots.com/docs/Bot_access_code bot's access code] (it is a kind of password for bot's API) and your unique [[HTTP_API/Developer's_API_key|Developer's API key]].
 +
 
 +
== API Testing Suite ==
 +
 
 +
There's a special page to compose and test HTTP API queries: https://www.mysmartbots.com/api/testing.html
 +
 
 +
== Usage ==
 +
 
 +
=== Raw code ===
  
 
<syntaxhighlight lang="lsl">
 
<syntaxhighlight lang="lsl">
Line 10: Line 28:
 
], "&");
 
], "&");
  
llHTTPRequest("http://api.mysmartbots.com/api/bot.html",
+
llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
 
  [HTTP_METHOD,"POST"], params);
 
  [HTTP_METHOD,"POST"], params);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Check [[HTTP_API/Examples|HTTP API examples]] to see how to control your bot from LSL.
+
Read [[HTTP_API/Doing_HTTP_API_Calls|Doing HTTP API Calls]] for more info.
  
== API Types ==
+
=== Helper functions ===
  
There are two types of HTTP API at SmartBots. Open one of the following pages for complete list of the commands:
+
We've written few helper functions to make HTTP API usage easier:
  
# [[HTTP API/Bot Commands|Bot API]] - recommended set of routines to fully control your bot
+
<syntaxhighlight lang="lsl">
# [[HTTP API/Simple Groups|Simple groups API]] - easy-to-use API to control group invitations
+
smartbotsAPI("status", []);
 +
</syntaxhighlight>
  
'''Bot API''' provides full more control over your bot.
+
Check [[HTTP API/LSL Helper Functions|LSL Helper Functions]] for more info on helpers.
  
'''Simple Group API''' has been designed to send invitations and eject members by sending simple HTTP queries.
+
=== More examples ===
  
== The basics ==
+
Check [[HTTP_API/Examples|HTTP API examples]] to see how HTTP API works in LSL.
  
Basically the whole process consists of the following steps:
 
  
# Compose the query string and send it using '''llHTTPRequest''' (either GET or POST).
 
# Pickup the SmartBots reply using '''http_response'''.
 
# Decode the reply.
 
 
Read [[HTTP_API/Doing_HTTP_API_Calls|Doing HTTP API Calls]] for more info.
 
 
{{NavMenu}}
 
{{NavMenu}}

Latest revision as of 15:46, 14 October 2019

HTTP API allows controlling your Second Life bot using HTTP queries. The query can be send from SL object (LSL script), website code or your application.

The basics

Basically the API usage consists of the following steps:

  1. Compose the query and send it (using llHTTPRequest in case of LSL)
  2. Wait for the SmartBots reply (using http_response in case of LSL)
  3. Decode the reply.

Each SmartBots bot comes with HTTP API enabled. You just need to grab the bot's access code (it is a kind of password for bot's API) and your unique Developer's API key.

API Testing Suite

There's a special page to compose and test HTTP API queries: https://www.mysmartbots.com/api/testing.html

Usage

Raw code

string params = llDumpList2String([
  "action="  + "get_balance",

  "apikey="  + llEscapeURL(sbApiKey),
  "botname=" + llEscapeURL(sbBotName),
  "secret="  + llEscapeURL(sbBotAccessCode)
], "&");

llHTTPRequest("https://api.mysmartbots.com/api/bot.html",
 [HTTP_METHOD,"POST"], params);

Read Doing HTTP API Calls for more info.

Helper functions

We've written few helper functions to make HTTP API usage easier:

smartbotsAPI("status", []);

Check LSL Helper Functions for more info on helpers.

More examples

Check HTTP API examples to see how HTTP API works in LSL.