<html lang="pt-br" dir="ltr"><head></head><body># API de Licenciamento de Software - Exemplo usando cURL

Este documento é um subconjunto do [documento da API de Licenciamento de Software](https://easydigitaldownloads.com/docs/software-licensing-api/) que lista todos os recursos disponíveis via API. As informações a seguir mostram como implementar esses recursos com cURL.

[cURL](https://curl.haxx.se/) é uma ferramenta de linha de comando e biblioteca de código aberto para transferência de dados com sintaxe de URL. O cURL vem instalado em versões modernas do Mac OS X e, por padrão, na maioria das distribuições Linux. Você pode testar simplesmente digitando

```
curl
```

na linha de comando e pressionando Enter. Se o cURL estiver instalado, você verá uma mensagem semelhante a esta:

```
curl: try 'curl --help' or 'curl --manual' for more information
```

Para pedir ao cURL para fazer uma requisição HTTP para você, diga a ele suas variáveis e a URL para a qual você gostaria de enviá-la, assim:

```
curl&lt;br&gt;&lt;/br&gt;-d edd_action=check_license &lt;br&gt;&lt;/br&gt;-d item_id=123 &lt;br&gt;&lt;/br&gt;-d license=cc22c1ec86304b36883440e2e84cddff &lt;br&gt;&lt;/br&gt;-d url=https://licensedsite.com &lt;br&gt;&lt;/br&gt;https://YOURSITE.com/&lt;br&gt;&lt;/br&gt;
```

No exemplo acima, prefixamos cada variável com -d para que o conteúdo seja codificado em URL. Uma resposta para a consulta acima seria uma string formatada em JSON que se pareceria com isto:

```
{
	"license": "valid",
	"item_name": "Nome do Produto EDD",
	"expires": "2014-10-23 00:00:00",
	"payment_id": 54224,
	"customer_name": "John Doe",
	"customer_email": "john@sample.com"
}
```

### Flags

cURL aceita muitas flags para alterar seu comportamento. Um tutorial completo de cURL está fora do escopo deste documento, mas dê uma olhada nestas flags que podem lhe interessar:

- -u, --user USER\[:PASSWORD\] Usuário e senha do servidor
- -A, --user-agent STRING Envia STRING User-Agent para o servidor (H)
- -d, --data DATA Dados POST HTTP (H)
- -s, --silent Modo silencioso (não exibe nada)
- -o, --output FILE Escreve para FILE em vez de stdout
- -k, --insecure Permite conexões a sites SSL sem certificados (H)
- -K, --config FILE Lê a configuração de FILE

### Scripting bash

bash é um shell Unix comum e permite a automação de ações. O seguinte é um script bash simples que solicitará várias coisas e, em seguida, executará a requisição cURL e exibirá a saída na tela.

```
#!/bin/bash&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;# Este script aceita argumentos para acessar a API REST do Easy Digital Downloads&lt;br&gt;&lt;/br&gt;# Software Licensing, então executa o cURL para obter os resultados.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;read -p "ID do Item: " item_id;&lt;br&gt;&lt;/br&gt;read -p "Ação EDD: " edd_action;&lt;br&gt;&lt;/br&gt;read -p "Licença: " license;&lt;br&gt;&lt;/br&gt;read -p "URL: " url;&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;exec curl --data-urlencode "item_id=$item_id" --data-urlencode "edd_action=$edd_action" --data-urlencode "license=$license" --data-urlencode "url=$url" https://YOURSITE.com/;&lt;br&gt;&lt;/br&gt;
```

O exemplo acima poderia ser alterado para fazer mais perguntas, ter diferentes flags cURL ou qualquer outra coisa que você desejar.</body></html>