Un limite giornaliero sugli avvisi di condivisione, e un limite di frequenza per il resto
Un account può inviare cinquanta avvisi di condivisione al giorno. Aggiungere qualcuno a un documento funziona anche oltre: semplicemente non parte nessuna email. Gli endpoint propri dell’applicazione sono ora limitati per frequenza come l’API pubblica lo è sempre stata, così uno script in ciclo riceve un 429 invece di tutto ciò che chiede.
Due contatori, che contano due cose diverse, e vale la pena sapere in quale dei due sei incappato. Uno riguarda la posta che lascia il nostro dominio; l’altro, la velocità con cui chiunque può chiedere qualcosa a questa applicazione.
Cinquanta avvisi al giorno, e un avviso non è un accesso
Aggiungere qualcuno a un documento scrive l’accesso. L’email che glielo comunica è una cortesia in più, e qui le due cose sono sempre state separate. Oltre i cinquanta in un giorno l’avviso semplicemente non parte: la persona è aggiunta lo stesso, il documento si apre per lei, e la risposta indica gli indirizzi a cui si è davvero scritto invece di rivendicarli tutti.
Cinquanta sta molto sopra a ciò che somiglia alla condivisione di un documento e molto sotto a ciò che somiglia a un invio di massa. Quello che si protegge non è il costo di un invio, ma il dominio: una raffica di posta indesiderata firmata dal nostro SPF e dal nostro DKIM finisce con il dominio mittente disattivato, e la prima cosa a smettere di funzionare, dopo, è il codice di conferma che serve a qualcuno per accedere.
Sessanta richieste al minuto, ora anche nell’applicazione
L’API pubblica e il connettore contano le chiamate per chiamante e per minuto da quando esistono, e rispondono 429 con un retry-after che dice quanti secondi mancano allo scoccare del minuto. Gli endpoint propri dell’applicazione ne erano esclusi perché solo le nostre pagine li chiamano: vero delle pagine, falso degli endpoint. Un cookie di sessione è una credenziale come un’altra, e quelle rotte scrivono nel database, mandano posta e chiamano all’esterno.
Vengono contati per account dove ce n’è uno e per indirizzo dove non c’è, così uno script impazzito non può spendere il credito di un’altra persona. Un riassunto con l’IA ha un budget proprio e più piccolo, venti al giorno, perché quella chiamata costa denaro in un modo in cui una ordinaria non lo costa.
Che cosa non fa
Non mette nulla in coda. Una richiesta oltre il limite viene rifiutata, con i secondi da aspettare, e riprovare tocca a te. Non è nemmeno un limitatore esatto: una riga per chiamante e per minuto in Postgres significa che due chiamate arrivate insieme possono leggere lo stesso conteggio, che a questa scala è lo scambio giusto rispetto a tenere un secondo sistema accanto al database.
E un contatore irraggiungibile vale come margine disponibile. Un limitatore che chiude fuori tutti quando manca la sua stessa tabella è peggio di ciò da cui doveva proteggere.
Da leggere: condividere un documento come link e convertire documenti con un’API.