Drop approved invoice file at SFTP path
curl --request POST \
--url sftp://sftp.tangoanalytics.com/outbound/invoice \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: text/plain' \
--data '<string>'const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'text/plain'},
body: '<string>'
};
fetch('sftp://sftp.tangoanalytics.com/outbound/invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "sftp://sftp.tangoanalytics.com/outbound/invoice"
payload = "<string>"
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "text/plain"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)Invoice Outbound
Drop approved invoice file at SFTP path
Virtual operation. Tango selects newly approved invoices, writes them to
the file, moves the prior file to Processed/<timestamp>, and marks the
exported invoices as Exported. No file is written when there is no data.
Lines with Net Amount = 0 are excluded.
POST
/
outbound
/
invoice
Drop approved invoice file at SFTP path
curl --request POST \
--url sftp://sftp.tangoanalytics.com/outbound/invoice \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: text/plain' \
--data '<string>'const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'text/plain'},
body: '<string>'
};
fetch('sftp://sftp.tangoanalytics.com/outbound/invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "sftp://sftp.tangoanalytics.com/outbound/invoice"
payload = "<string>"
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "text/plain"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)Authorizations
SFTP user/password — values not specified in the source design doc.
Body
text/plain
The body is of type file.
Response
200
File delivered.

