Openbare NetSfere-API

Inleiding

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.

Toegang tot API autoriseren

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:

  1. Meld u aan bij admin.netsfere.com.
  2. Klik of tik op Gebruikers en selecteer de gewenste gebruiker.
  3. Kies Gebruiker wijzigen in het menu Acties.
  4. Stel Netwerk-API inschakelen in op Ja.
  5. Klik of tik op de knop Opslaan.

Uw beheerder wil mogelijk een of meer speciale NetSfere-gebruikersaccounts instellen voor toegang tot de API.

API-eindpunten

Zie hieronder voor een beschrijving van de beschikbare API-eindpunten.

get

Beschrijving

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.

Parameters

Voor dit eindpunt zijn de volgende parameters vereist:

Parameter Beschrijving
email 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.

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\""
}

Voorbeeld

Zo kunt u dit eindpunt aanroepen met cURL:

curl -i 'https://api.netsfere.com/get' \
--data 'email=user1@email.com&password=123&msgId=212619'
getfile

Beschrijving

Hiermee kan een externe client een berichtbijlage ophalen. U moet dit eindpunt via HTTPS met de methode POST aanroepen.

Parameters

Voor dit eindpunt zijn de volgende parameters vereist:

Parameter Beschrijving
email 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.

Antwoord

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\""
}

Voorbeeld

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
send

Beschrijving

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.

Parameters

Voor dit eindpunt zijn de volgende parameters vereist:

Parameter Beschrijving
email 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.

Antwoord

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\""
}

Voorbeeld

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'
sendfile

Beschrijving

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.

Parameters

Voor dit eindpunt zijn de volgende parameters vereist:

Parameter Beschrijving
email 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.

Antwoord

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.

Voorbeeld

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'
webhook

Beschrijving

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:

  • U verwijdert de webhook met behulp van de methode DELETE.
  • Een beheerder deactiveert het gekoppelde NetSfere-account.
  • Een beheerder annuleert de NetSfere-organisatie.

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.

Parameters

Voor dit eindpunt zijn de volgende parameters vereist:

Parameter Beschrijving
email 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.

Antwoord

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\""
}

Voorbeeld

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'

Voorbeeld

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'

Payload van callback

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.