All allocations associated with a transaction are queried through the transaction
query.
query transaction {
transaction(id: "4XTwDsioZZZFeOKKr5blO") {
id
allocations {
id
value
state
calculation {
value
payout
fee
refund
}
}
}
}
An individual allocation can be retrieved using the allocation
query
query allocation {
allocation(id: "15uLJNN9PfXyS1Tj086RAM") {
id
value
state
calculation {
value
payout
fee
refund
}
}
The allocationStartDelivery
mutation is used to initiate delivery this can only be called when the transaction is in
the FUNDS_RECEIVED
or INITIATED
states
mutation allocationStartDelivery {
allocationStartDelivery(id: "4RwHQ1bQsmA5v4tjf5o0m6") {
id
state
}
}
Allocations can be amended if the terms of the transaction are not met, for example providing a partial refund. However,
an allocation can only be amended after delivery started is called between allocationStartDelivery
and allocationAcceptDelivery
See the amendments section for more information.
When an allocation is ready to be paid out the allocationAcceptDelivery
should be called. This will trigger a payout
to the seller, and a refund if the allocation has been amended.
Once all allocations are accepted payouts to 3rd parties just such as agents and beneficiaries will be made.
mutation allocationAcceptDelivery {
allocationAcceptDelivery(id: "4RwHQ1bQsmA5v4tjf5o0m6") {
id
state
}
}
The allocationDisputeDelivery
is called if there is a material issue between the buyer and seller that cannot be
resolved and can only be called after allocationStartDelivery
is called.
At this point the relevant parties will need to use the TradeSafe App to continue the transaction.
mutation allocationDisputeDelivery {
allocationDisputeDelivery(id: "4RwHQ1bQsmA5v4tjf5o0m6") {
id
state
}
}