Deal methods: propose, win
The Deal Verbs propose, win as typed SDK methods, with inputs, result, refusals and an example.
Reference for Deal, one group of Deal methods.
Deal.propose
Propose sends a Deal’s buyer a Quote they accept to place an Order. Verb page.
interface DealVerbs {
propose(input: DealProposeInput, options?: SB.CallOptions): SB.Call<Deal>
}Emits Deal.proposed.
Inputs
Returns
| Output | Type | Required | Description |
|---|---|---|---|
deal | Deal | required | The Deal with its Quote out. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
import { $ } from 'startup-builder'
const deal = await $.Deal.propose({ deal: 'deal_NgACZ6DcII', quote: 'qt_GZnH5OK100' })Deal.win
Win closes a Deal as won, which places its Order and makes the buyer a Customer. Verb page.
interface DealVerbs {
win(input: DealWinInput, options?: SB.CallOptions): SB.Call<DealWinOutput>
}Emits Deal.won.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
deal | Deal | required | The proposed Deal. |
Returns
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
| The record is not in a state that allows this Verb, so the call is refused. | refused | Read the record, run the Verb that moves it to an allowed state, then retry. | None. |
Example
import { $ } from 'startup-builder'
const { order, deal } = await $.Deal.win({ deal: 'deal_NgACZ6DcII' })