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.