Ejemplo de Python de como insertar registros en eBavel


"""
Ejemplo para insertar registros en eBavel usando la API
Sep 2021 - Soporte BITAM
"""

#Se carga la libreria que permite hacer peticiones https
import requests

#Para insertar datos la URL termina en data
URL='https://kpionline5.bitam.com/eBavel65/api/v1/fbm_bmd_0716/data'


headers = {
    'Content-Type': 'application/json',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'PHP_AUTH_USER':'miusuario@midominio.com', #usuario registrado de eBavel
    'PHP_AUTH_PW': 'mipassword', #Password
    'ENVIRONMENT': 'development' #Requerido: production, development
} 
  
payload={
"applicationCodeName":"BAPP41C36028", #el id de la aplicación
"data": {
    "FRM_7991333D": #El ID de la forma
        {"-1": #Un numero negativo indica que es un registro nuevo
             {"id_FRM_7991333D":-1, #Un numero negativo indica que es un registro nuevo
              "FFRMS_D2B520DD":"1", #los datos a insertar
              "FFRMS_87F68E22":"Juan",
              "FFRMS_0E7D82B9":"Merida",
              "FFRMS_783F930F":"Yucatan",
              "FFRMS_F9105BE8":"A"
             }
         }
    }
}

#Se hace la petición al server   
respuesta = requests.post(URL,json=payload, headers=headers)
#Se verifica si la petición https al servidor fué exitosa(200)
if (respuesta.ok): 
    #Si fue exitosa se verifica el resultado de la petición o sea lo que devolvió la API
    datos_recibidos=respuesta.json()
    print(datos_recibidos['payload']) #el resultado
    #Si el registro se insertó se regresa el registro insertado y su llave
    #Caso contrario regresa el problema encontrado en los datos al hacer la inserción
else:
    print("Se encontró un error al realizar la petición https al servidor:")
    print(respuesta.text)        
    


Al ejecutarse si el registro fué insertado correctamente se obtendrá



Pero si el registro de alguna manera no cumple con las reglas de la forma, por ejemplo que el registro esté duplicado, se esté intentando insertar un valor en una columna marcada como readonly, se haya excedido la longitud maxima de un campo, etc. Entonces en la respuesta vendrá la descripción del error o problema encontrado al insertar el registro y la respuesta sera como esta:



En la rs