# Quick Start Guide
source: https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/quick-start-guide/index.md

Use this quick start guide to quickly create a new project and generate the keys required for the Merchant Self Services API Sandbox environment.
Note: We recommend using OpenAPI Generator to integrate with APIs. See [Generating and Configuring a Mastercard API Client](https://developer.mastercard.com/platform/documentation/security-and-authentication/generating-and-configuring-a-mastercard-api-client/) for more information.

## Create a New Project {#create-a-new-project}

1. Go to your [dashboard](https://developer.mastercard.com/dashboard).
2. Select **Create New Project** from the upper right.
3. In the dropdown list, select **Merchant Self Services**.
4. After you've made your choices, select **Continue**.
5. Enter a name for your project. You can also choose to invite other team members to view and work on your project.
6. Select **Continue**.

### Sandbox OAuth credentials {#sandbox-oauth-credentials}

1. Select **Download PKCS#12 Keystore** to download a ZIP file containing the .p12 file required for OAuth authentication in Sandbox.
2. After the download completes, select **Continue**.
3. Make a note of the keystore password and key alias shown on the screen. The keystore password is used with the .p12 file and Client ID for OAuth authentication.
4. Select **Confirm and Continue** to complete the Sandbox setup process.

### Import sandbox keys {#import-sandbox-keys}

Open the ZIP file you downloaded in the previous steps. Import the Sandbox keys (the *.p12* file) according to your development environment using the Sandbox keystore password. For example, in the [Reference Application Tutorial](https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/reference-app-tutorial/index.md), you copy the *.p12* file to the `resources` folder in the sample Maven project.

Your project page shows the consumer key that applies to your environment. The consumer key is a 97-character string separated by an exclamation mark. The format is `<client_id>!<key_id>`. The **Mastercard API Client ID** is the first 48 characters of this key (`<client_id>`), which uniquely identifies the API-calling financial institution (issuer) or merchant.

## Make your first Sandbox API call {#make-your-first-sandbox-api-call}

Use the following request to verify your authentication and connectivity to the Merchant Self Services Sandbox. This example retrieves the organization profiles available to your Alerts merchant account and doesn't create or change data.

Before running the command, replace the `Authorization` placeholder with an OAuth 1.0a header generated from your Sandbox consumer key and signing key. Also replace the submitter header values with the technical contact details for your project.

```curl
curl --request GET \
  --url 'https://sandbox.api.ethocaweb.com/ethoca/merchant-self-services/alerts/merchants/org-profiles' \
  --header 'Accept: application/json' \
  --header 'Authorization: OAuth <signed-request>' \
  --header 'User-Id: <your-user-id>' \
  --header 'Submitter-First-Name: <your-first-name>' \
  --header 'Submitter-Last-Name: <your-last-name>'
```

For details about generating the OAuth 1.0a `Authorization` header, see [Using OAuth 1.0a to Access Mastercard APIs](https://developer.mastercard.com/platform/documentation/security-and-authentication/using-oauth-1a-to-access-mastercard-apis/).

### Expected successful response {#expected-successful-response}

A successful request returns HTTP `200 OK` and an organization profile for the member associated with your credentials. The IDs, names, merchant types, statuses, and nested profiles in your response depend on your Sandbox account. The following example shows the response structure:

```json
{
  "memberId": "99ca4b15-72a6-41dd-8127-573d4b07669c",
  "name": "Partner Merchant 1",
  "merchantType": "PARTNER",
  "status": "ACTIVATED",
  "subOrgProfiles": [
    {
      "memberId": "11ab4b15-72a6-41dd-8127-573d4b07669c",
      "name": "Acquirer Merchant 1",
      "merchantType": "ACQUIRER",
      "status": "ACTIVATED"
    }
  ]
}
```

If you receive `200 OK`, your Sandbox credentials, OAuth signature, required headers, and network connection are working for this endpoint.

## Test in Sandbox {#test-in-sandbox}

After completing your first successful API call, you are ready to test the full functionality of the Merchant Self Services API in Sandbox. Follow the [Reference Application Tutorial](https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/reference-app-tutorial/index.md) to create a generated API client and make additional requests.

Use the [API Reference](https://developer.mastercard.com/merchant-self-services/documentation/api-reference/index.md) to review the operations, required headers, request schemas, and response schemas available for your implementation.

## Move to Production {#move-to-production}

Production access requires approval from Mastercard and assistance from the [Ethoca Customer Delivery Team](mailto:customerdelivery@ethoca.com). Approval typically takes two to five days, depending on the specific terms of your contract.

### Promotion workflow {#promotion-workflow}

|              Stage               |                        Entry criteria                        |                                                                                            Action                                                                                            |                          Exit criteria                          |
|----------------------------------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|
| 1. Complete Sandbox testing      | Your first Sandbox call returns `200 OK`.                    | Run the [Testing](https://developer.mastercard.com/merchant-self-services/documentation/testing/index.md) workflow and the test cases for your product.                                      | Each applicable test case returns its documented response.      |
| 2. Request Production access     | Stage 1 is complete.                                         | Request Production access for your project on your [dashboard](https://developer.mastercard.com/dashboard), then contact the Product Integration Team to get the production request form.    | You have the production request form.                           |
| 3. Submit the production request | You have the form and the required information listed below. | Complete and submit the form.                                                                                                                                                                | The Product Integration Team confirms it received your request. |
| 4. Approval                      | Your request is submitted.                                   | Mastercard reviews the request. This typically takes two to five days.                                                                                                                       | Mastercard approves Production access for your project.         |
| 5. Switch to Production          | Production access is approved.                               | Configure your Production credentials and the Production base URL from [API Basics](https://developer.mastercard.com/merchant-self-services/documentation/api-basics/index.md#environments). | Your first Production request succeeds.                         |

### Information required for the production request {#information-required-for-the-production-request}

* Your Mastercard Developers project name.
* Your customer contact details.
* The product you are integrating: Consumer Clarity for Merchants, Ethoca Alerts for Merchants, or both.

### Escalation {#escalation}

If these SLAs are exceeded or you encounter blockers during onboarding, use the following channels:

1. Submit a technical support request using the Get Help button on the [Support page](https://developer.mastercard.com/merchant-self-services/documentation/support/index.md).
2. Contact the [API Consultancy \& Standards Support Team](mailto:API_Consultancy_and_Standards@mastercard.com).
3. If your contract timeframe or technical promotion request has exceeded the SLA without resolution, forward your original case to [Integration_Escalations@mastercard.com](mailto:Integration_Escalations@mastercard.com). Include "SLA EXCEEDED" and the original ticket number in the email subject. You will receive an acknowledgment response within 24 hours.

## Next Steps {#next-steps}

* Check out the [Reference Application Tutorial](https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/reference-app-tutorial/index.md) for step-by-step guidance on testing the Merchant Self Services API in Sandbox.
* Use the [API Reference](https://developer.mastercard.com/merchant-self-services/documentation/api-reference/index.md) for details about the fields and values relevant to your implementation.
