Я пытаюсь создать сервисный уровень для стороннего API под названием Goodhire. У меня проблема с использованием сообщения для HTTParty приводит к запросу get. Я получаю сообщение об ошибке "{\" Message \ ": \" Запрашиваемый ресурс не поддерживает http-метод "GET". \ "}". Мне нужно иметь возможность создавать отчет, а также мне нужно иметь возможность получать этот отчет, используя мой webhook. 127.0.0.1:3000/good_hire_webhook_callback (будет использовать ngrok для тестирования). Как я могу просто отправить в конечную точку и получить результаты обратно для обоих запросов GET / POST? Я что-то упустил или я могу улучшить свое решение? документация для API GoodHireApiDocs
Создание отчета POST v1 / Report
curl -i -X POST -H "Authorization: ApiKey API_CONSTANT" \
-H "Content-Type: application/json" \
-d '{
"Candidate": {
"FirstName": "Test",
"LastName": "Candidate",
"Email": "candidate@example.com"
},
"Offer": {
"Products": ["RPT_BASIC"]
},
"RequestOptions": {
"SendPurchaseReceipt": true,
}
}'
Класс обслуживания Goodhire API
class GoodHire
include HTTParty
base_uri 'api-sandbox.goodhire.com'
API_KEY = "SECRET"
def initialize(apikey = API_KEY)
@options = {query: {ApiKey: apikey}}
end
def get candidate_report(candidate_first_name, candidate_last_name, candidate_email)
options = {body: {
Candidate: {
FirstName: candidate_first_name,
LastName: candidate_last_name,
Email: candidate_email
}
}
}
self.class.get("/v1/Candidate", @options.merge({q: options})
end
def create_candidate_report(candidate_first_name, candidate_last_name, candidate_email, offer, request_options = true)
options = {body: {
Candidate: {
FirstName: candidate_first_name,
LastName: candidate_last_name,
Email: candidate_email,
},
Offer: {
Products: ["#{offer}"]
},
RequestOptions: {
SendPurchaseReceipt: request_options
}
}
}
results = self.class.post("/v1/Report", @options.merge({q: options})
results
end
def retrieve_candidate_report_with_id(report_id)
self.class.get("/v1/report/#{report_id}", @options)
end