Neu Image POST for Article JTL FFN API

dancingqueens

Neues Mitglied
18. August 2025
1
0
Hallo zusammen

Wir haben aktuell ein Problem mit dem POST von Images von Odoo zu JTL FFN via API. Hat jemand bereits Erfahrung damit? JTL akzeptiert unseren Content nicht.

Unser Snipped bis jetzt:

def _upload_jtl_product_picture(self, jfsku, instance, queue_line):
log_model = self.env['jtl. log.lines']
product_model_id = self.env.ref('product.model_product_product').id
try:
image_data = base64.b64decode(self.image_1920.strip())
image_extension = mimetypes.guess_extension(mimetypes.guess_type("dummy.jpg")[0])
filename = f"{jfsku}{image_extension or '.jpg'}"
mime_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream'
multipart_data = MultipartEncoder(
fields={
'file': (filename, image_data, mime_type)
}
)
headers = {
'Authorization': f'Bearer {instance.jtl_access_token}',
'Content-Type': multipart_data.content_type
}
endpoint_url = f"https://ffn2.api.jtl-software.com/api/v1/merchant/products/{jfsku}/pictures"
response = requests.post(endpoint_url, headers=headers, data=multipart_data)
if response.status_code not in [200, 201]:
log_model.create([{
'jtl_instance_id': instance,
'model_id': product_model_id,
'default_code': self.default_code or jfsku,
'res_id': self.id,
'reference': self.name,
'message': f'Failed product image export: {response.status_code} - {response.text}',
'log_line_type': 'fail',
'jtl_sync_type': 'product',
'type': 'export',
'jtl_product_data_queue_line_id': queue_line.id,
}])