Create an Apple Messages for Business routing rule
/v1/amb/routing-rulesconst result = await bird.amb.routingRules.create({
business_account_id: "abz_01krdgeqcxet5s7t44vh8rt9mg",
match_kind: "intent",
match_intent_id: "support",
queue: "support",
precedence: 0,
is_default: false,
match_group_id: null,
});
console.log(result);result = client.amb.routing_rules.create(business_account_id='abz_01krdgeqcxet5s7t44vh8rt9mg', match_kind='intent', match_intent_id='support', queue='support', precedence=0, is_default=False, match_group_id=None)
print(result)result, err := client.Amb.RoutingRules.Create(ctx, bird.AmbRoutingRulesCreateParams{BusinessAccountID: "abz_01krdgeqcxet5s7t44vh8rt9mg", MatchKind: "intent", MatchIntentID: bird.Value("support"), Queue: "support", Precedence: bird.Ptr(0), IsDefault: bird.Ptr(false), MatchGroupID: bird.Null[string]()})
if err != nil {
log.Fatal(err)
}
fmt.Println(result)$bird->amb->routingRules->create((new Model\AMBRoutingRuleCreate())->setBusinessAccountId('abz_01krdgeqcxet5s7t44vh8rt9mg')->setMatchKind('intent')->setMatchIntentId('support')->setQueue('support')->setPrecedence(0)->setIsDefault(false)->setMatchGroupId(null));bird amb routing-rules create \
--business-account-id abz_01krdgeqcxet5s7t44vh8rt9mg \
--is-default=false \
--match-intent-id order_status \
--match-kind intent \
--precedence 10 \
--queue billingcurl -X POST "https://us1.platform.bird.com/v1/amb/routing-rules" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"business_account_id": "abz_01krdgeqcxet5s7t44vh8rt9mg",
"match_kind": "intent",
"match_intent_id": "order_status",
"queue": "billing",
"precedence": 10,
"is_default": false
}'{
"created_at": "2026-05-20T09:14:52Z",
"updated_at": "2026-05-25T16:42:01Z",
"id": "arr_01krdgeqcxet5s7t44vh8rt9mg",
"business_account_id": "abz_01krdgeqcxet5s7t44vh8rt9mg",
"match_kind": "intent",
"match_intent_id": "order_status",
"match_group_id": "support",
"queue": "billing",
"precedence": 10,
"is_default": false
}
Creates a routing rule for one of your Apple Messages for Business brands. Set is_default to make it the rule that catches a conversation matching nothing else. A business can have only one default rule, and creating a second while one exists returns a 409.
请求载荷
business_account_idThe Apple Messages for Business brand this rule belongs to.
match_kindWhat a routing rule matches against the entry point that started the conversation.
intentmatches on the entry point's intent alone:match_intent_idis set andmatch_group_idis null.groupmatches on the entry point's group alone:match_group_idis set andmatch_intent_idis null.bothmatches only when the entry point carries the given intent and the given group together, somatch_intent_idandmatch_group_idare both set. There are two match fields rather than one becausebothneeds to carry an intent and a group at once.
Value: intent
match_intent_idThe entry point intent to match, as sent in Apple's intentID. Required when match_kind is intent or both, and rejected when it is group.
queueThe queue a matching conversation is filed into. Your console lists whichever values your rules use.
precedenceEvaluation order among this business's rules. The highest-precedence rule a conversation matches wins. Omit it to default to 0.
is_defaultSet to make this the rule that catches a conversation matching nothing else. A business can have only one; creating a second while one exists returns a 409.
business_account_idThe Apple Messages for Business brand this rule belongs to.
match_kindWhat a routing rule matches against the entry point that started the conversation.
intentmatches on the entry point's intent alone:match_intent_idis set andmatch_group_idis null.groupmatches on the entry point's group alone:match_group_idis set andmatch_intent_idis null.bothmatches only when the entry point carries the given intent and the given group together, somatch_intent_idandmatch_group_idare both set. There are two match fields rather than one becausebothneeds to carry an intent and a group at once.
Value: group
match_group_idThe entry point group to match, as sent in Apple's groupID. Required when match_kind is group or both, and rejected when it is intent.
queueThe queue a matching conversation is filed into. Your console lists whichever values your rules use.
precedenceEvaluation order among this business's rules. The highest-precedence rule a conversation matches wins. Omit it to default to 0.
is_defaultSet to make this the rule that catches a conversation matching nothing else. A business can have only one; creating a second while one exists returns a 409.
business_account_idThe Apple Messages for Business brand this rule belongs to.
match_kindWhat a routing rule matches against the entry point that started the conversation.
intentmatches on the entry point's intent alone:match_intent_idis set andmatch_group_idis null.groupmatches on the entry point's group alone:match_group_idis set andmatch_intent_idis null.bothmatches only when the entry point carries the given intent and the given group together, somatch_intent_idandmatch_group_idare both set. There are two match fields rather than one becausebothneeds to carry an intent and a group at once.
Value: both
match_intent_idThe entry point intent to match, as sent in Apple's intentID. Required when match_kind is intent or both, and rejected when it is group.
match_group_idThe entry point group to match, as sent in Apple's groupID. Required when match_kind is group or both, and rejected when it is intent.
queueThe queue a matching conversation is filed into. Your console lists whichever values your rules use.
precedenceEvaluation order among this business's rules. The highest-precedence rule a conversation matches wins. Omit it to default to 0.
is_defaultSet to make this the rule that catches a conversation matching nothing else. A business can have only one; creating a second while one exists returns a 409.
响应载荷
created_atupdated_atidUnique identifier for the routing rule.
business_account_idThe Apple Messages for Business brand this rule belongs to.
match_kindWhat a routing rule matches against the entry point that started the conversation.
intentmatches on the entry point's intent alone:match_intent_idis set andmatch_group_idis null.groupmatches on the entry point's group alone:match_group_idis set andmatch_intent_idis null.bothmatches only when the entry point carries the given intent and the given group together, somatch_intent_idandmatch_group_idare both set. There are two match fields rather than one becausebothneeds to carry an intent and a group at once.
Possible values: intent, group, both
match_intent_idThe entry point intent this rule matches, as sent in Apple's intentID. Set when match_kind is intent or both, null when it is group.
match_group_idThe entry point group this rule matches, as sent in Apple's groupID. Set when match_kind is group or both, null when it is intent.
queueThe queue a matching conversation is filed into. A queue is a label your console filters by rather than a resource you create ahead of time, so any value routes.
precedenceEvaluation order among this business's rules. The highest-precedence rule a conversation matches wins; rules tied on precedence are evaluated by their id.
is_defaultWhether this rule catches a conversation that matches nothing else. A business has at most one. A conversation created or reopened while none exists routes to an empty queue, which the console lists as unrouted.