Preencha os GTINs separados por ;
GTIN
import requests
import json
import base64
import pandas as pd
Run to view results
# Check if GTIN contains ;
if ';' in GTIN:
gtin_values = GTIN.replace(" ", "").split(';')
else:
gtin_values = [GTIN.replace(" ", "")]
df_gtin = pd.DataFrame(gtin_values, columns=['GTIN'])
Run to view results
# Endereço do endpoint para obter o token
url = "https://api.gs1br.org/oauth/access-token"
# Substitua pelos seus valores reais
client_id = "551bc326-b2ea-45c7-a45c-0f6cdf9e95e0"
client_secret = "31ccd952-ac71-4579-b011-3eb1317f20e6"
username = "carlos.chinarro@soutul.com.br"
password = "Ch1N4Rr0@24!Gs1"
# Dados do corpo da requisição
body = {
"grant_type": "password",
"username": username,
"password": password
}
# Generate Base64 encoded string of client_id:client_secret
auth_value = base64.b64encode(f'{client_id}:{client_secret}'.encode()).decode()
# Cabeçalhos da requisição com ClientID and ClientSecret
headers = {
"Content-Type": "application/json",
"Authorization": "Basic " + auth_value
}
# Fazendo a requisição POST
response = requests.post(url, headers=headers, data=json.dumps(body))
# Verificando se a requisição foi bem-sucedida
#if response.status_code == 200:
# Extraindo o token do corpo da resposta
tokens = response.json()
access_token = tokens.get("access_token")
print("Access Token:", tokens.get("access_token"))
print("Refresh Token:", tokens.get("refresh_token"))
print("Token Type:", tokens.get("token_type"))
print("Expires In:", tokens.get("expires_in"))
#else:
# print("Erro ao obter o token:", response.status_code, response.text)
Run to view results
# Inicializando um DataFrame vazio para guardar todas as respostas
df_resposta = pd.DataFrame()
# Iterando sobre cada GTIN no DataFrame df_gtin
for GTIN in df_gtin['GTIN']:
url = 'https://api.gs1br.org/provider/v2/verified'
headers = {'client_id': client_id, 'access_token': access_token}
query = {'gtin': GTIN}
r = requests.get(url, headers=headers, params=query)
data = r.json()
# Transformando a resposta em um DataFrame
df_temp = pd.json_normalize(data)
# Adicionando a resposta ao DataFrame de respostas
df_resposta = pd.concat([df_resposta, df_temp], ignore_index=True)
Run to view results
df_resposta
Run to view results