Operatorautorisatie en deep links
In deze handleiding wordt uitgelegd hoe u via de API een geldig autorisatietoken voor operators in het systeem kunt verkrijgen en hoe u deep links kunt gebruiken om naar het chatpaneel te navigeren.
API-basis-URL: https://chatapi.smsbat.com/
Swagger: https://chatapi.smsbat.com/index.html
Opmerking: U kunt de header
X-Authorization-Keygebruiken met uw token (beschikbaar in uw profiel in het dashboard) in plaats van deBearer-autorisatie voor verzoeken op bedrijfsniveau.
1. Verkrijg een bedrijfstoken
Om het bedrijfstoken te verkrijgen, stuurt u een HTTP POST-verzoek naar /api/company/get-token met daarin de inloggegevens van het bedrijf.
Verzoek
- Methode: POST
- URL:
https://chatapi.smsbat.com/api/company/get-token - Headers:
Contenttype: application/json
Lichaam:
{
"login": "string",
"password": "string"
}
Reactie
- Statuscode: 200 (OK)
- Body: Tekenreekstoken (“uw_token_string”`)
Opmerking: Bewaar het ontvangen token voor volgende verzoeken.
2. Organisatielijst ophalen
Stuur een GET-verzoek naar /api/company/organisation met behulp van het bedrijfstoken om uw organisaties te vermelden.
Verzoek
- Methode: KRIJG
- URL:
https://chatapi.smsbat.com/api/company/organization - Koppen:
Autorisatie: Bearer {token}Accepteer: tekst/plain
Reactie
- Statuscode: 200 (OK)
- Lichaam:
[
{
"id": 6,
"name": "string"
}
]
3. Operators ophalen per organisatie
Stuur een GET-verzoek naar /api/operator met behulp van de parameter organizationId.
Verzoek
- Methode: KRIJG
- URL:
https://chatapi.smsbat.com/api/operator?organizationId={id} - Koppen:
Autorisatie: Bearer {token}Accepteer: tekst/plain
Reactie
- Statuscode: 200 (OK)
- Lichaam:
[
{
"id": 21,
"name": "string",
"status": 1,
"organization": {
"id": 24,
"name": "test_costs"
}
}
]
4. Voeg operators toe aan het systeem
Gebruik het bedrijfstoken om toegang te krijgen tot dit eindpunt en synchroniseer operators met het systeem.
Verzoek
- Methode: POST
- URL:
https://chatapi.smsbat.com/api/operator/synchronize - Koppen:
Autorisatie: Bearer {token}Inhoudstype: applicatie/json
Lichaam:
[
{
"organizationId": 24,
"name": "string"
}
]
Reactie
- Statuscode: 200 (OK)
- Lichaam:
[
{
"id": 21,
"status": 0,
"name": "string"
}
]
Mogelijke operatorstatussen:
- Actief:
0 - Inactief:
1 - Verwijderd:
2
5. Verkrijg een operatortoken
Geef toestemming aan de bedrijfstoken om een token voor een specifieke operator te verkrijgen.
Verzoek
- Methode: POST
- URL:
https://chatapi.smsbat.com/api/operator/get-token - Koppen:
Autorisatie: Bearer {token}Inhoudstype: applicatie/json
Lichaam:
{
"id": 0,
"expiresAt": "2025-01-20T14:33:34.147Z"
}
expiresAt is vereist en bepaalt de sessieduur van de operator (max +24 uur).
Reactie
- Statuscode: 200 (OK)
- Body: Tekenreekstoken
6. Valideer operatortoken
Controleer de geldigheid van het token van een operator.
Verzoek
- Methode: POST
- URL:
https://chatapi.smsbat.com/api/operator/validate-token - Koppen:
Autorisatie: Bearer {token}Inhoudstype: applicatie/json
Body: "operator_token_string"
Geldige reactie (200 OK):
{
"isValid": true,
"operatorId": 0,
"clientId": 0,
"expiresAt": "2024-12-28T14:04:15.861Z",
"error": null
}
7. Deeplinken naar het operatorchatpaneel
Externe systemen (CRM, ERP, interne websites) kunnen het chatpaneel rechtstreeks openen door gebruik te maken van de deep links door het JWT Operator-token als parameter door te geven. Als het token ongeldig of verlopen is, wordt de gebruiker doorgestuurd naar de inloginterface.
Formaat 1: Op chat-ID
https://chat.smsbat.com/?chat_raw_id=<chat_id>&token=<jwt_token>
Formaat 2: Op telefoonnummer
https://chat.smsbat.com/?phone=<phone_number>&token=<jwt_token>
Telefoonnummer moet het internationale E.164-formaat hebben.
Formaat 3: op alfanumerieke naam en telefoon
https://chat.smsbat.com/?from=<bm_id>&phone=<phone_number>&token=<jwt_token>
Formaat 4: Volledige doeldetails
Specificeer precies van welke bron berichten moeten worden onderschept:
https://chat.smsbat.com/?source=<sourceId>&from=<bm_id>&phone=<phone_number>&token=<jwt_token>
Chatbronnen:
0- Viber1- ViberBot2- TelegramBot3- Whatsappen4- Widget5- Rozetka6- Facebook7- Instagram