Developers

Gebruik onze API om gemakkelijk te integreren of te ontwikkelen.

Introductie

Spryng levert een HTTP GET verzoek naar een script op uw server wanneer een mobiel gegenereerd (MO) bericht binnen komt. U moet een script opzetten dat HTTP GET data kan afhandelen om de verzoeken te ontvangen. De verzoeken komen van één IP-adres dat gekoppeld is aan verschillende backup servers door VRRP om redundantie te bereiken. Het is belangrijk om uw firewalls etc. te openen voor inkomende verzoeken van onze servers:

 

83.96.144.191
83.96.144.207
83.96.144.209

Het HTTP verzoek uitgevoerd door Spryng moet beantwoord worden door uw server met de status code 200 en een body van TRUE, wat betekent dat het bericht succesvol is geaccepteerd door uw systeem. Wanneer de HTTP server niet bereikt kan worden en als het bijvoorbeeld terugkomt met 500 internal server error of als het terugkomt met de body FALSE, neemt Spryng aan dat het bericht niet succesvol is geaccepteerd door uw systeem en het verzoek zal eenmaal per minuut opnieuw verzonden worden. Het bericht zal niet eeuwig opnieuw verzonden worden, de huidige instelling is 24 uur.

 

Berichten van Spryng ontvangen

Voorbeeld voor een PHP script

class MOGateway
{
  const ALLOWED_ORIGINS = [
    '83.96.144.191',
    '83.96.144.207',
    '83.96.144.209'
  ];

  public function __construct()
  {
    if (in_array($_SERVER['REMOTE_ADDR'], self::ALLOWED_ORIGINS))
    {
      $log = "MO RECEIVED. REQUEST: " .
              "Originator MSISDN: " .     $_GET['MSISDN'] .
              "First word (keyword) " .   $_GET['KEYWORD'] .
              "Message content: " .       $_GET['PARM'] .
              "Receiver's operator: " .   $_GET['OPERATOR'] .
              "Received at: " .           $_GET['TIMESTAMP'] .
              "Shortcode: " .             $_GET['SHORTCODE'] .
              "Country code: " .          $_GET['COUNTRY'];


      $db->query('UPDATE texts SET received = 1 WHERE msisdn = :msisdn;', array('msisdn' => $_GET['MSISDN']));

      echo 'TRUE';
    }
    else
    {
      die( 'Your IP was not whitelisted.' );
    }
  }
}

Parameters

Parameter
MSISDN Het telefoonnummer vanwaar het antwoord komt.
KEYWORD Het keyword waarmee het bericht begint
PARM Alle tekst na het KEYWORD
OPERATOR Netwerk Code van de MSISDN
TIMESTAMP Tijd dat het bericht is ontvangen door SMSC of het systeem
SHORTCODE De shortcode waar het antwoord naartoe is verzonden
COUNTRY De 3 letterige land code (ISO 3166-1 alpha-3)

MSISDN

Het telefoonnummer waar het antwoord vandaan komt.

Type MSISDN-numeriek (internationaal format niet voorafgaand door “00” or “+”)
Min lengte 1 MSISDN
Max lengte 1 MSISDN
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld MSISDN=31612345678

KEYWORD

Het keyword waarmee het bericht begint. Karakters zullen url encoded worden.

Type Alphanumeriek
Min lengte 2
Max lengte 15
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld KEYWORD=WIN

PARM

Alle tekst na het KEYWORD. Karakters zullen url encoded worden.

Type Alphanumeriek
Min lengte <na>
Max lengte <na>
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld PARM=ON

OPERATOR

Netwerk Code van de MSISDN. Netwerk codes voor andere landen zijn te vinden op de volgende website: http://www.mcc-mnc.com.

Type Numeriek
Min lengte 5
Max lengte 5
Min waarde <na>
Max waarde <na>
Waardes Zie bijlage B
Default waarde OPERATOR=20408
Voorbeeld MSISDN=31612345678

TIMESTAMP

De tijd dat het bericht ontvangen is door SMSC, of wanneer niet geleverd; de tijd dat het bericht binnen gekomen is in ons systeem. Zie bijlage A voor Field Types.

Type Tijd
Min lengte 14
Max lengte 14
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld TIMESTAMP=20040208152544

SHORTCODE

De shortcode waar het antwoord naartoe verzonden wordt.

Type Numeriek (nationaal format
Min lengte <na>
Max lengte <na>
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld SHORTCODE=4414

COUNTRY

De 3 letterige land code is ISO 3166-1 alpha-3. Een lijst met officieel toegewezen ISO3166 alpha-3 codes kunt u vinden op http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3.

Type Alphanumeriek (ISO 3166-1 alpha-3)
Min lengte 3
Max lengte 3
Min waarde ABW
Max waarde ZWE
Waardes ISO 3166-1 alpha-3
Default waarde <none>
Voorbeeld COUNTRY=NLD

Field Types

Type Waarde
Numeric karakters 0 tot 9
Alphanumeric karakter van ISO-8859-1
MSISDN-numeriek karakters 0 tot 9, eerste karakter kan een ‘+’ teken zijn
Time tijd als YYYYMMDDHHMMSS

Netwerk Codes

Hieronder vindt u de huidige lijst van netwerk codes zoasl gebruikt in de OPERATOR parameter.

Operator Netwerk Code
België
Proximus 20601
Mobistar 20610
Base 20620
Frankrijk
Bouygues Telecom 20820
Orange 20801
SFR 20810
Duitsland
T-Mobile 26201
E-Plus 26203
Mobilcom 26213
O2 26207
Vodafone 26202
Spanje
Orange 21403
Telefonica 21407
Vodafone 21401
Nederland
KPN Mobile 20408
Vodafone 20404
T-Mobile 20416
Telfort 20412
Orange 20420
Tele2 20402
Turkey
Avea 28604
Vodafone 28602
Turkcell 28601
Verenigd Koninkrijk
3 23420
O2 23410
Orange 23433
T-Mobile 23430
Vodafone 23415

Introductie

Spryng levert een HTTP GET verzoek aan een script op uw server wanner een mobiel gegenereerd (MO) bericht aankomt.U moet een script opzetten dat HTTP GET data kan afhandelen om verzoeken te ontvangen. De verzoeken komen van één IP-adres dat gekoppeld is aan verschillende backup servers door VRRP om redundantie te bereiken. Het is belangrijk dat u uw firewalls etc. opent voor inkomende verzoeken van onze servers:

83.96.144.191
83.96.144.207
83.96.144.209

Het HTTP verzoek uitgevoerd door Spryng moet beantwoord worden door uw server met de status code 200 en een body van TRUE, wat betekent dat het bericht succesvol is geaccepteerd door uw systeem. Wanneer de HTTP server niet bereikt kan worden en als het bijvoorbeeld terugkomt met 500 internal server error of als het terugkomt met de body FALSE, neemt Spryng aan dat het bericht niet succesvol is geaccepteerd door uw systeem en het verzoek zal eenmaal per minuut opnieuw verzonden worden. Het bericht zal niet eeuwig opnieuw verzonden worden, de huidige instelling is 24 uur.

Berichten ontvangen van Spryng

Voorbeeld voor een C# script

using SpryngApiMoGateway.Models;

namespace SpryngApiMoGateway.Controllers
{
    public class SpryngController : Controller
    {
        [HttpGet]
        [Route("api/spryng/mo-gateway-webhook")]
        public ActionResult Index(MoGatewayResponseModel model)
        {
            // ASP.Net doesn't properly serialize the timestamp. Serialize it manually.
            model.Timestamp = DateTime.ParseExact(Request.QueryString["TIMESTAMP"], "yyyyMMddHHmmss", CultureInfo.InvariantCulture);

            return Json(model, JsonRequestBehavior.AllowGet);
        }
    }
}

Parameters

Parameter
MSISDN Het telefoonnumer waar het antwoord vandaan komt
KEYWORD Het keyword waarmee het bericht start
PARM Alle tekst na het KEYWORD
OPERATOR Netwerk Code vande MSISDN
TIMESTAMP Tijd dat het bericht ontvangen is door SMSC of het systeem
SHORTCODE De shortcode waar het antwoord naartoe is verzonden
COUNTRY De 3 letterige land code (ISO 3166-1 alpha-3)

MSISDN

Het telefoonnumer waar het antwoord vandaan komt.

Type MSISDN-numeriek (internationaal format niet voorafgegaan door “00” or “+”)
Min lengte 1 MSISDN
Max lengte 1 MSISDN
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld MSISDN=31612345678

KEYWORD

Het keyword waarmee het tekst bericht start. Karakter zullen url encoded worden.

Type Alphanumeriek
Min lengte 2
Max lengte 15
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld KEYWORD=WIN

PARM

Alle tekst na het KEYWORD. Karakters zullen url encoded worden.

Type Alphanumeriek
Min lengte <na>
Max lengte <na>
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld PARM=ON

OPERATOR

Netwerk Code van de MSISDN. Netwerk Codes voor andere landen kunnen op de volgende website gevonden worden: http://www.mcc-mnc.com.

Type Numeriek
Min lengte 5
Max lengte 5
Min waarde <na>
Max waarde <na>
Waardes Zie bijlage B
Default waarde OPERATOR=20408
Voorbeeld MSISDN=31612345678

TIMESTAMP

De tijd dat het bericht ontvangen is door SMSC of wanneer niet geleverd; de tijd dat het bij onze systemen binnen komt. Zie bijlage A voor field types.

Type Tijd
Min lengte 14
Max lengte 14
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld TIMESTAMP=20040208152544

SHORTCODE

De shortcode waar het antwoord naar verzonden is.

Type Numeriek (nationaal format
Min lengte <na>
Max lengte <na>
Min waarde <na>
Max waarde <na>
Waardes <na>
Default waarde <none>
Voorbeeld SHORTCODE=4414

COUNTRY

De 3 letterige land code is ISO 3166-1 alpha-3. Een lijst van de huidige officieel toegewezen ISO 3166-1 alpha-3 codes kunt u vinden op http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3.

Type Alphanumeriek (ISO 3166-1 alpha-3)
Min lengte 3
Max lengte 3
Min waarde ABW
Max waarde ZWE
Waardes ISO 3166-1 alpha-3
Default waarde <none>
Voorbeeld COUNTRY=NLD

Field Types

Type Waardes
Numeric Karakter 0 tot 9
Alphanumeric Karaketers van ISO-8859-1
MSISDN-numeric Karakters 0 tot 9, heteerste karakter kan een ‘+’ teken zijn
Time Tijd als YYYYMMDDHHMMSS

Netwerk Codes

Onderstaand vindt u de huidige lijst van netwerk codes zoals die gebruikt worden in de OPERATOR parameter

Operator Netwerk Code
België
Proximus 20601
Mobistar 20610
Base 20620
Frankrijk
Bouygues Telecom 20820
Orange 20801
SFR 20810
Duitsland
T-Mobile 26201
E-Plus 26203
Mobilcom 26213
O2 26207
Vodafone 26202
Spanje
Orange 21403
Telefonica 21407
Vodafone 21401
Nederland
KPN Mobile 20408
Vodafone 20404
T-Mobile 20416
Telfort 20412
Orange 20420
Tele2 20402
Turkey
Avea 28604
Vodafone 28602
Turkcell 28601
Verenigd Koninkrijk
3 23420
O2 23410
Orange 23433
T-Mobile 23430
Vodafone 23415