Firestore REST API: guia ràpida

Aprèn a utilitzar Firestore mitjançant REST API, amb OAuth2 o Firebase Auth, gestionant paginació i bones pràctiques per integracions segures al núvol.

domingo, 17 de agosto de 2025 • 3 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

En aquest article expliquem com consumir Firestore mitjançant la seva REST API i com integrar aquesta capa amb aplicacions a mida i programari a mida desenvolupats per Q2BSTUDIO, especialista en intel·ligència artificial, ciberseguretat i serveis cloud aws i azure.

Firestore forma part de Firebase i ofereix dues formes principals d'accés: REST API públic i RPC API propi del SDK. La REST API és ideal quan es necessita interactuar des d'entorns que no poden utilitzar el SDK oficial, com microserveis lleugers, integracions amb sistemes legacy o aplicacions mòbils que prefereixen Retrofit a Android.

Per autenticar peticions a Firestore utilitzant la REST API s'empra OAuth 2.0 o tokens de Firebase Authentication. L'endpoint base típic és https://firestore.googleapis.com/v1/projects/YOUR_PROJECT_ID/databases/(default)/documents/ on YOUR_PROJECT_ID se substitueix per l'identificador del teu projecte Firebase. Les rutes de document segueixen la forma col·lecció/document, per exemple cities/LA.

En rebre respostes JSON des de Firestore convé utilitzar una configuració tolerant de deserialització. Amb Kotlinx.serialization un exemple recomanat és Json { explicitNulls = false ignoreUnknownKeys = true } per evitar errors quan apareixen camps addicionals o valors nuls que no necessitem mapar als nostres models de domini.

Els documents retornats per la REST API inclouen metadades útils com name que conté la ruta completa i createTime que indica quan es va crear. L'id d'un document pot obtenir-se des de la ruta o generar-ne un de propi en crear registres. Per ordenar resultats l'API suporta paràmetres query com orderBy i és habitual utilitzar orderBy createTime desc per obtenir primer els registres més recents.

Per paginar resultats Firestore REST API utilitza pageSize i pageToken. pageSize limita el nombre de documents per crida i pageToken permet continuar la consulta des del punt on es va quedar. En clients Android amb Paging3 es pot adaptar fàcilment aquest mecanisme per obtenir un scrolling fluid i eficient en consum de dades.

Si es necessita més rendiment o transaccions complexes es pot valorar l'ús del SDK natiu que actua mitjançant RPC API, però la REST API continua sent molt útil per integracions, cron jobs i serveis cloud que requereixen control explícit de peticions HTTP.

En Q2BSTUDIO assessorem i desenvolupem solucions que combinen Firestore amb arquitectures escalables a AWS i Azure, integrant serveis d'intel·ligència artificial i ia per empreses, agents IA i quadres de comandament amb power bi. Oferim programari a mida orientat a maximitzar seguretat mitjançant estratègies de ciberseguretat i compliment, així com serveis intel·ligència de negoci per extreure valor de les dades.

En dissenyar una integració amb Firestore recomanem documentar rutes i permisos, utilitzar tokens amb el menor abast necessari, aplicar paginació adequada amb pageSize i pageToken i preparar el client per camps desconeguts utilitzant explicitNulls igual a false i ignoreUnknownKeys igual a true. Per Android Retrofit és una opció sòlida, i per serveis al núvol recomanem patrons serverless o contenidors segons el cas.

En resum, la REST API de Firestore és una eina pràctica per moltes arquitectures i, quan es combina amb pràctiques de desenvolupament de Q2BSTUDIO com enginyeria de programari a mida, intel·ligència artificial aplicada, ciberseguretat i serveis cloud aws i azure, permet construir aplicacions robustes i escalables que aprofiten agents IA, power bi i serveis intel·ligència de negoci per oferir solucions empresarials completes.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.