NetSfere biedt een openbare API voor het uitvoeren van basisfuncties. De API accepteert de aanvragen van NetSfere via HTTPS en retourneert doorgaans JSON-geformatteerde gegevens.
Als u deze API wilt gebruiken, maakt u een NetSfere-organisatie en gebruikt u vervolgens het beheerdersconfiguratiescherm van uw organisatie om een gebruiker aan te wijzen die verbinding moet maken met de API. Geef de accountreferenties van deze gebruiker in de HTTPS-aanvraag door.
Deze documentatie is beschikbaar in de volgende extra talen:
Door deze API te gebruiken, gaat u ermee akkoord zich te houden aan de Servicevoorwaarden van NetSfere.
De openbare API van NetSfere is standaard uitgeschakeld. Om toegang voor bepaalde gebruikers binnen uw NetSfere-organisatie mogelijk te maken, vraagt u uw NetSfere-beheerder als volgt om API-toegang in te schakelen:
Uw beheerder wil mogelijk een of meer speciale NetSfere-gebruikersaccounts instellen voor toegang tot de API.
Zie hieronder voor een beschrijving van de beschikbare API-eindpunten.
Hiermee kan een externe client tekstberichten of metadata van bijlagen ophalen. U moet dit eindpunt via HTTPS met de methode POST aanroepen.
Bovendien kan dit eindpunt worden gebruikt om te controleren op de aankomst van nieuwe berichten. Bericht-ID\'s worden verhoogd voor elk nieuw bericht. Als u de bericht-ID van een vorig bericht doorgeeft (zie de parameter msgId), worden dus nieuwe berichten geretourneerd die zijn gemaakt sinds het vorige bericht.
Voor dit eindpunt zijn de volgende parameters vereist:
| Parameter | Beschrijving |
|---|---|
| Het e-mailadres van de NetSfere-gebruiker die de inhoud van het bericht ophaalt. Dit moet een adres zijn van een actieve gebruiker in uw organisatie. | |
| password | Het wachtwoord voor de NetSfere-gebruiker die de inhoud van het bericht ophaalt. |
De volgende parameters zijn optioneel en kunnen in elke combinatie worden doorgegeven om de gegevens die door dit eindpunt worden geretourneerd, te verfijnen. Als u meerdere parameters doorgeeft, worden deze met dit eindpunt gecombineerd met een logische \'EN\'-bewerking.
Als u bijvoorbeeld \'27848\' voor convId en \'212619\' voor msgId doorgeeft, worden met dit eindpunt nul of meer berichten geretourneerd van het gesprek waarvan de gespreks-ID 27848 is die is gemaakt na het bericht waarvan het bericht-ID 212619 is.
| Parameter | Beschrijving |
|---|---|
| convId |
De numerieke gespreks-ID van een bestaand NetSfere-gesprek. Deze parameter is optioneel. Indien aanwezig, worden met het eindpunt alleen berichten in het opgegeven gesprek geretourneerd. U kunt de gespreks-ID voor een gesprek verkrijgen door deze te bekijken op web.netsfere.com en de ID uit het meest rechtse gedeelte van de URL te halen. Voorbeeld: https://web.netsfere.com/#chat/27848 In de bovenstaande URL is de gespreks-ID 27848. |
| msgId |
Retourneer alleen berichten waarvan de bericht-ID groter is dan msgId. NetSfere garandeert dat elke nieuw bericht dat wordt gemaakt een unieke bericht-ID krijgt die groter is dan de bericht-ID die aan vorige berichten is toegewezen. Daarom kunt u deze parameter gebruiken om te controleren op berichten die zijn gemaakt sinds een vorig bekend bericht. Als u bijvoorbeeld eerder een bericht hebt ontvangen waarvan het bericht-ID 212619 is, kunt u '212619' doorgeven voor deze parameter om alleen berichten op te halen die zijn gemaakt sinds dat vorige bericht. Geef nul door voor deze parameter om alle berichten op te halen. |
| msgLimit |
Retourneer alleen de eerste msgLimit-berichten. Als het eindpunt get bijvoorbeeld 3 berichten vindt die overeenkomen met de criteria die zijn opgegeven in de HTTP-aanroep en u geeft 2 door voor msgLimit, retourneert dit eindpunt de twee oudste berichten. Het derde en meest recente bericht is niet aanwezig in het antwoord. |
Als dit lukt, retourneert deze webservice een HTTP 200-antwoord waarvan het hoofdgedeelte een JSON-gecodeerde array van objecten bevat, waarbij elk object één bericht vertegenwoordigt:
[
{
"msgId": 212619,
"convId": 27848,
"created": 1516655475,
"senderEmail": "user1@email.com",
"msgType": "text",
"msgText": "A man's home is his castle.",
"attachment": null,
"quotedMsgId": 0,
"locationData": null,
"isForwarded": false,
"priority": "normal",
"isDeleted": false
},
{
"msgId": 212620,
"convId": 27848,
"created": 1516656257,
"senderEmail": "user1@email.com",
"msgType": "attachment",
"msgText": "",
"attachment": {
"attachmentId":"5a66542c8e77a",
"fileName":"castle.jpg",
"fileSize":242560,
"mimeType":"image\/jpeg"},
"quotedMsgId": 0,
"locationData": null,
"isForwarded": true,
"priority": "normal",
"isDeleted": false
},
{
"msgId": 212621,
"convId": 27848,
"created": 1516666257,
"senderEmail": "user1@email.com",
"msgType": "location",
"msgText": "loc:42.1341247,-88.0035324",
"attachment": null,
"quotedMsgId": 0,
"locationData": {
"address": "Infinite Convergence, North Wilke Road, Arlington Heights, IL, USA",
"isMyLocation": true
},
"isForwarded": false,
"priority": "normal",
"isDeleted": false
}
] Als het bericht een bijlage bevat, bevat het attachment-element een JSON-object van het tweede niveau van het formulier dat wordt weergegeven in het tweede bericht hierboven. U moet het eindpunt getfile aanroepen om de binaire gegevens van de bijlage op te halen.
Als er een fout optreedt, retourneert deze webservice een HTTP 4XX- of HTTP 5XX-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"error": "Missing parameter: \"email\""
}
Zo kunt u dit eindpunt aanroepen met cURL:
curl -i 'https://api.netsfere.com/get' \ --data 'email=user1@email.com&password=123&msgId=212619'
Hiermee kan een externe client een berichtbijlage ophalen. U moet dit eindpunt via HTTPS met de methode POST aanroepen.
Voor dit eindpunt zijn de volgende parameters vereist:
| Parameter | Beschrijving |
|---|---|
| Het e-mailadres van de NetSfere-gebruiker die de inhoud van het bericht ophaalt. Dit moet een adres zijn van een actieve gebruiker in uw organisatie. | |
| password | Het wachtwoord voor de NetSfere-gebruiker die de inhoud van het bericht ophaalt. |
De volgende parameters zijn vereist voor een unieke identificatie van de bijlage die moet worden opgehaald. attachmentId of zowel convId als msgId moet worden opgegeven.
| attachmentId | Een numerieke waarde die op unieke wijze de bijlage identificeert die moet worden opgehaald. Deze waarde komt meestal van een vorige aanroep naar het eindpunt get. |
| convId | Een numerieke waarde die samen met msgId precies de bijlage identificeert die moet worden opgehaald. Deze waarde komt meestal van een vorige aanroep naar de eindpunten get of sendfile. |
| msgId | Een numerieke waarde die samen met convId precies de bijlage identificeert die moet worden opgehaald. Deze waarde komt meestal van een vorige aanroep naar de eindpunten get of sendfile. |
Als dit lukt, retourneert deze webservice een HTTP 200-antwoord en de onbewerkte binaire gegevens van de bijlage.
Als er een fout optreedt, retourneert deze webservice een HTTP 4XX- of HTTP 5XX-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"error": "Missing parameter: \"email\""
}
Zo kunt u dit eindpunt aanroepen met cURL:
curl -i 'https://api.netsfere.com/getfile' \ --data 'email=user1@email.com&password=123&attachmentId=5a66542c8e77a' -o castle.jpg
of:
curl -i 'https://api.netsfere.com/getfile' \ --data 'email=user1@email.com&password=123&convId=1000&msgId=123456' -o castle.jpg
Hiermee kan een externe client een bericht verzenden in een nieuw gesprek of een bestaand gesprek. U moet dit eindpunt via HTTPS met de methode POST aanroepen.
Voor dit eindpunt zijn de volgende parameters vereist:
| Parameter | Beschrijving |
|---|---|
| Het e-mailadres van de NetSfere-gebruiker die het bericht verzendt. Dit moet een adres zijn van een actieve gebruiker in uw organisatie. | |
| password | Het wachtwoord voor de NetSfere-gebruiker die het bericht verzendt. |
| msgText | De UTF-8 gecodeerde tekst van het bericht. |
| msgPriority | NetSfere-clients ondersteunen alleen 0 (normaal) en 3 (kritieke) berichtprioriteiten. De server weigert berichtprioriteiten anders dan 0 en 3, aangezien ongeldige verzoeken en berichtprioriteiten alleen in aanmerking worden genomen voor nooduitzendkanalen. |
Geef de volgende aanvullende parameters door om een nieuw gesprek te maken dat het bericht bevat:
| Parameter | Beschrijving |
|---|---|
| convTitle | De titel van het NetSfere-gesprek. Laat deze parameter weg om de namen van de deelnemers als gespreksnaam te gebruiken. |
| participants | Een door komma\'s gescheiden lijst van e-mailadressen die de gebruikers identificeren die deelnemers moeten zijn. Laat deze parameter weg om een gesprek met de afzender als enige deelnemer te maken. |
Als u het bericht wilt toevoegen aan een bestaand gesprek, geeft u de volgende parameters door:
| Parameter | Beschrijving |
|---|---|
| convId | De numerieke gespreks-ID van een bestaand gesprek. U kunt de gespreks-ID voor een gesprek verkrijgen door deze te bekijken op web.netsfere.com en de ID uit het meest rechtse gedeelte van de URL te halen. Voorbeeld: https://web.netsfere.com/#chat/27848 In de bovenstaande URL is de gespreks-ID 27848. |
Als dit lukt, retourneert deze webservice een HTTP 200-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"convId": 1000,
"msgId": 123456
} Het element convId bevat de numerieke gespreks-ID die aan het bericht is gekoppeld. Het element msgId bevat de numerieke bericht-ID die aan het bericht is toegewezen.
Als er een fout optreedt, retourneert deze webservice een HTTP 4XX- of HTTP 5XX-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"error": "Missing parameter: \"email\""
}
Zo kunt u dit eindpunt aanroepen met cURL:
curl -i 'https://api.netsfere.com/send' \ --data 'email=user1@email.com&password=123&msgText=This is a test.&convTitle=Hello World!&participants=user2@email.com,user3@email.com'
Hiermee kan een externe client een bericht als een bijlage verzenden in een nieuw gesprek of een bestaand gesprek. U moet dit eindpunt via HTTPS met de methode POST aanroepen waarbij de koptekst Content-Type is ingesteld op multipart/form-data.
Voor dit eindpunt zijn de volgende parameters vereist:
| Parameter | Beschrijving |
|---|---|
| Het e-mailadres van de NetSfere-gebruiker die het bestand als een bijlage verzendt. Dit moet een adres zijn van een actieve gebruiker in uw organisatie. | |
| password | Het wachtwoord voor de NetSfere-gebruiker die het bestand verzendt. |
| uploadFile | De naam en binaire inhoud van het bestand dat moet worden verzonden. Deze moeten worden gecodeerd met de indeling multipart/form-data zoals is opgegeven door RFC2388. |
| msgText | Optionele UTF-8-gecodeerde tekst om met de bijlage mee te sturen. |
| priority | NetSfere-clients ondersteunen alleen 0 (normaal) en 3 (kritieke) berichtprioriteiten. De server weigert berichtprioriteiten anders dan 0 en 3, aangezien ongeldige verzoeken en berichtprioriteiten alleen in aanmerking worden genomen voor nooduitzendkanalen |
Geef de volgende aanvullende parameters door om een nieuw gesprek te maken dat het bestand als een bijlage bevat:
| Parameter | Beschrijving |
|---|---|
| convTitle | De titel van het NetSfere-gesprek. Laat deze parameter weg om de namen van de deelnemers als gespreksnaam te gebruiken. |
| participants | Een door komma's gescheiden lijst van e-mailadressen die de gebruikers identificeren die deelnemers moeten zijn. |
Als u het bericht als bijlage wilt toevoegen aan een bestaand gesprek, moet u ook de volgende parameters doorgeven:
| Parameter | Beschrijving |
|---|---|
| convId | De numerieke gespreks-ID van een bestaand gesprek. U kunt de gespreks-ID voor een gesprek verkrijgen door deze te bekijken op web.netsfere.com en de ID uit het meest rechtse gedeelte van de URL te halen. Voorbeeld: https://web.netsfere.com/#chat/27848 In de bovenstaande URL is de gespreks-ID 27848. |
Als dit lukt, retourneert deze webservice een HTTP 200-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"convId": 1000,
"msgId": 123456
} Het element convId bevat de numerieke gespreks-ID die is gekoppeld aan het bericht dat de bijlage bevat. Het element msgId bevat de numerieke bericht-ID die aan het bericht is toegewezen.
Als er een fout optreedt, retourneert deze webservice een HTTP 4XX- of HTTP 5XX-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"error": "Missing parameter: \"email\""
} Dit eindpunt ondersteunt geen miniatuurweergave, waardoor beeldbijlagen verschijnen voor ontvangers met een generiek bijlagepictogram.
Zo kunt u dit eindpunt aanroepen met cURL:
curl -i 'https://api.netsfere.com/sendfile' \ -F 'email=user1@email.com' \ -F 'password=123' \ -F 'convTitle=Hello World!' \ -F 'participants=user2@email.com,user3@email.com' \ -F 'msgText=My example' \ -F 'uploadFile=@path/to/my/example.png'
Hiermee kan een externe client een terugbel-URL registreren. Wanneer een belangrijke gebeurtenis zich voordoet in het NetSfere-account van de beller (zoals een nieuw bericht dat aankomt), belt NetSfere deze URL op.
U moet dit eindpunt via HTTPS aanroepen met de methode POST (om een nieuwe terugbel-URL te registreren of een eerder geregistreerde terugbel-URL te vervangen) of met de methode DELETE (om een eerder geregistreerde terugbel-URL te vernietigen).
Zodra u een webhook heeft geregistreerd, blijft NetSfere de webhook voor elke gebeurtenis opbellen tot een van de volgende zaken zich voordoet:
NetSfere belt de URL slechts eenmaal op voor elke gebeurtenis en negeert de HTTP-responscode (inclusief responscodes 3XX voor omleiding) die door de URL wordt geretourneerd.
Voor dit eindpunt zijn de volgende parameters vereist:
| Parameter | Beschrijving |
|---|---|
| Het e-mailadres van de NetSfere-gebruiker die de webhook aanmaakt, bijwerkt of verwijdert. | |
| password | Het wachtwoord van de NetSfere-gebruiker die de webhook aanmaakt, bijwerkt of verwijdert. |
Bij gebruik van de methode POST moet u ook de volgende aanvullende parameters doorlopen:
| Parameter | Beschrijving |
|---|---|
| callbackUrl | De URL die NetSfere moet bellen met een HTTPS GET wanneer een belangrijke gebeurtenis (zoals een nieuw bericht dat aankomt) zich voordoet in het NetSfere-account dat is gekoppeld aan email. Deze parameter is alleen vereist bij gebruik van de methode POST. De URL moet het schema HTTPS bevatten. |
Als de bewerking slaagt, retourneert deze webservice een HTTP 200-antwoord waarvan het hoofdgedeelte JSON-gegevens met de volgende vorm bevat:
OK
Als er een fout optreedt, retourneert deze webservice een HTTP 4XX- of HTTP 5XX-antwoord waarvan het hoofdgedeelte een JSON-object met de volgende vorm bevat:
{
"error": "Missing parameter: \"email\""
}
Zo gebruikt u cURL om een nieuwe webhook te registreren met een POST-verzoek:
curl -i 'https://api.netsfere.com/webhook' \ --data 'email=user1@email.com&password=123&callbackUrl=https://example.com/my/path?myparam=1000'
Zo gebruikt u cURL om een nieuwe webhook te verwijderen met een DELETE-verzoek:
curl -i -X DELETE 'https://api.netsfere.com/webhook' \ --data 'email=user1@email.com&password=123'
Wanneer een belangrijke gebeurtenis (zoals het arriveren van een nieuw bericht) plaatsvindt, roept NetSfere uw callback-URL aan met een HTTPS POST. Het POST-verzoek bevat JSON gecodeerde data in de volgende vorm:
{
"convId": 1000,
"msgId": 123456,
"senderEmail": "user1@email.com",
"uuid": "93450918-75fe-11eb-a7fe-00505604a731"
} De elementen in dit JSON-object zijn:
| Element | Beschrijving |
|---|---|
| convId | Een numerieke gespreks-ID die het gesprek identificeert dat het nieuwe bericht bevat. |
| msgId | Een numerieke bericht-ID die het nieuwe bericht identificeert. |
| senderEmail | Het e-mailadres van de gebruiker die het nieuwe bericht verzendt. |
| uuid | Unieke identificatie voor deze callbackgebeurtenis. Handig bij het aanvragen van ondersteuning. |
Als u het nieuwe bericht wilt ophalen, kunt u dit doen door een get-opdracht voor het endpoint convId en msgId.
NetSfere negeert het antwoord van de callback-URL en probeert de callback niet opnieuw als de eerste poging mislukt.