Create Transactions

Create a transaction against the account and profile given.

Accepts a TransactionRequest object

Returns a TransactionResponse object.

require 'uri'
require 'net/http'

url = URI("https://api.opentransact.com/v1/transactions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = "Bearer #{API_KEY}"
request["content-type"] = 'application/vnd.api+json'
request.body = {
	"data": {
		"type": "transactions",
		"attributes": {
			"transaction-type": "debit",
			"amount": 100,
			"precision": 2,
			"currency": "USD",
			"memo": "Test Transaction"
		},
		"relationships": {
			"profile": {
				"data": {
					"type": "profiles",
					"id": profile_id
				}
			},
			"account": {
				"data": {
					"type": "accounts",
					"id": account_id
				}
			}
		}
	}
}.to_json

response = http.request(request)
puts response.read_body
curl --request POST \
  --url https://api.opentransact.com/v1/transactions \
  --header 'authorization: Bearer $API_KEY' \
  --header 'content-type: application/vnd.api+json' \
  --data '{
	"data": {
		"type": "transactions",
		"attributes": {
			"transaction-type": "debit",
			"amount": 100,
			"precision": 2,
			"currency": "USD",
			"memo": "Test Transaction"
		},
		"relationships": {
			"profile": {
				"data": {
					"type": "profiles",
					"id": "$PROFILE_ID"
				}
			},
			"account": {
				"data": {
					"type": "accounts",
					"id": "$ACCOUNT_ID"
				}
			}
		}
	}
}'