J'essaie de mettre à jour mes contacts SendGrid et je n'arrive pas à comprendre pourquoi mes tentatives de mise à jour des champs personnalisés de mes contacts ne fonctionnent pas. Mes champs réservés (prénom, nom, email) sont mis à jour, mais pas mes champs personnalisés. Des idées pourquoi?

Documentation ici: 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 févr. 2021 à 02:51

1 réponse

Meilleure réponse

Contrairement aux champs réservés, la mise à jour d'un champ personnalisé nécessite que vous passiez le champ personnalisé id au lieu du champ name dans votre appel. Donc au lieu de educator_role, utilisez l'identifiant, ce sera quelque chose d'aléatoire comme e1_T.

Vous pouvez obtenir l'identifiant via / marketing / field_definitions point de terminaison.

1
Matt 1 mars 2021 à 15:36