2010-08-25 3 views
1

Je suis en train de mettre en oeuvre appeler cette méthode API dans Ruby https://zferral.com/api-docs/affiliate#aff-create-usage-example qui attend cet objet:Comment consommer API Rest avec des objets complexes en utilisant Httparty et Ruby

{ "affiliate" : { 
    "email"   : "[email protected]", 
    "send_user_email" : "1" }} 

En utilisant une classe Httparty, j'appelle ceci:

result = self.class.post("/api/#{@apikey}/affiliate/create.xml", :body => {:affiliate => {:email => email}}) 

Malheureusement, l'API ne cesse de m'envoyer "Email est requis". J'ai essayé de passer à json, je suis changé: corps avec: requête, etc ...

Quelqu'un pourrait me montrer comment appeler la méthode d'affiliation/créer correctement?

Merci.

Répondre

2

Voici comment je fixe mon problème:

url = URI.parse('https://xxxx.zferral.com/api/xxx/affiliate/create.xml') 
    http = Net::HTTP.new(url.host, url.port) 
    http.use_ssl = true 
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE 
    request = Net::HTTP::Post.new(url.path) 
    request.body = "<?xml version='1.0' encoding='UTF-8'?><affiliate><email>#{email}</email><send_user_email>0</send_user_email></affiliate>" 
    request.content_type = 'text/xml' 
    response = http.request(request) 
+1

accepte cette réponse alors. – Simpleton

Questions connexes