Skip to content

Commit

Permalink
Merge pull request #2 from Telefonica/web/mt
Browse files Browse the repository at this point in the history
Intro documentation
  • Loading branch information
mtnieto authored Sep 5, 2024
2 parents 3338bb1 + 8d7ac86 commit 3eac5a7
Show file tree
Hide file tree
Showing 10 changed files with 179 additions and 92 deletions.
Binary file modified about/images/architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions about/initiative.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,17 @@ We understand that integrating new technologies can be challenging. That's why O
Getting started with Open Gateway APIs is easy:

1. **Explore Available APIs:** Browse our API catalog to discover the various network capabilities and services that you can integrate into your applications.
2. **Find a channel partner:** Identify a Channel Partner or join the [Developer Hub](https://opengateway.telefonica.com/developer-hub) in order to use the APIs through its Sandbox environment.
2. **Find a channel partner or use our Sandbox:** Identify a channel partner or join to the [Developer Hub](https://opengateway.telefonica.com/developer-hub) in order to use the APIs.
3. **Register and Obtain Credentials:** Sign up for an account and obtain the necessary API credentials to access the services.
4. **Read the Documentation:** Familiarize yourself with our comprehensive documentation to understand how to make API calls, handle responses, and implement best practices.
5. **Start Building:** Begin integrating Open Gateway APIs into your applications, leveraging the powerful network capabilities to create innovative and high-performance solutions.


## Join the Open Gateway Community


Open Gateway APIs open up a world of possibilities for developers looking to harness the power of advanced network capabilities. Our standardized, secure, and easy-to-use APIs provide the foundation for creating exceptional applications that meet the demands of today's connected world. Start your journey with Open Gateway today and transform your ideas into reality.

By becoming a part of the Open Gateway community, you join a global network of developers, innovators, and industry leaders dedicated to advancing the digital ecosystem. Share your experiences, collaborate with peers, and stay updated with the latest developments and best practices.
By becoming a part of the Open Gateway community, you join a global network of developers, innovators, and industry leaders dedicated to advancing the digital ecosystem. Please, join to our [Developer Hub](https://opengateway.telefonica.com/developer-hub) for exclusive content and to use the Sandbox to test the Open Gateway APIs.

Welcome to the future of network integration. Welcome to Open Gateway APIs.
30 changes: 30 additions & 0 deletions catalog/devicelocation/devicelocation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: Device Location API
excerpt: The Device Location API from Open Gateway allows to check if a mobile phone is in a determined location.
category: 66aa4f941e51e7000fa353ce
---


The Device Location API is a software interface that allows applications to confirm if a user's device is in its intended location. The network must track a device's location at all times to effectively provide telecommunications services. This capability is utilized to offer device location as a service.

The Device Location API enhances security by verifying that a device is in the expected location during transactions, which helps prevent fraud and unauthorized activities. This verification process also streamlines authentication, leading to faster and smoother transactions, ultimately improving the user experience.

Additionally, the API is a valuable tool for fraud prevention, as it can quickly detect and mitigate potential threats by identifying discrepancies between the claimed and actual device locations. It also helps businesses comply with regulatory requirements in industries where location verification is essential, such as finance and gaming.

Furthermore, by knowing a user's location, businesses can offer more personalized and context-aware services, increasing customer engagement and satisfaction. The API's versatility makes it applicable across various industries, including retail, telecom, and logistics. For merchants, it also contributes to reducing chargebacks by verifying the location of a device during transactions.


## Overview of the SIM Swap CAMARA API

### High level definition

The Device Location CAMARA API is a software interface that allows applications to confirm if a user’s device is in the expected location. For the network to deliver its telecommunications services effectively, it must be able to locate a device at any time. This capability is thus utilized to provide device location as a service.

### API Operations

The Device Location Camara API specifies one operation:

- **POST /verify**: answers the question ‘is the device in the circle determined by a center (latitude and longitude) and an accuracy (given in km as the radius of the circle)?’

[Check the API Reference](/reference/retrievedevicelocation)

File renamed without changes.
29 changes: 29 additions & 0 deletions catalog/devicestatus/devicestatus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Device Status API
excerpt: The Device Status API makes it possible to check the roaming status of a specific SIM-based device by using events from the operators' network.
category: 66aa4f941e51e7000fa353ce
---

The Device Location API is a software interface that allows applications to confirm if a user's device is in its intended location. The network must track a device's location at all times to effectively provide telecommunications services. This capability is utilized to offer device location as a service.

The Device Location API enhances security by verifying that a device is in the expected location during transactions, which helps prevent fraud and unauthorized activities. This verification process also streamlines authentication, leading to faster and smoother transactions, ultimately improving the user experience.

Additionally, the API is a valuable tool for fraud prevention, as it can quickly detect and mitigate potential threats by identifying discrepancies between the claimed and actual device locations. It also helps businesses comply with regulatory requirements in industries where location verification is essential, such as finance and gaming.

Furthermore, by knowing a user's location, businesses can offer more personalized and context-aware services, increasing customer engagement and satisfaction. The API's versatility makes it applicable across various industries, including retail, telecom, and logistics. For merchants, it also contributes to reducing chargebacks by verifying the location of a device during transactions.


## Overview of the SIM Swap CAMARA API

### High level definition

The Device Status CAMARA API is a software interface that enables a requester to provide a mobile device identifier (such as MSISDN, IP, or an external identifier) and receive a response indicating whether the device is currently in roaming status.

### API Operations

The Device Status Camara API specifies one operation:

- **POST /roaming**: answers the question 'is the device in roaming?'

[Check the API Reference](/reference/devicestatus)

File renamed without changes.
15 changes: 15 additions & 0 deletions catalog/numberverification/numberverification.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,18 @@ In today's digital landscape, verifying phone number ownership is critical to pr
The Number Verification API utilizes telco mechanisms to authenticate users seamlessly based on their device's connection to the network. This method contrasts with traditional authentication solutions by enhancing user convenience and security. Unlike manual processes or plain-text codes, network-based validation requires no user interaction, bolstering protection against unauthorized access.

This API verifies that the provided mobile phone number (MSISDN) matches the device initiating data communication, ensuring users interact with digital services from authenticated devices.

# Overview of the Number Verification CAMARA API

## High level definition of the Number Verification CAMARA API

The Number Verification CAMARA API validates user identity by confirming ownership of the phone number being registered, matching it with the number identified by the operator through the user’s device connection. It facilitates two primary operations:

- **POST verify:** Determines if the provided phone number matches the one currently in use by the user (parameter `phoneNumber`). This operation is ideal for user authentication.

- **GET device-phone-number:** Identifies the phone number currently associated with the user's device without requiring input, providing a straightforward way to retrieve this information.

The Number Verification CAMARA API enables developers to seamlessly integrate authentication mechanisms into their applications, enhancing the user experience and security. It can also be combined with other Open Gateway APIs focused on anti-fraud measures to further bolster security.

Integration with channel partners and service aggregators streamlines the incorporation of telco functionalities with additional security algorithms, backup authentication methods, or external data sources. This collaboration enhances service reliability and security, leveraging APIs like Device Location Verification or SIM SWAP within the Open Gateway framework.

1 change: 1 addition & 0 deletions catalog/simswap/simswap.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,4 @@ This is where SIM swap fraud becomes dangerous. The "new" mobile phone can be us
To safeguard against SIM swap fraud, it is crucial to be aware of how your personal and financial information is used and protected. Use strong, unique passwords for your accounts, enable two-factor authentication, and monitor your accounts for any suspicious activity. Always be cautious of unsolicited requests for personal information, whether over the phone, via SMS, or through email.

By understanding the mechanics of SIM swap fraud and taking proactive steps to protect your accounts, you can significantly reduce the risk of falling victim to this type of cybercrime.

96 changes: 6 additions & 90 deletions gettingstarted/sandbox/sandbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ title: 🧪 Sandbox
excerpt: In this section you will find how to use the Telefónica Open Gateway Sandbox environment to test the Open Gateway APIs without the need to subscribe to a Channel Partner. Your tests won't be charged and won't be suitable for going into a production stage, so it is a great chance to learn and prototype, as a previous step to go commercial.
category: 66d5624a492663000f4ed527
---
The Sandbox in Open Gateway is a secure and free testing environment that allows developers to experiment with Open Gateway APIs without any risk to live systems. This isolated space is designed to help developers validate their applications, ensuring they work as intended before deployment. By providing access to all the necessary tools and resources, the Sandbox allows developers to simulate real-world scenarios and thoroughly test API integrations.

One of the key advantages of the Open Gateway Sandbox is its ability to offer a risk-free environment where developers can troubleshoot issues, refine their code, and optimize performance without impacting actual data or services. This ensures that any potential bugs or errors are identified and resolved early in the development process, leading to more reliable and secure applications when they go live.

Additionally, the free access to the Sandbox makes it an invaluable resource for developers, especially those working on tight budgets or within smaller teams. It provides all the benefits of a robust testing environment without the associated costs, allowing developers to focus on creating high-quality applications. By using the Sandbox, developers can ensure that their solutions are fully functional, secure, and optimized, paving the way for a smoother and more successful deployment.
Please note that the usage of credentials granted from our Sandbox might be subject to some limitations in order to let you test without the obligations of a commercial contract. The terms and conditions of our developer or partner programs will apply.

Please note that the usage of credentials granted from our Sandbox might be subject to some limitations in order to let you test without the obligations of a commercial contract. The terms and conditions of our developer or partner programs will apply.

Expand All @@ -16,93 +22,3 @@ The only requirement to start using the Open Gateway Sandbox is to join one of o
Once you are approved in at least one of our programs and you log in to the private area of the Telefónica Open Gateway website, you already have access to the Sandbox web console as a program member from the Technical Toolbox section.

![Access to the Sandbox console from the website private area](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/access.png?raw=true)

## Registering your application

Open Gateway APIs access is granted to applications, not developers, so every application can have limited access to the scope and for the purpose it needs.

[More information on Privacy](/docs/privacy)

Therefore the way to get credentials to test the APIs is to register an application in the Sandbox console. You will use your application credentials to authenticate your requests to the APIs from any test you code no matter if it is actually a comprehensive application or just a tiny script to run from the a command line interface.

For every application you create, you will need to follow these simple steps to configure it:

1. Select the APIs you want your application to test. It could be one or several APIs depending on your use case.

![API selection](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/api-selection.png?raw=true)

2. Select the usage mode for your application. You have the following options:

- **Production mode**

Although our Sandbox is not a Channel Partner's production environment but a testing environment instead, it can route your API calls to our mobile operators to provide a real response if you test your prototype application from a device connected to one of their networks. That requires that you are the mobile line holder and have the SIM card installed in such device.

Movistar (Spain) is already available for testing from the Telefónica Open Gateway Sandbox, and other Telefónica operators in other countries will be added soon.

The production mode is disabled by default for Privacy reasons, but you can enable it by filling in your legal information and accepting the terms and conditions in the form that the Sandbox console will offer you for that purpose. You will have to provide some mobile phone numbers of your own which will be added to a whitelist that will allow you to test the APIs in production mode from your own devices and will block API usage accessing someone else's personal data.

- **Mock mode**

You can test your application without the need to have a SIM card from one of our mobile operators. The Sandbox will provide you with a mock response for every API call you make.

The mock mode will also make available for you some APIs that are not still commercially available on our mobile operators, so you can test them in advance.

![Usage mode](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/usage-mode.png?raw=true)

3. Briefly describe your application as part of the application onboarding process so that mobile operators can understand the purpose of your tests and validate it.

Since it is a testing environment, your application won't be rejected as per this information, but our Sandbox uses standard procedures to register applications in the mobile operators' systems which takes this data as mandatory.

These are the fields you need to fill in:

- **Name**: A name to identify your application by the operators as an Open Gateway APIs consumer.
- **Full name**: Your application's commercial name by which operators can find it in your website or application stores.
- **Description**: A brief description of your application's use case related to the usage of the APIs.
- **Redirect URL**: (Optional) For frontend triggered authorization flows, you must indicate an URI hosted on your servers for the flow to call back to your code for it to complete authorization and perform the service API request (check [frontend triggered authorization flow](/docs/frontend) for detailed information).

![App information](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/app-information.png?raw=true)

4. Check the specifications and accept the terms and conditions per API and operator.

Each mobile operator has its own terms and conditions for the usage of each API, and its own technical specifications you will want to consider when it comes to consuming them, so you will need to accept them for each API you want to test on each operator you have previously selected.

Since our Sandbox is just a free testing environment, specifications are not binding and conditions are meant for safeguarding privacy, even given that only whitelisted phone numbers can be used when testing in the Production mode with our mobile operators. In the case of the Mock mode, a global simulated operator will provide you with mock responses being the terms and conditions of the program you are member to that applies.

![Check specifications and conditions per API and operator](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/app-configuration.png?raw=true)

5. Review the summary and confirm

![Review the summary and confirm](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/review-confirm.png?raw=true)

6. Once you have confirmed, your application is granted access to the Sandbox API gateway with its credentials.

![alt text](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/app-created.png?raw=true)

To get your application credentials and use them in your prototype, go to the application details page on the My Apps section, where you will find the following information:

- **Client ID**: A unique identifier for your application.
- **Client Secret**: A secret key to authenticate your application to the APIs.

![alt text](https://github.com/Telefonica/opengateway-developers-website/raw/main/gettingstarted/sandbox/images/app-credentials.png?raw=true)

Note that if you selected the Production mode, you will have to wait for the approval of your application by the mobile operators you selected. When your application status is "Completed" you are good to test the APIs with your applications's credentials no matter what end-user phone number you are using. If you only selected the Mock mode, you can start testing right away.

## Using the APIs

So far you have used the Sandbox console to register your application as the client to the APIs which means your application is the entity granted access with its credentials.

Now you will use such credentials to effectively consume de APIs from your code. You can use any programming language and any platform that supports HTTP requests, or you can use the Sandbox SDK for convenience. Our Open Gateway Sandbox provides you with a Python SDK and will publish SDKs in other common languages soon.

[Check the pros and cons of using HTTP integration or SDKs to consume the APIs](/docs/apiintegration)

When it comes to our Sandbox's SDK, the following particular considerations apply:
- Once you shift to a Channel Partner in a commercial stage, your production code will need to use their SDKs instead of the Sandbox's one you used for testing and prototyping or, in the worst case, you will have to use the HTTP integration method instead if no SDK is available for your app's language.
- Our Sandbox does not provide a fronted SDK, so if the use case you are prototyping triggers the authorization flow from the end-user device, you will need to implement it by coding HTTP integration. Once you progress to a production stage, you need to check your Channel Partner toolkit offering.

#### API reference

You can check the OpenAPI v3 specification of each API in the list of [Available APIs](/docs/available) or in the [API Roadmap](/docs/roadmap).

### Sandbox SDK reference

You can check the reference of the current Sandbox SDK reference in the [Python Sandbox SDK](./sdkreference.md) guide. The scope of the APIs covered and the programming languages supported will be extended progressively according to the Sandbox roadmap.
Loading

0 comments on commit 3eac5a7

Please sign in to comment.