API Integration
Learn about API integration
API Integration
What is API integration?
API integration connects your game to external servers to fetch data, save progress, and communicate with other systems.
Benefits of API integration?
- Fetch game data from servers
- Save player progress
- Load levels and configurations
- Get real-time data
- Enable multiplayer features
// Fetch game level data from API
async function loadLevel(levelId) {
try {
// Request level data
const response = await fetch(`/api/levels/${levelId}`);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const levelData = await response.json();
// Initialize level with data
console.log("Level loaded:", levelData);
return levelData;
} catch (error) {
console.error("Failed to load level:", error);
}
}
// Save player progress
async function saveProgress(playerId, progress) {
await fetch(`/api/players/${playerId}/progress`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(progress)
});
}
What does this code do?
- Fetches level data from API endpoint
- Checks if response is successful
- Parses JSON response
- Handles errors gracefully
- Saves player progress to server
- Shows both reading and writing API data
// Complete game data lifecycle
async function initializeGame(playerId) {
try {
// Load player profile
const playerData = await fetch(`/api/players/${playerId}`)
.then(r => r.json());
// Load current level
const levelData = await fetch(`/api/levels/${playerData.currentLevel}`)
.then(r => r.json());
// Load player inventory
const inventoryData = await fetch(`/api/players/${playerId}/inventory`)
.then(r => r.json());
// Initialize game with all data
const gameState = {
player: playerData,
level: levelData,
inventory: inventoryData,
startTime: Date.now()
};
return gameState;
} catch (error) {
console.error("Game initialization failed:", error);
return null;
}
}
What does this code do?
- Loads player profile from API
- Loads level data based on player’s current level
- Loads player inventory
- Combines all data into single game state
- Records game start time
- Shows complete game initialization workflow
layout: post title: API Integration description: Learn about API integration permalink: /api_integration author: Vihaan Budhraja —
Try It Yourself
%%js // CODE_RUNNER: api-integration fetch(‘https://jsonplaceholder.typicode.com/posts/1’) .then(response => { console.log(“Status: “ + response.status); return response.json(); }) .then(data => { console.log(“Post title: “ + data.title); });