Sign inGet Started

Create an Apple Messages for Business routing rule

POST
/v1/amb/routing-rules
const 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);
Réponse201
{
  "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.

Corps de la requête

business_account_id
string
obligatoire

The Apple Messages for Business brand this rule belongs to.

match_kind
string
obligatoire

What a routing rule matches against the entry point that started the conversation.

  • intent matches on the entry point's intent alone: match_intent_id is set and match_group_id is null.
  • group matches on the entry point's group alone: match_group_id is set and match_intent_id is null.
  • both matches only when the entry point carries the given intent and the given group together, so match_intent_id and match_group_id are both set. There are two match fields rather than one because both needs to carry an intent and a group at once.

Value: intent

match_intent_id
string
obligatoire

The 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.

queue
string
obligatoire

The queue a matching conversation is filed into. Your console lists whichever values your rules use.

precedence
integer

Evaluation order among this business's rules. The highest-precedence rule a conversation matches wins. Omit it to default to 0.

is_default
boolean

Set 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.

Contenu de la réponse

created_at
string
obligatoire
updated_at
string
obligatoire
id
string
obligatoire

Unique identifier for the routing rule.

business_account_id
string
obligatoire

The Apple Messages for Business brand this rule belongs to.

match_kind
string
obligatoire

What a routing rule matches against the entry point that started the conversation.

  • intent matches on the entry point's intent alone: match_intent_id is set and match_group_id is null.
  • group matches on the entry point's group alone: match_group_id is set and match_intent_id is null.
  • both matches only when the entry point carries the given intent and the given group together, so match_intent_id and match_group_id are both set. There are two match fields rather than one because both needs to carry an intent and a group at once.

Possible values: intent, group, both

match_intent_id
nullable string

The 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_id
nullable string

The 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.

queue
string
obligatoire

The 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.

precedence
integer
obligatoire

Evaluation order among this business's rules. The highest-precedence rule a conversation matches wins; rules tied on precedence are evaluated by their id.

is_default
boolean
obligatoire

Whether 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.

Poursuivez avec la documentation, les guides et les exemples sur ce sujet.