`contacts.create` posts to `/audiences/undefined/contacts` when `audienceId` is undefined

Aperta Adatta ai principianti
#1,176 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@RaphaelFakhri ci sta già lavorando.

Dal 3/11/2026.

  • #1177 di @RaphaelFakhri — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
70/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
node.js, typescript
Ambito
api

Direzione di ricerca

Inizia leggendo l’implementazione di contacts.create() e confronta come contacts.get(), contacts.update() e contacts.remove() gestiscono un audienceId non definito. Controlla i test dei contatti esistenti e aggiungi test per audienceId non definito, anche quando sono presenti segments. Il lavoro è completo quando la creazione usa POST /contacts in questi casi e i test passano.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug

resend.contacts.create() picks the deprecated audiences endpoint whenever the payload has an audienceId key, even if its value is undefined. The request goes to POST /audiences/undefined/contacts and fails, and a payload that also has segments or topics returns the "audienceId is deprecated" error without any request.

contacts.get(), contacts.update() and contacts.remove() already treat an undefined audienceId as absent and use the /contacts endpoints.

This passes type checking when the options object isn't an object literal, for example when it's built from optional config:

const options = {
  email: '[email protected]',
  audienceId: process.env.RESEND_AUDIENCE_ID, // unset after moving to segments
  segments: [{ id: 'segment-id' }],
};

await resend.contacts.create(options);
// error: "`audienceId` is deprecated, and cannot be used together with `segments` or `topics`. ..."

await resend.contacts.create({ email: options.email, audienceId: options.audienceId });
// request: POST https://api.resend.com/audiences/undefined/contacts
Expected behavior

When audienceId is undefined, contacts.create() uses POST /contacts, like the other contact methods.

SDK version

resend 6.37.0 (current canary)

Lingua principale
TypeScript
Stelle
973
Fork
99
Merge medio
1g 13h
PR unite (30g)
37

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di resend/resend-node

Tutte le issue di resend/resend-node

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.