# Regiões comuns

As restrições regionais de vendas permitem gerenciar a disponibilidade de itens em países ou grupos de países específicos. Por exemplo, você pode vender um jogo apenas em determinados países devido a restrições de licenciamento.

As restrições são configuradas utilizando regiões. Cada região agrupa um ou mais países sob um único identificador `region_id`. Você pode vincular um item a uma ou mais regiões.

A disponibilidade de itens é determinada conforme segue:

* Se nenhuma região for especificada para o item, ele estará disponível para compra em todos os países.
* Se regiões forem especificadas para o item e o país do usuário estiver incluído em uma delas, o item estará disponível para esse usuário.
* Se regiões forem especificadas para o item e o país do usuário não estiver incluído em nenhuma delas, o item não estará disponível para esse usuário.

O país do usuário é informado no parâmetro `country` ao solicitar o catálogo por meio de chamadas de API na subseção **Catalog**. Se o parâmetro não for informado, o país será determinado com base no endereço IP do usuário.

A compatibilidade entre o país do usuário e as regiões do item é verificada em dois momentos: na solicitação do catálogo e na criação do pedido. Itens indisponíveis não são incluídos na resposta do catálogo, e pedidos contendo tais itens não serão criados.

Utilize chamadas de API do grupo **Common regions** para criar, atualizar e excluir regiões.

Fluxo de configuração de restrições regionais de venda:

1. Crie uma região usando a chamada de API [Criar região](https://developers.xsolla.com/pt/api/catalog/common-regions/admin-create-region/), especificando a lista de países. A resposta retorna um `region_id` que é necessário na etapa seguinte.
2. Associe um item virtual à região informando o `region_id` correspondente na matriz `regions` ao [criar](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-item/) ou [atualizar](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-admin/admin-update-virtual-item/) o item.
3. Exiba o catálogo para o usuário utilizando chamadas de API da subseção **Catalog**, como, por exemplo, a chamada [Obter lista de itens virtuais](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items). O país do usuário é determinado pelo parâmetro `country` ou, caso este não seja fornecido, com base no endereço IP do usuário. Itens indisponíveis no país do usuário não são incluídos na resposta do catálogo.
4. Quando o usuário prosseguir para pagar um item ou o carrinho, crie um pedido:
    * Se o item tiver sido adicionado ao carrinho — utilizando a chamada de API [Criar pedido com todos os itens de um carrinho específico](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order) ou [Criar pedido com todos os itens do carrinho atual](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order).
   * Para uma compra rápida de um único item — utilizando a chamada de API [Criar pedido com item específico](https://developers.xsolla.com/pt/api/catalog/payment-client-side/create-order-with-item) e passando o SKU do item.

  A resposta contém um token para abrir a interface de pagamento.

<div class="note">
  <b>Observação</b><br><br>
A Xsolla verifica se o país do usuário foi incluído na região especificada do item. Se o país não tiver sido incluído na região do item, o pedido não poderá ser criado.
</div>

<br>

5. Implemente a abertura da interface de pagamento para efetuar o pagamento do pedido.

![Regiões comuns](https://cdn.xsolla.net/developers/current/images/api_docs/api-regions.svg)

