Was ich im Wesentlichen versuche zu tun ist eine Rechnung in Harvest zu generieren, wenn eine Karte in einer Liste in Trello platziert wird. Ich habe Zapier ausprobiert, aber es ist keine Rechnungsfunktion eingebaut.API GET oder Zapier Trigger auf POST-Aktion
Ich werde das selbst entwickeln müssen. Trello hat eine Javascript- oder Python-Aktion, daher bin ich auf diese beiden Sprachen beschränkt.
ZAPIER: Trello Trigger > Javascript or Python code
Ich habe die JSON-Anforderung, die ich brauche
{ "invoice": { "due_at_human_format": "NET 10", "client_id": 3849315, "currency" : "United States Dollar - USD", "issued_at": "2015-04-22", "subject": "Your invoice subject goes here", "notes": "Some notes go here", "number": "303197", "kind": "project", "projects_to_invoice": "120353", "import_hours": "yes", "import_expense": "yes", "period_start": "2015-03-01", "period_end": "2016-03-31", "expense_period_start": "2015-03-31", "expense_period_end": "2016-03-31" } }
zu
https://[site].harvestapp.com/invoices
Authorization: Basic amNtMjU4MkBnbWFpbC5jb206YTEwMDUw**NB
Content-Type: application/javascript
Accept: application/json
gesendet werden Wie kann ich dies in
nackten Knochen Python oder JavaScript mit einfachen Login-Authentifizierung veröffentlichen einschließlich Logik? Ein Beispielcode wäre hilfreich.
UPDATE: Ich habe diesen Code hinzugefügt, aber kann nicht scheinen, um es außerhalb Postman zu arbeiten
var data = JSON.stringify({
"invoice": {
"due_at_human_format": "NET 10",
"client_id": 3849315,
"currency": "United States Dollar - USD",
"issued_at": "2015-04-22",
"subject": "Your invoice subject goes here",
"notes": "Some notes go here",
"number": "303197",
"kind": "project",
"projects_to_invoice": "120353",
"import_hours": "yes",
"import_expense": "yes",
"period_start": "2015-03-01",
"period_end": "2016-03-31",
"expense_period_start": "2015-03-31",
"expense_period_end": "2016-03-31"
}
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://[url].harvestapp.com/invoices");
xhr.setRequestHeader("authorization", "Basic amNtMjU4MkBnbWFpbC***TEwMDUwMTNB");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("postman-token", "2c652344-1be5-8969-adf3-a7ca9ee7179f");
xhr.send(data);
Ich habe Ihren Code geändert mit der Ernte laufen, aber es wird nicht außerhalb des Postbote arbeiten. –