Ejemplos con JavaScript
Configuración
No se necesita SDK. Usá la API nativa fetch o cualquier cliente HTTP.
js
const CELDRAX_TOKEN = process.env.CELDRAX_TOKEN // cxk_...
const DB = 'midb'
async function query(tabla, body) {
const res = await fetch(`https://celdrax.com/api/${DB}/${tabla}`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${CELDRAX_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
})
if (!res.ok) {
const err = await res.json()
throw new Error(err.error)
}
return res.json()
}SELECT
js
// Obtener todos los usuarios activos
const { data } = await query('usuarios', {
verb: 'select',
filters: { active: true },
orderBy: 'created_at DESC',
limit: 50,
})
console.log(data.rows) // array de filas
console.log(data.count) // cantidad de filas retornadasjs
// Obtener columnas específicas
const { data } = await query('productos', {
verb: 'select',
columns: ['id', 'nombre', 'precio'],
filters: { categoria: 'electronica' },
limit: 20,
})INSERT
js
const { data } = await query('usuarios', {
verb: 'insert',
data: {
email: 'alice@example.com',
nombre: 'Alice',
active: true,
},
})
console.log(data.id) // id auto-increment de la nueva filaUPDATE
js
const { data } = await query('usuarios', {
verb: 'update',
data: { active: false, updated_at: new Date().toISOString() },
filters: { id: 42 },
})
console.log(data.updated) // cantidad de filas afectadasDELETE
js
const { data } = await query('sesiones', {
verb: 'delete',
filters: { user_id: 42 },
})
console.log(data.deleted) // cantidad de filas eliminadasManejo de errores
js
try {
const result = await query('usuarios', { verb: 'select' })
} catch (err) {
if (err.message.includes('REQUESTS_EXCEEDED')) {
console.error('Límite mensual alcanzado — actualizá tu plan')
} else {
console.error('Consulta fallida:', err.message)
}
}Con axios
js
import axios from 'axios'
const celdrax = axios.create({
baseURL: 'https://celdrax.com',
headers: { Authorization: `Bearer ${process.env.CELDRAX_TOKEN}` },
})
const { data } = await celdrax.post('/api/midb/usuarios', {
verb: 'select',
limit: 10,
})
console.log(data.data.rows)