Allocations
- List allocations for a transaction
- View an allocation
- Start Delivery
- Amend allocation
- Complete Delivery
- Accept Delivery
- Dispute Delivery
List allocations for a transaction
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
}
}
}
}
View an allocation
An individual allocation can be retrieved using the allocation
query
query allocation {
allocation(id: "15uLJNN9PfXyS1Tj086RAM") {
id
value
state
calculation {
value
payout
fee
refund
}
}
Start Delivery
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
}
}
Amend allocation
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.
Complete Delivery
When an allocation has been delivered the allocationCompleteDelivery
should be called. This will trigger a
notification to the buyer giving them 24 hours to accept or dispute the transaction.
If 24 hours pass with no action by the buyer, the transaction will be automatically accepted and trigger a payout.
mutation allocationCompleteDelivery {
allocationCompleteDelivery(id: "4RwHQ1bQsmA5v4tjf5o0m6") {
id
state
}
}
Accept Delivery
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
}
}
Dispute Delivery
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
}
}