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

# App KYC para Shopify - Verificação de identidade e idade

> App Shopify da Didit para verificação de identidade, idade e KYC no checkout. A partir de $0.33 por KYC completo, $10 grátis/mês, sem contratos.

Adicione a verificação de identidade da Didit e o controlo de idade à sua loja Shopify em poucos minutos.

A aplicação **Didit Verify** para Shopify instala um bloco de tema que pode colocar em qualquer página (conta, checkout, páginas de destino personalizadas) e cria sessões de verificação do lado do servidor. A sua chave de API fica dentro da aplicação incorporada e nunca é exposta à loja online.
Os resultados da verificação aparecem diretamente no separador **Verificações** do painel de administração da Shopify, sem necessidade de um backend separado. Também ficam disponíveis através de [webhooks](https://docs.didit.me/pt/integration/webhooks.md) e da [API da Didit](https://docs.didit.me/pt/sessions-api/retrieve-session.md), para comerciantes que gerem o seu próprio backend.
Não precisa de iniciar sessão na Didit Business Console para aceder aos dados de verificação recolhidos através da Shopify.

## Pré-requisitos

* Uma loja Shopify (qualquer plano)
* Uma conta na [Didit Console](https://business.didit.me) com pelo menos um fluxo

***

### Passo 1: Instalar a aplicação

1. Abra a ligação de instalação:

   [[https://admin.shopify.com/oauth/install?client\_id=cafa0d15227fb59bd47470b23eae7469](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)](https://admin.shopify.com/oauth/install?client_id=cafa0d15227fb59bd47470b23eae7469)

2. Selecione a sua loja (se tiver várias lojas)

3. Clique em **Instalar** para adicionar a aplicação à sua loja

> [!NOTE]
>
> A aplicação pede um único âmbito de permissão, `read_customers`, usado para pré-preencher e verificar os dados apenas quando **Permitir o pré-preenchimento aprovado pelo cliente** está ativado e o cliente com sessão iniciada seleciona a caixa de partilha opcional.

***

### Passo 2: Configurar as suas credenciais da Didit

Depois da instalação, a Didit Verify abre no painel de administração da Shopify.
Use **Definições** para ligar a aplicação à sua conta da Didit.

#### Obter a sua chave de API

1. Inicie sessão na [Didit Business Console](https://business.didit.me)
2. Aceda a **API e Webhooks** na barra lateral esquerda
3. Copie a sua chave de API

![Como obter a chave de API na Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-api-key.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=9027ca685cc296a400e78d320a566453)

4. Cole a chave de API no campo **Chave de API da Didit** nas preferências da Shopify

#### Obter o seu ID do fluxo

1. Na Didit Business Console, aceda a **Fluxos de trabalho**
2. Selecione o fluxo que pretende usar (ou crie um novo)
3. Copie o **ID do fluxo** (um UUID como `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![Como obter o ID do fluxo na Didit Business Console](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-workflow-id.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=529dc681169efc0a6cdc96d6c0e0a605)

4. Cole o ID do fluxo no campo **ID do fluxo da Didit**

#### Guardar as definições

Escolha um período de retenção em **Conservação de dados** antes de guardar.
O período aplica-se às verificações existentes e futuras da loja, por isso escolha a duração adequada à sua loja.
Clique em **Guardar definições**.
Deverá ver uma mensagem de sucesso:

![Definições da Shopify guardadas com sucesso](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-settings-saved-successfuly.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=93dcf3469f902876ae831075da75a628)

***

### Passo 3: Adicionar o botão de verificação ao seu tema

1. No painel de administração da Shopify, aceda a **Loja online** → **Temas**
2. Clique em **Personalizar** no seu tema ativo
3. Navegue até à página onde pretende o botão de verificação (por exemplo, a página da conta ou uma página personalizada)
4. Clique em **Adicionar secção** ou **Adicionar bloco**
5. Aceda ao separador **Aplicações**
6. Selecione **Didit Verify**

O botão de verificação aparecerá no seu tema. Pode arrastá-lo para o reposicionar dentro da secção.

***

## Aceder aos dados de verificação

A revisão de aplicações da Shopify (requisito 5.1.5) exige que os dados recolhidos através de um fluxo alojado pela Shopify sejam acessíveis ao comerciante **no contexto da administração ou da aplicação da Shopify** - e não apenas num painel externo.
A aplicação Didit Verify cumpre este requisito por omissão: não é necessário nenhum backend, recetor de webhooks nem interface personalizada.

### O separador Verificações (predefinido, sem código)

Abra **Aplicações** → **Didit Verify** → **Verificações** na administração da Shopify para ver todas as sessões de verificação recolhidas através da sua loja online - estado, cliente, país e data e hora - limitadas à sua loja.
Selecione uma sessão para ver o resumo da decisão, os campos de identidade, as verificações individuais, os avisos e as provas disponíveis.
Pode navegar entre **Definições**, **Verificações**, **Privacidade** e **Revisão humana** sem sair da administração da Shopify.
Guardar as definições mantém estes separadores disponíveis.

> [!NOTE]
>
> O separador Verificações só carrega dados quando abre a aplicação a partir da administração da Shopify. Se vir uma mensagem a pedir que reabra a página, volte a **Aplicações** → **Didit Verify** na barra lateral da administração da Shopify.

A Didit Business Console (`business.didit.me`) é uma interface de administração separada, destinada à configuração (chaves de API, fluxos, destinos de webhook).
Não indique aos comerciantes que a utilizem para ver dados de verificação recolhidos através da Shopify - isso não cumpre o requisito de acesso a dados da Shopify.
A Console só é necessária para a configuração inicial e para obter credenciais.

### Para comerciantes com backend próprio (opcional)

Se tiver o seu próprio backend e quiser uma cópia dos dados de verificação nesse backend - por exemplo, para acionar a lógica de processamento de encomendas -, a Didit também entrega os resultados através de webhook e de API a pedido, para além do separador Verificações acima.

**1. Sessão de verificação criada**

A aplicação Shopify cria uma sessão no servidor com a sua chave de API da Didit. O cliente conclui o fluxo de verificação no bloco do tema (modal ou incorporado).

**2. Resultado entregue através de webhook**

Quando a sessão atinge um estado final, a Didit envia um webhook `status.updated` assinado para o destino que configurou na Didit Business Console, em **API e Webhooks**.
O corpo do webhook inclui o [objeto de decisão](https://docs.didit.me/pt/integration/webhooks.md#estrutura-do-payload) completo - o mesmo esquema devolvido por `GET /v3/session/{id}/decision/` - para os estados `Approved`, `Declined`, `In Review` e `Abandoned`.
Outros estados finais (por exemplo, `Expired`, `Kyc Expired`) entregam a alteração de estado sem payload de decisão; chame a API para consultar o estado da sessão.

**3. Obter a pedido (opcional)**

O seu backend também pode chamar [`GET /v3/session/{sessionId}/decision/`](https://docs.didit.me/pt/sessions-api/retrieve-session) em qualquer altura para obter o payload completo da decisão (campos de identidade, prova de vida, AML, correspondência facial, etc.).

#### Configurar webhooks para a Shopify

1. Na [Didit Business Console](https://business.didit.me), aceda a **API e Webhooks** → **Webhooks**
2. Crie um destino de webhook que aponte para o endpoint do seu backend (HTTPS, acessível publicamente)
3. Subscreva pelo menos os eventos `status.updated` e `data.updated`
4. Guarde o `secret_shared_key` devolvido para verificar as assinaturas HMAC-SHA256 nos webhooks recebidos

Consulte o [guia de Webhooks](https://docs.didit.me/pt/integration/webhooks.md) para o contrato completo, exemplos de verificação da assinatura em Node.js/Python/PHP e o comportamento de novas tentativas.

#### Obter a decisão de uma sessão através da API

```bash theme={null}
curl https://verification.didit.me/v3/session/<SESSION_ID>/decision/ \
  -H "x-api-key: <YOUR_API_KEY>"
```

A resposta inclui `session_kind`, `status` e todos os arrays de funcionalidades (`id_verifications`, `liveness_checks`, `face_matches`, `aml_screenings`, etc.). Consulte [Obter sessão](https://docs.didit.me/pt/sessions-api/retrieve-session.md) para o esquema completo da resposta e a referência dos campos.

***

## Opções de configuração

### Definições da página de preferências

Estas definições são configuradas nas preferências da aplicação (acessíveis em **Aplicações** → **Didit Verify** na administração da Shopify):

| Definição | Descrição |
| - | - |
| **Chave de API** | A sua chave de API da Didit (obrigatória) |
| **ID do fluxo** | O fluxo a utilizar (obrigatório) |
| **Dados do fornecedor** | Como as sessões são associadas a utilizadores na sua Didit Console: **ID do cliente** (enviado como `shopify-<customer-id>`), **E-mail do cliente**, **Loja + ID do cliente** (enviado como `<shop-domain>-<customer-id>`) ou **Nenhum**. Só se aplica quando o cliente tem sessão iniciada. |
| **URL de retorno** | Opcional. URL para onde os utilizadores são redirecionados após a verificação. A Didit acrescenta `verificationSessionId` e `status` como parâmetros de consulta. |
| **Método de retorno** | Dispositivo que trata do redirecionamento: **Predefinido (iniciador)**, **Iniciador**, **Concluinte** ou **Ambos** |
| **Idioma** | Idioma da interface de verificação (deteção automática ou um idioma específico) |
| **Exigir início de sessão do cliente** | Se ativada, só os clientes com sessão iniciada podem verificar-se |
| **Permitir pré-preenchimento aprovado pelo cliente** | Oferece uma caixa de seleção opcional para partilhar o nome, o e-mail, o telefone e a morada do cliente com sessão iniciada, para pré-preenchimento e verificações de identidade. Os dados só são enviados quando o cliente seleciona a opção. |
| **Eliminar automaticamente após (dias)** | Escolha durante quanto tempo a loja precisa dos registos de verificação. O período selecionado aplica-se aos registos existentes e futuros desta loja. A eliminação é irreversível. |

### Opções de privacidade do cliente

O bloco da loja online oferece uma caixa de seleção opcional para partilhar os dados da conta para pré-preenchimento e verificações de identidade.
Se a deixar desmarcada, o cliente pode introduzir os dados por si próprio.

Em **Opções de verificação**, um cliente com sessão iniciada pode pedir revisão humana ou retirar o consentimento e pedir a eliminação dos seus dados de verificação.
A revisão humana suspende a verificação automática e acrescenta um pedido em **Aplicações → Didit Verify → Revisão humana**.
Contacte o cliente e acorde uma alternativa adequada antes de concluir esse pedido.
Concluir um pedido de revisão humana não aprova uma verificação nem uma compra.

A revogação do consentimento interrompe de imediato a ligação de verificação existente e impede novas verificações enquanto a eliminação estiver em curso.
A loja confirma a receção do pedido; não indica que a eliminação já tenha terminado.

## Cumprir pedidos de privacidade

Abra **Aplicações → Didit Verify → Privacidade** para acompanhar as exportações e os pedidos de eliminação de clientes recebidos do Shopify ou da loja online.

* **Exportação de cliente:** Descarregue o ZIP preparado, disponibilize-o através do seu processo seguro de apoio ao cliente e, em seguida, selecione **I have delivered this export**.
* **Eliminação de cliente:** O pedido mantém-se em curso até que os registos de verificação do cliente associados à loja, os ficheiros carregados e os pedidos de revisão manual do cliente associados à loja tenham sido eliminados.
* **Requer atenção:** Siga as instruções do pedido para resolver um ID de cliente em falta ou contacte o suporte da Didit quando um perfil incluir dados de outra loja ou finalidade.

As exportações contêm os registos de verificação, os ficheiros carregados e os pedidos de revisão manual associados à loja e ao cliente que fez o pedido.
Os descarregamentos temporários expiram ao fim de sete dias; utilize **Retry after resolving** para preparar um novo descarregamento, se necessário.
Uma exportação descarregada deve ser tratada de acordo com os seus próprios procedimentos de apoio ao cliente e de proteção de dados.

Defina o período de conservação em **Settings → Data retention**.
Os dados de verificação mais antigos são eliminados automaticamente; as verificações mais recentes continuam disponíveis.
A conservação definida ao nível da aplicação continua a aplicar-se quando não tiver sido selecionado um período específico para a loja.
Consulte **Privacidade** para qualquer pedido de conservação que requeira atenção.

Depois de um pedido de eliminação apresentar **Eliminado**, a eliminação é irreversível e os ficheiros multimédia eliminados deixam de estar disponíveis.
Os créditos consumidos e as entradas da lista de bloqueio geridas separadamente não são afetados.

## Definições do bloco de tema

Estas definições são configuradas no editor de temas do Shopify quando seleciona o bloco Didit Verify:

#### Ligação

| Definição | Descrição |
| - | - |
| **Mode** | **App workflow** (recomendado) utiliza o fluxo guardado nas definições da aplicação. **UniLink workflow** utiliza uma ligação pública para um fluxo da conta Didit ligada. Ambos os modos criam sessões associadas à loja, com resultados disponíveis na aplicação. |
| **UniLink URL** | Utilizado apenas no modo UniLink. Utilize uma ligação ativa da conta Didit ligada nas definições da aplicação. Os clientes têm de iniciar sessão na respetiva conta da loja. |

#### Apresentação

| Definição | Descrição |
| - | - |
| **Display Mode** | **Modal** - abre a verificação numa janela sobreposta. **Embedded** - mostra a verificação integrada, por baixo do botão. |
| **Show close button** | Mostra/oculta o botão X para fechar a janela modal de verificação |
| **Exit confirmation dialog** | Pede aos utilizadores que confirmem antes de fecharem a verificação |
| **Auto-close on completion** | Fecha automaticamente a janela modal quando a verificação estiver concluída |
| **Debug logging** | Ativa os registos da consola do navegador para resolução de problemas |

#### Aspeto do botão

| Definição | Descrição |
| - | - |
| **Button text** | Texto apresentado no botão (predefinido: "Verifique a sua identidade") |
| **Success text** | Texto apresentado após uma verificação bem-sucedida (predefinido: "Identidade verificada ✓") |
| **Background color** | Cor de fundo do botão |
| **Text color** | Cor do texto do botão |
| **Border radius** | Arredondamento dos cantos do botão (0–50px) |
| **Vertical padding** | Preenchimento superior/inferior (0–40px) |
| **Horizontal padding** | Preenchimento esquerdo/direito (0–60px) |
| **Font size** | Tamanho do texto do botão (10–32px) |

***

## Configuração recomendada

Para a maioria das lojas, recomendamos:

* **Mode:** App workflow (utiliza o fluxo guardado nas definições da aplicação)
* **Display Mode:** Modal (funciona em qualquer lugar, sem problemas de layout)
* **Require Customer Login:** Ativado (associa a verificação às contas dos clientes)
* **Allow customer-approved prefill:** Ativado (os clientes escolhem se partilham os dados da respetiva loja)

***

## Testes

1. Pré-visualize o seu tema ou visite a sua loja
2. Navegue até à página com o botão Didit Verify
3. Clique em **Verifique a sua identidade**
4. Conclua o fluxo de verificação
5. Verifique no seu back-end a entrega do webhook ou chame [GET /v3/session/{id}/decision/](https://docs.didit.me/pt/sessions-api/retrieve-session.md) para obter o resultado da verificação

> [!NOTE]
>
> O sandbox é gratuito (cada aplicação sandbox pode criar 500 sessões de teste a cada 24 horas), por isso pode testar o fluxo completo sem custos. No modo de produção, o plano gratuito inclui \$10 de crédito por mês.

***

## Resolução de problemas

### O botão não faz nada quando é clicado

* Certifique-se de que guardou a chave de API e o ID do fluxo nas preferências
* Verifique se o ID do fluxo pertence à mesma aplicação que a sua chave de API
* Ative **Debug logging** nas definições do bloco e consulte a consola do navegador para ver eventuais erros

### Erro "Didit credentials not configured"

* A aplicação não tem uma chave de API ou um ID de fluxo guardados para esta loja. Abra **Aplicações** → **Didit Verify**, preencha os dois campos e clique em **Save Settings**

### Tem de iniciar sessão para verificar a sua identidade

* **Require Customer Login** está ativado (predefinição). O cliente tem de iniciar primeiro sessão na respetiva conta da loja, ou desative a definição nas preferências da aplicação se precisar de verificação para visitantes

### As definições não são guardadas

* "API key validation failed" - copie novamente a chave de API a partir da [Didit Business Console](https://business.didit.me) e certifique-se de que não tem espaços a mais
* "This workflow does not belong to your application" - o ID do fluxo pertence a uma aplicação Didit diferente da sua chave de API; copie ambos a partir da mesma aplicação

## Suporte (24/7)

A nossa equipa está disponível para o ajudar a começar.

> [card] [E-mail](mailto:hello@didit.me)
>
> Envie-nos um e-mail para [hello@didit.me](mailto:hello@didit.me).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.