Estoy intentando actualizar mis contactos de SendGrid y no puedo entender por qué mis intentos de actualizar los campos personalizados de mis contactos no funcionan. Mis campos reservados (nombre, apellido, correo electrónico) se actualizan, pero mis campos personalizados no. ¿Alguna idea de por qué?

Documentación aquí: https: //sendgrid.api -docs.io/v3.0/contacts/add-or-update-a-contact

    try:
        headers = {
            'authorization': f"Bearer {settings.SENDGRID_API_KEY}",
        }
        data = {
            "list_ids": [
                # "Users" list
                "7c2...d20"
            ],
            "contacts": [{
                "email": user.email,
                "first_name": user.first_name,
                "last_name": user.last_name,
                "custom_fields": {
                    "educator_role": user.educator_role,
                }
            }]
        }

        response = requests.put("https://api.sendgrid.com/v3/marketing/contacts", headers=headers, data=json.dumps(data))
        if(response.status_code != 202):
            capture_message(f"Could not add user with email {user.email} to Sendgrid.", level="error")
    except:
        capture_message(f"Adding/updating SendGrid contact failed for {user.email}.", level="error")```
0
Nicole Hemenway 26 feb. 2021 a las 02:51

1 respuesta

La mejor respuesta

A diferencia de los campos reservados, la actualización de un campo personalizado requiere que pase el campo personalizado id en lugar del campo name en su llamada. Entonces, en lugar de educator_role, use la identificación, será algo aleatorio como e1_T.

Puede obtener la identificación a través de / marketing / field_definitions punto final.

1
Matt 1 mar. 2021 a las 15:36