Ablauf der Kommunikation mit dem Regio-Shop / KamBox
Authorization
Der Benutzer ruft auf unserem Shop den Link
/shop/module/kamBox/Shop/authorize
auf.
Er wird zum SmartSso weitergeleitet
--> https://id.smart.telekom-dienste.de/oauth/authorize
und loggt sich dort ein und wird zu uns weitergeleitet.
OAuth Authentifizierung
Wir fragen ein AccessToken an.
https://id.smart.telekom-dienste.de/oauth/token
und senden die Parameter:
{
"oAuthCurlParameters": {
"client_id": "JuURftM2z0ACCWDlhREfgrdsfsdf6xJ4XOQqzXrpfmRs9dgD8",
"client_secret": "6PD9iE4c_tjpdfdfhMe7YAYAYC8foYQff-vLfWFpAaLAFjnZg",
"code": "A9i9T8wMcVorDGKKjLTSwdsfsdfqaj72rLdtZ1Rz97dvESsU0",
"redirect_uri": "https://telekom-onlinedruckerei-kambox.johnen-portal.de/shop/module/kamBox/Shop/token",
"grant_type": "authorization_code"
}
}
Als Antwort bekommen wir:
{
"access_token": "eyJraWQiOiJKdVVSZnRNMnowQUNDV0RsaFJFZmdyNnhKNFhPUXF6WHJwZm1SczlkZ0Q4IiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJTbWFydCBTU08iLCJpYXQiOjE3MjQ5MjkxODQsImp0aSI6ImY1N2Y3ZmNlLTZkZWMtNDQxNC05MWYyLWM2ODk3NmY4NjlhYyIsImV4cCI6MTcyNDkzMDk4NCwidXNlciI6eyJpZCI6IjUxMTc1ZTY5LTdmZTktNDA2Mi1hYmI1LTJiODAwMDkyNDExOSIsImVtYWlsIjoiZmlnZW4uYmVzZW5za2lAdGVsZWtvbS5kZSIsImZpcnN0X25hbWUiOiJGaWdlbiIsImxhc3RfbmFtZSI6IkJlc2Vuc2tpIiwicm9sZSI6MCwibWVtYmVyc2hpcF9pZCI6IjM0YmI3OTdlLTcyYzktNDAwYi04ZDE3LTlhMmQ3NzIwZTZiYyIsInRva2VuX2ZpbmdlcnByaW50IjoiZjZlNjE4NzUwYmM0OWFlYTczYWQzMmI5NzQ4NzMxNjAifX0.5LaziG6DSjr-pxxLS2sN51fvUTvQxx_0tEFxaEQIQwldA6I1Wvf29x2SPhAJM-grP2pG3-KTEuSmo7Az2BRlxw",
"token_type": "Bearer",
"expires_in": 1800,
"refresh_token": "OXJ40Xl5fqqDkEprELOWv6d4RyezdZHbkYMm04wyGwyJGslSA64lS9-OXc0R3KYM5rhEcKBkdh0tbWK1rVzJw",
"scope": "read write",
"created_at": 1724929184,
"id": "51175e69-7fe9-4062-abb5-2b8000924119",
"email": "someone@telekom.de",
"first_name": "Someone",
"last_name": "Someone",
"role": "user",
"group_ids": [
{
"group_id": "7cac39cc-2154-4bd9-98db-08afe5525d57",
"parent_id": "b2033f86-c36e-4453-86da-d43c36d0b3a9"
},
{
"group_id": "95474434-e24f-49b4-af37-62aabd072386",
"parent_id": null
},
{
"group_id": "294e4e83-69e4-4c41-8e7a-d0cd28508e62",
"parent_id": "7cacf9cc-2154-4bd9-98db-08afe5525d57"
},
{
"group_id": "b0617e73-71ba-4304-8fed-0ee1c4f00268",
"parent_id": null
},
{
"group_id": "027cc83f-fda7-442e-bf6b-6248e39a7fe9",
"parent_id": "b595fae1-2a5c-49d0-8764-ed9e01c44ab6"
},
{
"group_id": "97383e1f-0be1-48aa-beab-66e76e80ac07",
"parent_id": "7cacf9cc-2154-4bd9-98db-08afe5525d57"
}
],
"vo_number": "00000",
"vp_number": ""
}
Benutzer abfragen
Wir rufen mit dem AccessToken
https://regioshop-api.smarttest.8s.de/api/users/me
auf (ohne Parameter).
Als Antwort bekommen wir:
{
"id": 52,
"email": "someone@telekom.de",
"first_name": "Someone",
"last_name": "Someone",
"role": "user",
"created_at": "2024-08-02T08:59:13.769+02:00",
"updated_at": "2024-08-29T11:57:57.981+02:00",
"user_regions": [
{
"id": 97,
"region_id": 34
},
{
"id": 98,
"region_id": 36
},
{
"id": 99,
"region_id": 40
}
],
"region_ids": [
34,
36,
40
],
"full_name": "Someone",
"extern_region_id": 36,
"extern_wallet": {
"id": 26,
"budget_id": 91,
"year": 2024,
"quarter": 3,
"amount": "358.0",
"spending_amount": "0.0",
"created_at": "2024-08-20T16:42:02.226+02:00",
"updated_at": "2024-08-20T16:42:02.236+02:00",
"parent_budget_id": 36,
"currency": {
"id": 5,
"name": "EUR",
"symbol": "€",
"code": "EUR"
}
}
}
Wir prüfen ob der Benutzer mit der id als customer_user_name vorhanden ist.
Wenn ja aktualisieren wir die Daten für die Felder (falls vorhanden in der Antwort):
'customer_longname'
'customer_firstname'
'customer_lastname'
'customer_user_company1'
'customer_user_street'
'customfield1'
'customer_user_zip'
'customer_user_town'
'customer_user_email'
'customer_user_budgetgruppe__id'
Wenn der Benutzer nicht vorhanden ist legen wir ihn mit der id als customer_user_name und den o.g. Feldern an.
Bestellung senden
Wir rufen mit dem AccessToken den Endpunkt
https://regioshop-api.smarttest.8s.de/api/extern_orders
auf und übergeben als Daten:
Als Antwort erhalten wir.