PowerShell Concur: Create a Receipt without an Image (from JSON File)

Back to Index

Posts a receipt without an image. A successful POST will result in a 201 status code with an empty response.

Documentation: https://developer.concur.com/api-reference/receipts/endpoints.html#endpoint-post-a-receipt

CURL Command

curl -v -X POST https://us.api.concursolutions.com/receipts/v4/users/USER_ID \
-H "Authorization: Bearer {YOUR ACCESS TOKEN}" \
-H "Content-Type: application/json" \
-H "link: <http://schema.concursolutions.com/VALIDATION_SCHEMA_FROM_SCHEMA_ENDPOINT.schema.json>;rel=describedBy" \
-d @path-to-receipt-json

PowerShell Example

[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")

$rest = New-Object Chilkat.Rest

#  URL: https://us.api.concursolutions.com/receipts/v4/users/USER_ID
$bTls = $true
$port = 443
$bAutoReconnect = $true
$success = $rest.Connect("us.api.concursolutions.com",$port,$bTls,$bAutoReconnect)
if ($success -ne $true) {
    $("ConnectFailReason: " + $rest.ConnectFailReason)
    $($rest.LastErrorText)
    exit
}

$fileStream = New-Object Chilkat.Stream
$fileStream.SourceFile = "path-to-receipt-json"

$rest.AddHeader("link","<http://schema.concursolutions.com/VALIDATION_SCHEMA_FROM_SCHEMA_ENDPOINT.schema.json>;rel=describedBy")
$rest.AddHeader("Content-Type","application/json")
$rest.AddHeader("Authorization","Bearer {YOUR ACCESS TOKEN}")

$strResponseBody = $rest.FullRequestStream("POST","/receipts/v4/users/USER_ID",$fileStream)
if ($rest.LastMethodSuccess -ne $true) {
    $($rest.LastErrorText)
    exit
}

$respStatusCode = $rest.ResponseStatusCode
if ($respStatusCode -ge 400) {
    $("Response Status Code = " + $respStatusCode)
    $("Response Header:")
    $($rest.ResponseHeader)
    $("Response Body:")
    $($strResponseBody)
    exit
}