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:
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:
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: