> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Início rápido de Python

> Instale o SDK de Python 3 do PlayFab e faça sua primeira chamada à API do PlayFab a partir de um script Python nativo para ferramentas de administração ou integração com mecanismos de jogo.

Este início rápido foi criado para ajudar você a fazer sua primeira chamada à API em Python 3.

Um projeto Python nativo pode ser usado de algumas maneiras:

* Como uma ferramenta de administração de console autônoma para manter seu jogo.
* Integrado a um mecanismo de jogo existente baseado em Python.
  * Para obter uma lista de mecanismos de jogo em Python, consulte [PythonGameLibraries](https://wiki.python.org/moin/PythonGameLibraries) no site python.org.

## Pré-requisitos

* Uma [conta de desenvolvedor do PlayFab](https://developer.playfab.com).
* [Python 3](https://www.python.org/downloads/) instalado no seu sistema.
  * Você também precisa ter o módulo requests instalado.

<Note>
  Esta versão beta do SDK de Python oferece suporte apenas a chamadas à API síncronas, e o loop do seu jogo pode ficar bloqueado durante as chamadas à API do PlayFab. Talvez seja necessário criar seu próprio modelo assíncrono/de threads para evitar esse problema.
</Note>

Se você estiver com dificuldades para depurar um problema e as informações do erro não forem suficientes, visite-nos nos [fóruns do PlayFab](https://community.playfab.com/index.html).

## Configuração do projeto Python

1. Em um prompt de comando, instale o [pacote do PlayFab](https://pypi.org/project/playfab/) usando o comando a seguir.

```cmd theme={null}
pip install playfab
```

Se o `pip` não estiver no seu path, use o comando a seguir.

```cmd theme={null}
python -m pip install playfab
```

2. No diretório do projeto, crie um script Python chamado playfab\_test.py.

## Configurar sua primeira chamada à API

Este início rápido fornece as etapas mínimas para fazer sua primeira chamada à API do PlayFab, sem nenhuma GUI ou feedback na tela. A confirmação é feita com uma instrução de impressão no console.

Substitua o conteúdo do arquivo playfab\_test.py pelo conteúdo mostrado abaixo.

```python theme={null}
from playfab import PlayFabClientAPI, PlayFabSettings

PlayFabSettings.TitleId = "144"

request = {
    "CustomId": "GettingStartedGuide",
    "CreateAccount": True
}

def callback(success, failure):
    if success:
        print("Congratulations, you made your first successful API call!")
    else:
        print("Something went wrong with your first API call.  :(")
        if failure:
            print("Here's some debug information:")
            print(failure.GenerateErrorReport())
PlayFabClientAPI.LoginWithCustomID(request, callback)
```

## Concluir e executar

Execute o script Python usando o comando mostrado abaixo.

```cmd theme={null}
python playfab_test.py
```

Quando ele terminar, você verá o seguinte texto: "Congratulations, you made your first successful API call!"

Neste ponto, você pode começar a fazer outras chamadas à API e a criar seu jogo. Para obter uma lista de todas as chamadas disponíveis da API de cliente, consulte nossa documentação de [Referências de API do PlayFab](/pt-BR/services/playfab/api-references).

Boa programação!

## Desconstruir o código

Esta última seção opcional descreve em detalhes cada parte de playfab\_test.py.

* Importações
  * As importações do PlayFab dão acesso às APIs.

* `PlayFabSettings.TitleId = "144"`
  * Todo desenvolvedor do PlayFab cria um título no Game Manager. Ao publicar seu jogo, você precisa codificar esse titleId no jogo. Isso permite que o cliente saiba como acessar os dados corretos no PlayFab. Para a maioria dos usuários, basta considerar isso uma etapa obrigatória para que o PlayFab funcione.

* request
  * A maioria dos métodos da API do PlayFab exige parâmetros de entrada, e esses parâmetros são empacotados em um objeto de dicionário.
    * `LoginWithCustomIDRequest` recebe um parâmetro obrigatório `CustomId`, que identifica um jogador de forma exclusiva e retorna o token de entidade associado, e `CreateAccount`, que permite a criação de uma nova conta com essa chamada.
    * Para o logon, a maioria dos desenvolvedores vai querer usar um método de logon mais adequado.
      * Consulte a [documentação de logon do PlayFab](xref:titleid.playfabapi.com.client.authentication) para obter uma lista de todos os métodos de logon e parâmetros de entrada. As opções comuns são:
        * [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
        * [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
        * [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

* Callback
  * Success
    * Se a chamada à API tiver sido bem-sucedida, success conterá as informações solicitadas e failure será `None`.
    * Para requisições de logon, success conterá informações básicas sobre o jogador, mas, para a maioria dos usuários, o logon é simplesmente uma etapa obrigatória antes de chamar outras APIs.

  * Failure
    * Se a chamada à API não tiver sido bem-sucedida, failure conterá algumas informações de erro e success será `None`.
    * As chamadas à API podem falhar por vários motivos, e você deve sempre tentar tratar a falha.
    * Por que as chamadas à API falham (em ordem de probabilidade)
      * `PlayFabSettings.TitleId` não está definido. Se você se esquecer de definir `titleId` para o seu título, nada funcionará.
      * Parâmetros da requisição. Se você não tiver fornecido as informações corretas ou obrigatórias para uma determinada chamada à API, ela falhará.
      * Problema de conectividade do dispositivo. Celulares perdem e recuperam a conectividade constantemente, portanto qualquer chamada à API pode falhar aleatoriamente a qualquer momento e funcionar logo em seguida. Entrar em um túnel pode desconectar você completamente.
      * Problema no servidor do PlayFab. Como em qualquer software, podem ocorrer problemas. Consulte nossas [notas de versão](/pt-BR/services/playfab/release-notes) para obter atualizações.
      * A internet não é 100% confiável. Às vezes, a mensagem é corrompida ou não chega ao servidor do PlayFab.

* `PlayFabClientAPI.LoginWithCustomID`
  * Dispara a chamada à API de forma síncrona. Quando ela for concluída, o callback será invocado.


## Related topics

- [Linguagens compatíveis com o PlayFab](/pt-BR/services/playfab/sdks/languages/index.md)
- [Início rápido de matchmaking](/pt-BR/services/playfab/multiplayer/matchmaking/quickstart.md)
- [Início rápido de estatísticas](/pt-BR/services/playfab/player-progression/statistics/quickstart-statistics.md)
- [Início rápido de trocas](/pt-BR/services/playfab/economy-monetization/economy/trading/trading-quickstart.md)
- [Início rápido de métricas](/pt-BR/services/playfab/data-analytics/learn-data/trends/trends-quickstart.md)
