2017-07-18 1 views
0

nous avons un sondage dans surveymonkey et en utilisant C# pour essayer et ajouter les adresses e-mail à l'enquête en utilisant l'API surveymonkey. l'API fonctionne bien pour le SEAOG, mais nous n'avons pas encore de POST à ​​travailler. tout ce que nous obtenons estposter un e-mail à un sondage en utilisant la surveillonkey api

"docs": "https://developer.surveymonkey.com/api/v3/#error-codes", "message": "Il y avait une erreur de récupération de la ressource demandée.", "id": "1020", "name": « Ressource Not Found ", " http_status_code ": 404

Tous les identifiants sont corrects car nous pouvons OBTENIR des informations sur l'enquête, mais nous ne pouvons pas y accéder. nous avons accordé tous les champs d'application afin qu'il n'y ait pas de limitation ou de restriction de ce côté. Le support api de SurveyMonkey peut aussi bien ne pas exister car ils sont une perte de temps complète et ne peuvent pas répondre à une seule question sur leur API.

Le code ci-dessous est notre dernière tentative d'appel à l'API avec un POST. nous avons mis les ids réels dans l'uri au lieu de {id} Je n'ai pas inclus nos identifiants ici pour des raisons évidentes.

à l'aide (client var = new HttpClient()) { var uri = new Uri ("https://api.surveymonkey.net/v3/surveys/ {id}/collecteurs/{id}/messages/{id}/destinataires-d"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue ("Porteur", ConfigurationManager.AppSettings ["SurveyMonkeyAccessToken"]); client.DefaultRequestHeaders.Accept.Add (nouveau MediaTypeWithQualityHeaderValue ("application/json")); var content = new ChaîneContenu ("{\" email \ ": +" + emailAddress + "}", Encoding.UTF8, "application/json"); var réponse = client.PostAsync (uri, contenu); ParseSurveyPostResponses (réponse) }

Quelqu'un a-t-il réussi à effectuer une enquête par sondage en utilisant son API V3?

+0

Pouvez-vous poster l'URL que vous frappez? Le 'id = 1020' peut être un indice à votre problème. – JuanR

+0

https://developer.surveymonkey.com/api/v3/#error-codes – lockforward

+0

l'url pour les codes d'erreur montre ce qu'il y a pour l'ID 1020. c'est juste une erreur générique et ne donne pas beaucoup d'indice comme pourquoi l'api craint. merci – lockforward

Répondre

0

Qu'essayez-vous exactement de faire? Essayez-vous de créer un collecteur d'e-mails? Essayez-vous de créer un nouveau message sur ce collecteur d'e-mails? Essayez-vous d'ajouter des destinataires à cet e-mail? est-ce que vous essayez d'envoyer l'email?

Creating an email collector:

POST /v3/<survey_id>/collectors 
{ 
    "type": "email" 
} 

Adding a message à un collecteur d'email:

POST /v3/collectors/<collector_id>/messages 
{ 
    "type": "invite" 
} 

Add recipients à un message:

POST /collectors/<collector_id>/messages/<message_id>/recipients 
{ 
    "email": "[email protected]", 
    "first_name": "Test", 
    "last_name": "Example", 
    "custom_fields": { 
     "1": "First Value", 
     "2": "Second Value", 
     "3": "Third Value" 
    }, 
    "extra_fields": { 
     "field_name1": "field_value1", 
     "field_name2": "field_value2" 
    } 
} 

REMARQUE: Vous pouvez également add recipients in bulk

NOTE2: Les champs personnalisés sont stockés sur le contact associé dans votre liste de contacts, les champs supplémentaires sont uniquement stockés sur le destinataire pour ce message et uniquement accessibles via l'API.

Sending l'e-mail:

POST /v3/collectors/<collector_id>/messages/<message_id>/send 
{ 
    "scheduled_date": "2017-07-18T16:52:22" 
} 

REMARQUE: vous pouvez exclure le scheduled_date et juste envoyer {} pour envoyer le message tout de suite.

+0

nous essayons d'ajouter un destinataire à un collecteur d'email existant. Une fois que nous avons ajouté le destinataire, nous posterons un envoi. nous aimerions inclure un champ personnalisé. vous n'auriez pas l'appel postal aux destinataires qui comprend l'email, prénom et nom ainsi qu'un champ personnalisé? – lockforward

+0

J'ai mis à jour ma réponse avec un peu plus d'informations –

+0

merci, je reçois "Le corps fourni n'était pas une chaîne JSON appropriée" dès que j'inclue tout sauf email, prénom et nom .. – lockforward