API Filter Articles mit IN Expression

Hallo,

ich würde gerne in Shopware 5 einzelne Artikel über die API abrufen. Ich möchte aber nicht jeden einzeln abrufen, sondern ein paar auf einmal. Da auf der Seite https://developers.shopware.com/developers-guide/rest-api/#filter,-sort,-limit,-offset ‘expression (Default: LIKE, available: all MySQL expressions)’ steht, würde ich dies gerne über “GET (List)” und einem Filter mit der Expression IN tun.

Leider kann ich da aber nicht herausfinden wie genau dabei die Syntax ist. Könnte mich da bitte jemand aufklären?

Wenn ich

api/articles/?filter[0][property]=id&filter[0][expression]=IN&filter[0][value]=(16,20,153)

absende, bekomme ich immer die folgende Fehlermeldung zurück:

“Error message: [Syntax Error] line 0, col 184: Error: Expected Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS, got ‘:id5f2ad7a0d9d66’”

Entferne ich die Klammern, wenn ich also

api/articles/?filter[0][property]=id&filter[0][expression]=IN&filter[0][value]=16,20,153

sende, bekomme ich die folgende Meldung zurück:

“Error message: [Syntax Error] line 0, col 184: Error: Expected Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS, got ‘:id5f2ad8a8b28b2’”

Also sinngemäss die gleiche Meldung nur die Zahl hinten hat sich geändert. Könnte mich bitte mal jemand erleuchten, ob und wie man die Expression IN über das REST API verwenden kann?

Hallo @dstreichert‍,

einfach ‘value’ als array passen wie so:

filter[0][property]=id&filter[0][expression]=IN&filter[0][value][0]=16&filter[0][value][1]=20&filter[0][value][2]=153

und du kannst ‘expression’ hier weggelassen wenn du möchtest , Shopware werde ‘IN’ benutzet wenn die ‘value’ ist array

VG,

image

Tel.: +49 755 - 183 990 00 | E-Mail: info@enbit.de | Web: http://enbit.de/

1 „Gefällt mir“