Skip to content

Automatisierungen über REST API

In diesem Artikel erläutern wir einige Möglichkeiten zur Verwendung der Plentymarkets REST API, zum Auslösen der für CrefoPay relevanten Events zum Buchen, Abschließen, Gutschreiben und Stornieren von Bestellungen.

Vorbereitung

Zunächst benötigen wir einen API Benutzer. Wie ein solcher Benutzer anzulegen ist, wird in der offiziellen Plentymarkets Dokumentation beschrieben:

REST-API-Schnittstellen einrichten

Authentifizierung

Quelle: Plentymarkets REST-API-Dokumentation

Route: https://<my.plentymarkets.url>/rest/login

Parameter:

username: <Benutzername>
password: <Passwort>

Der Benutzername (username) und das Passwort (password) müssen als POST Parameter gesendet werden:

image

Sofern der API-Nutzer korrekt angelegt wurde und damit über die notwendige Berechtigung zum "Login" besitzt, erhalten wir als Response das das folgende JSON Objekt:

Beispiel Response:

{
    "token_type": "Bearer",
    "expires_in": 86400,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNWJiN2I1YmJiOTA4NjBjOGVkNDk4MWFmYmQyMWNjNTNmNWM4MTMwYTlmMDE2YzdkZjI1NzIzNzc1NTdiYTBkOWYxNDhiYTY4NDUyMTVlOTEiLCJpYXQiOjE2OTI2OTk3NDYuNjc4NywibmJmIjoxNjkyNjk5NzQ2LjY3ODcsImV4cCI6MTY5Mjc4NjE0Ni42NzcxLCJzdWIiOiI5Iiwic2NvcGVzIjpbIioiXX0.HgW_PMCvBdwnWZNei8f29krrSPwwvl2OFUEJQO6akI04s9V76yWiTbaBQir8P22HBTr9BP8NMqyjjpS18W6j3AzG5UgTdwxVswzR3sFmDBELz1CEPW2BKVxp02opjQiZwbI0JyjXjb1m3jL9JPM8y6zwQqwwoSwwETxyejhRiUuhOmFvi6U02X7N2G0QHswNw5lTNpZC_JSG7i-o3sKvRQbrYS2zxuPdLmDFuUkOxl4MgHoRtNTIgeu3Q6mTuY6U6P9XmcvY6bKD_e0aUVbwldzQllLJ1xxS5L5DojiHLzV_dZLxZ0yOfdMtFfL1KB9aCkHk1gCpZGe-r8Lp6J6LDAWO9FE6_WuDLFaHoeepj9NZcMqUZj4NnnYKxjx34JV9NjdWy4lI8DOzggrbQa32JQLQF6ROYo1nM8ax6i7hfymliZ-5OhVAeHBBQcTkzeftGYtupu0pY1_nDzBLvmcI2AuUZmirKunLh0xNW_v2tU4tMDDxNiZFpG3h8JJEgAfE36ETfrfuZKo1JhKDWdkMr2RdXGOrI2OQEQxe_ys4x-nvXtOCGHBghR-IvJHQwkRauUam8l95O6RJL1GV5LULhGHdTj865IbvfrPvax3QuCQl09n497Xf7-x7UD5JPzuAXkQ512TnNGYgBkSJKAKQnRKWB8ZKtlNFNrUt8eXM1xU",
    "refresh_token": "def502007970776deca746e24aaca862c51ff7a073d114fd25abe0be64e418b2b707143a47ce1c490b74b36767974269b5ae0d893afaa4f2a2ea9482222d1cda7a73d3f1e41514d66bb437969c9bdf2c709a242575ec50329a417b8a0cbe5a35c6a6dec14d29ea5f3df48bc40fd53bb8d0426e3b9f95c8e46bd5205213371e929d95cf160a10f729552135eaa2888fd139cef4e0eeac1e5d120de0bdf7e5af7ef34036811cb53b6a16e51c8070e6ae5091125498153a073b081c3acfc3d6110f1cfc02bc281011a0806fc71b893e2dc561370a4afbbf18a435a23a22004b962fc18d634f05b2aa2def87f7a48261dfa2470bba75b4ad074b71f02e9281d1f54377bbcd5c30dc50968a75727324fe373def541eba1e2ecb023de9d0a3927046c06fea015fd54cb549b18fa4376bba2c0d632056c562c3f6e2e9e4eb495ca88fdd21c355d747b0ce902d87a6ec27122cfe9d2466447f0d7b8aedc33298ef4e3c5d79ca6e58",
    "concurrent_sessions": 2,
    "max_current_sessions": 6,
    "user_id": 9,
    "tokenType": "Bearer",
    "expiresIn": 86400,
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNWJiN2I1YmJiOTA4NjBjOGVkNDk4MWFmYmQyMWNjNTNmNWM4MTMwYTlmMDE2YzdkZjI1NzIzNzc1NTdiYTBkOWYxNDhiYTY4NDUyMTVlOTEiLCJpYXQiOjE2OTI2OTk3NDYuNjc4NywibmJmIjoxNjkyNjk5NzQ2LjY3ODcsImV4cCI6MTY5Mjc4NjE0Ni42NzcxLCJzdWIiOiI5Iiwic2NvcGVzIjpbIioiXX0.HgW_PMCvBdwnWZNei8f29krrSPwwvl2OFUEJQO6akI04s9V76yWiTbaBQir8P22HBTr9BP8NMqyjjpS18W6j3AzG5UgTdwxVswzR3sFmDBELz1CEPW2BKVxp02opjQiZwbI0JyjXjb1m3jL9JPM8y6zwQqwwoSwwETxyejhRiUuhOmFvi6U02X7N2G0QHswNw5lTNpZC_JSG7i-o3sKvRQbrYS2zxuPdLmDFuUkOxl4MgHoRtNTIgeu3Q6mTuY6U6P9XmcvY6bKD_e0aUVbwldzQllLJ1xxS5L5DojiHLzV_dZLxZ0yOfdMtFfL1KB9aCkHk1gCpZGe-r8Lp6J6LDAWO9FE6_WuDLFaHoeepj9NZcMqUZj4NnnYKxjx34JV9NjdWy4lI8DOzggrbQa32JQLQF6ROYo1nM8ax6i7hfymliZ-5OhVAeHBBQcTkzeftGYtupu0pY1_nDzBLvmcI2AuUZmirKunLh0xNW_v2tU4tMDDxNiZFpG3h8JJEgAfE36ETfrfuZKo1JhKDWdkMr2RdXGOrI2OQEQxe_ys4x-nvXtOCGHBghR-IvJHQwkRauUam8l95O6RJL1GV5LULhGHdTj865IbvfrPvax3QuCQl09n497Xf7-x7UD5JPzuAXkQ512TnNGYgBkSJKAKQnRKWB8ZKtlNFNrUt8eXM1xU",
    "refreshToken": "def502007970776deca746e24aaca862c51ff7a073d114fd25abe0be64e418b2b707143a47ce1c490b74b36767974269b5ae0d893afaa4f2a2ea9482222d1cda7a73d3f1e41514d66bb437969c9bdf2c709a242575ec50329a417b8a0cbe5a35c6a6dec14d29ea5f3df48bc40fd53bb8d0426e3b9f95c8e46bd5205213371e929d95cf160a10f729552135eaa2888fd139cef4e0eeac1e5d120de0bdf7e5af7ef34036811cb53b6a16e51c8070e6ae5091125498153a073b081c3acfc3d6110f1cfc02bc281011a0806fc71b893e2dc561370a4afbbf18a435a23a22004b962fc18d634f05b2aa2def87f7a48261dfa2470bba75b4ad074b71f02e9281d1f54377bbcd5c30dc50968a75727324fe373def541eba1e2ecb023de9d0a3927046c06fea015fd54cb549b18fa4376bba2c0d632056c562c3f6e2e9e4eb495ca88fdd21c355d747b0ce902d87a6ec27122cfe9d2466447f0d7b8aedc33298ef4e3c5d79ca6e58"
}

Für die folgenden Schritte benötigen wir den hier generierten accessToken. Dieser Token muss für den Key Authorization in allen Aufrufen, zusammen mit dem Header-Type, als Header-Value enthalten sein:

RestMan Beispiel:

image

Allgemein: Authorization: <tokenType> <accessToken>

Rechnungsdokument erzeugen

Quelle: Plentymarkets REST-API-Dokumentation

Route: https://<my.plentymarkets.url>/rest/orders/<order_id>/documents/invoice/generate

Parameter:

order_id: Die Plentymarkets Auftragsnummer, für welche die Rechnung erzeugt werden soll.

RestMan Beispiel:

image

Edited by Daniel Kazior
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information