Skip to main content

Number Generator API Examples

Complete code examples and integration guides for the Number Generator API in multiple programming languages.

Quick Examples

Generate a Single Random Number

curl "https://api.sinaty.business/number/?min=1&max=100"

Generate Multiple Numbers

curl "https://api.sinaty.business/number/?min=1&max=1000&count=10&secure=true"

Generate Decimal Numbers

curl "https://api.sinaty.business/number/?min=0&max=1&decimal=true&precision=4"

JavaScript/Node.js Examples

Basic Usage

async function generateRandomNumber(min = 1, max = 100) {
    try {
        const response = await fetch(
            `https://api.sinaty.business/number/?min=${min}&max=${max}`
        );
        
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        
        const data = await response.json();
        return data.number;
    } catch (error) {
        console.error('Error generating number:', error);
        return null;
    }
}

// Usage
const randomNumber = await generateRandomNumber(1, 100);
console.log('Random number:', randomNumber);

Generate Multiple Numbers

async function generateMultipleNumbers(min, max, count = 5) {
    try {
        const response = await fetch(
            `https://api.sinaty.business/number/?min=${min}&max=${max}&count=${count}`
        );
        
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        
        const data = await response.json();
        return data.numbers;
    } catch (error) {
        console.error('Error generating numbers:', error);
        return [];
    }
}

// Usage
const numbers = await generateMultipleNumbers(1, 1000, 10);
console.log('Generated numbers:', numbers);

Secure Random Numbers

async function generateSecureNumber(min, max) {
    try {
        const response = await fetch(
            `https://api.sinaty.business/number/?min=${min}&max=${max}&secure=true`
        );
        
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        
        const data = await response.json();
        return data.number;
    } catch (error) {
        console.error('Error generating secure number:', error);
        return null;
    }
}

// Usage for cryptographic purposes
const secureNumber = await generateSecureNumber(1, 1000000);
console.log('Secure number:', secureNumber);

Decimal Numbers

async function generateDecimalNumber(min, max, precision = 2) {
    try {
        const response = await fetch(
            `https://api.sinaty.business/number/?min=${min}&max=${max}&decimal=true&precision=${precision}`
        );
        
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        
        const data = await response.json();
        return data.number;
    } catch (error) {
        console.error('Error generating decimal number:', error);
        return null;
    }
}

// Usage
const decimalNumber = await generateDecimalNumber(0, 1, 4);
console.log('Decimal number:', decimalNumber);

Python Examples

Basic Usage

import requests
import json

def generate_random_number(min_val=1, max_val=100):
    """Generate a single random number."""
    try:
        url = "https://api.sinaty.business/number/"
        params = {
            'min': min_val,
            'max': max_val
        }
        
        response = requests.get(url, params=params)
        response.raise_for_status()
        
        data = response.json()
        return data['number']
    except requests.exceptions.RequestException as e:
        print(f"Error generating number: {e}")
        return None

# Usage
random_number = generate_random_number(1, 100)
print(f"Random number: {random_number}")

Generate Multiple Numbers

def generate_multiple_numbers(min_val, max_val, count=5):
    """Generate multiple random numbers."""
    try:
        url = "https://api.sinaty.business/number/"
        params = {
            'min': min_val,
            'max': max_val,
            'count': count
        }
        
        response = requests.get(url, params=params)
        response.raise_for_status()
        
        data = response.json()
        return data['numbers']
    except requests.exceptions.RequestException as e:
        print(f"Error generating numbers: {e}")
        return []

# Usage
numbers = generate_multiple_numbers(1, 1000, 10)
print(f"Generated numbers: {numbers}")

Secure Random Numbers

def generate_secure_number(min_val, max_val):
    """Generate a cryptographically secure random number."""
    try:
        url = "https://api.sinaty.business/number/"
        params = {
            'min': min_val,
            'max': max_val,
            'secure': 'true'
        }
        
        response = requests.get(url, params=params)
        response.raise_for_status()
        
        data = response.json()
        return data['number']
    except requests.exceptions.RequestException as e:
        print(f"Error generating secure number: {e}")
        return None

# Usage for cryptographic purposes
secure_number = generate_secure_number(1, 1000000)
print(f"Secure number: {secure_number}")

Decimal Numbers

def generate_decimal_number(min_val, max_val, precision=2):
    """Generate a random decimal number."""
    try:
        url = "https://api.sinaty.business/number/"
        params = {
            'min': min_val,
            'max': max_val,
            'decimal': 'true',
            'precision': precision
        }
        
        response = requests.get(url, params=params)
        response.raise_for_status()
        
        data = response.json()
        return data['number']
    except requests.exceptions.RequestException as e:
        print(f"Error generating decimal number: {e}")
        return None

# Usage
decimal_number = generate_decimal_number(0, 1, 4)
print(f"Decimal number: {decimal_number}")

PHP Examples

Basic Usage

<?php

function generateRandomNumber($min = 1, $max = 100) {
    $url = "https://api.sinaty.business/number/";
    $params = http_build_query([
        'min' => $min,
        'max' => $max
    ]);
    
    $fullUrl = $url . '?' . $params;
    
    $context = stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => 'Content-Type: application/json'
        ]
    ]);
    
    $response = file_get_contents($fullUrl, false, $context);
    
    if ($response === false) {
        return null;
    }
    
    $data = json_decode($response, true);
    return $data['number'] ?? null;
}

// Usage
$randomNumber = generateRandomNumber(1, 100);
echo "Random number: " . $randomNumber . "\n";
?>

Generate Multiple Numbers

<?php

function generateMultipleNumbers($min, $max, $count = 5) {
    $url = "https://api.sinaty.business/number/";
    $params = http_build_query([
        'min' => $min,
        'max' => $max,
        'count' => $count
    ]);
    
    $fullUrl = $url . '?' . $params;
    
    $context = stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => 'Content-Type: application/json'
        ]
    ]);
    
    $response = file_get_contents($fullUrl, false, $context);
    
    if ($response === false) {
        return [];
    }
    
    $data = json_decode($response, true);
    return $data['numbers'] ?? [];
}

// Usage
$numbers = generateMultipleNumbers(1, 1000, 10);
echo "Generated numbers: " . implode(', ', $numbers) . "\n";
?>

Go Examples

Basic Usage

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

type NumberResponse struct {
    Number int `json:"number"`
}

func generateRandomNumber(min, max int) (int, error) {
    baseURL := "https://api.sinaty.business/number/"
    
    params := url.Values{}
    params.Add("min", fmt.Sprintf("%d", min))
    params.Add("max", fmt.Sprintf("%d", max))
    
    fullURL := baseURL + "?" + params.Encode()
    
    resp, err := http.Get(fullURL)
    if err != nil {
        return 0, err
    }
    defer resp.Body.Close()
    
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return 0, err
    }
    
    var response NumberResponse
    err = json.Unmarshal(body, &response)
    if err != nil {
        return 0, err
    }
    
    return response.Number, nil
}

func main() {
    number, err := generateRandomNumber(1, 100)
    if err != nil {
        fmt.Printf("Error: %v\n", err)
        return
    }
    fmt.Printf("Random number: %d\n", number)
}

Ruby Examples

Basic Usage

require 'net/http'
require 'json'
require 'uri'

def generate_random_number(min = 1, max = 100)
  url = "https://api.sinaty.business/number/"
  uri = URI(url)
  
  params = {
    'min' => min,
    'max' => max
  }
  
  uri.query = URI.encode_www_form(params)
  
  response = Net::HTTP.get_response(uri)
  
  if response.is_a?(Net::HTTPSuccess)
    data = JSON.parse(response.body)
    return data['number']
  else
    puts "Error: #{response.code} - #{response.message}"
    return nil
  end
rescue => e
  puts "Error generating number: #{e.message}"
  return nil
end

# Usage
random_number = generate_random_number(1, 100)
puts "Random number: #{random_number}"

cURL Examples

Basic Number Generation

# Generate a single number between 1 and 100
curl "https://api.sinaty.business/number/?min=1&max=100"

# Generate 5 numbers between 1 and 1000
curl "https://api.sinaty.business/number/?min=1&max=1000&count=5"

# Generate a secure random number
curl "https://api.sinaty.business/number/?min=1&max=1000000&secure=true"

# Generate a decimal number
curl "https://api.sinaty.business/number/?min=0&max=1&decimal=true&precision=4"

Advanced Examples

# Generate numbers for a lottery simulation
curl "https://api.sinaty.business/number/?min=1&max=49&count=6&secure=true"

# Generate decimal numbers for financial calculations
curl "https://api.sinaty.business/number/?min=0&max=100&decimal=true&precision=2&count=10"

# Generate negative numbers
curl "https://api.sinaty.business/number/?min=-100&max=100&count=5"

Integration Examples

React Component

import React, { useState, useEffect } from 'react';

function RandomNumberGenerator() {
    const [number, setNumber] = useState(null);
    const [loading, setLoading] = useState(false);
    const [error, setError] = useState(null);

    const generateNumber = async (min = 1, max = 100) => {
        setLoading(true);
        setError(null);
        
        try {
            const response = await fetch(
                `https://api.sinaty.business/number/?min=${min}&max=${max}`
            );
            
            if (!response.ok) {
                throw new Error(`HTTP error! status: ${response.status}`);
            }
            
            const data = await response.json();
            setNumber(data.number);
        } catch (err) {
            setError(err.message);
        } finally {
            setLoading(false);
        }
    };

    return (
        <div>
            <h2>Random Number Generator</h2>
            <button 
                onClick={() => generateNumber(1, 100)}
                disabled={loading}
            >
                {loading ? 'Generating...' : 'Generate Number'}
            </button>
            
            {number && <p>Generated number: {number}</p>}
            {error && <p style={{color: 'red'}}>Error: {error}</p>}
        </div>
    );
}

export default RandomNumberGenerator;

Express.js Middleware

const express = require('express');
const fetch = require('node-fetch');

const app = express();

// Middleware to generate random numbers
async function generateRandomNumber(req, res, next) {
    try {
        const { min = 1, max = 100, count = 1, secure = false } = req.query;
        
        const params = new URLSearchParams({
            min: min.toString(),
            max: max.toString(),
            count: count.toString(),
            secure: secure.toString()
        });
        
        const response = await fetch(
            `https://api.sinaty.business/number/?${params}`
        );
        
        if (!response.ok) {
            throw new Error(`API error: ${response.status}`);
        }
        
        const data = await response.json();
        req.randomNumbers = data;
        next();
    } catch (error) {
        res.status(500).json({ error: error.message });
    }
}

// Route using the middleware
app.get('/random', generateRandomNumber, (req, res) => {
    res.json(req.randomNumbers);
});

app.listen(3000, () => {
    console.log('Server running on port 3000');
});

Error Handling

async function generateNumberWithRetry(min, max, maxRetries = 3) {
    for (let attempt = 1; attempt <= maxRetries; attempt++) {
        try {
            const response = await fetch(
                `https://api.sinaty.business/number/?min=${min}&max=${max}`
            );
            
            if (!response.ok) {
                const error = await response.json();
                throw new Error(error.error || `HTTP ${response.status}`);
            }
            
            const data = await response.json();
            return data.number;
        } catch (error) {
            console.error(`Attempt ${attempt} failed:`, error.message);
            
            if (attempt === maxRetries) {
                throw new Error(`Failed after ${maxRetries} attempts: ${error.message}`);
            }
            
            // Wait before retrying (exponential backoff)
            await new Promise(resolve => setTimeout(resolve, 1000 * attempt));
        }
    }
}

// Usage with error handling
try {
    const number = await generateNumberWithRetry(1, 100);
    console.log('Generated number:', number);
} catch (error) {
    console.error('Failed to generate number:', error.message);
}

Common Use Cases

Gaming Applications

// Generate dice roll
async function rollDice(sides = 6) {
    const number = await generateRandomNumber(1, sides);
    return number;
}

// Generate card deck shuffle
async function generateShuffledDeck() {
    const numbers = await generateMultipleNumbers(1, 52, 52);
    return numbers;
}

Statistical Sampling

// Generate random sample indices
async function generateSampleIndices(populationSize, sampleSize) {
    const numbers = await generateMultipleNumbers(0, populationSize - 1, sampleSize);
    return [...new Set(numbers)]; // Remove duplicates
}

Testing and Development

// Generate test data
async function generateTestData(count = 100) {
    const numbers = await generateMultipleNumbers(1, 1000, count);
    return numbers.map(num => ({
        id: num,
        value: num * Math.random(),
        timestamp: new Date().toISOString()
    }));
}
These examples demonstrate how to integrate the Number Generator API into various applications and handle different use cases effectively.
I