> For the complete documentation index, see [llms.txt](https://hostmgr.gitbook.io/desenvolvedores/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hostmgr.gitbook.io/desenvolvedores/modulos-de-integracao/webhooks/criando-uma-hook.md).

# Criando uma Hook

As hooks devem ser criadas dentro do diretório **/modulos/hooks**

Para criar uma hook, siga o processo abaixo:

## Criando o Arquivo de Hook

Crie um arquivo chamado testeHook.php dentro do diretório /modulos/hooks

```sh
touch ~/modulos/hooks/testeHook.php
```

## Função da Hook

Crie uma função para seu arquivo de hook. Utilize um nome relacionado à sua hook para se certificar de que não há um conflito de funções.

Todo seu código deve ser inserido dentro da função a ser criada pois a hook executará apenas a função criada.

Sua função deve ainda receber uma variável de parâmetro que você pode nomear como desejar. Essa variável receberá um array com os parâmetros do gatilho.

```php
function hook_nome_da_minha_funcao($parametros){

    global $banco, $config; //manipulador da base de dados a configurações do sistema
    
    print_r($parametros)

}
```

## Adicionando a Hook

Para que sua hook seja executada ela precisa ser adicionada ao controle do sistema, isso é feito utilizando a função adicionarHook(gatilho, sua\_hook, Prioridade);

Exemplo de como chamar a função ao final do seu arquivo

```php
adicionarHook('adicionarPagamento', 'hook_nome_da_minha_funcao', 3);
```

## Prioridade

O parametro prioridade é responsável por definir a ordem com que cada função/hook será executada dentro do mesmo gatilho. Funções com valor de prioridade mais alto são executadas primeiro, ou seja, quanto maior o numero, maior a prioridade. O parâmetro é de preenchimento facultativo, você pode informar 0 ou não informá-lo.

```php
adicionarHook('adicionarPagamento', 'hook_nome_da_minha_funcao');
```
