End Customer Lookup Summary

The End Customer Lookup serves as the initial step in the Ordering API flow.

At this stage, it allows SPs to gather essential data related to a targeted end customer based on the address and fuzzy name provided. This includes crucial information such as Alliance status (e.g., AT&T only status which implies that AT&T can only do business with the end-customer) and customer specifics like sub-account ID.

First step: end customer lookup

If no end-customer is found then solution provider (SP) receives a message stating, ‘No customer found.’ With this information, SPs can confidently initiate business interactions with end customer, ensuring a seamless and informed process.

Security

This RESTful service uses a client id enforcement policy as the authentication mechanism. Please work with the Client On-Boarding Team if you do not have the necessary credentials.

Endpoints and Headers

POST API Endpoints

 

If you are a Connector, meaning you develop on behalf of multiple Solution Provider accounts to retrieve information for them, you will use the same URL, and ensure that you pass the unique client header per Solution Provider.

API Headers

The following are the fields in the Request headers of the End Customer Lookup API.

Field Name

Field Description

Mandatory/Optional

content-type

Application/json

M

accept

Specifies the format of the response message body.

Structured text message payloads are required to support application/json. No other format is permitted. As they are the only supported format, the accept header is not relevant for those requests.

O

x-trace-id

A trace ID is a random unique identifier that is created by SP, this can be used to track errors that occur while using a service for the rest of the flow. This field is used for passing a trace ID between API hops for end-to-end traceability.

 

M

x-transaction-id

This field is used for passing a traceable ID to uniquely identify the transactions.

O

client_id

This field represents client id.

M

client_secret

This field represents client secret.

M

source

This field should identify the calling system/application.

O

Scenario 1: Look up an end customer.

POST {baseURI}

Request:

{

  "accountName": "AT&T CLOUD TEST FOUNDRY",

   “spId": "10006",

  "address": {

    "street": "2900 W PLANO PKWY",

    "city": "PLANO",

    "state": "TX",

    "zipCode": "75075"

  }

Response:

Note: This response is only an example to show the structure, this is not real end customer information and is based on the above request.

    [{

        "accountAddress": {

            "city": "PLANO",

            "country": "USA",

            "state": "TX",

            "street": "2900 W PLANO PKWY",

            "zipCode": "750758004"

        },

        "accountName": "AT&T CLOUD TEST FOUNDRY",

        "accountId": "0013g00000cUIRtAAO",

        "acid": null,

        "salesSegment": null,

        "subAccountId": "U8xxM4",

        "contractStatus": null,

        "parentPartnerAccId": null,

        "partnerId": null,

        "loaStatus": "N",

       

 

 


 

"allianceStatus": "ATT ONLY",

        "accountStatus": "Inactive",

        "exception": "N"

    }]

 

Scenario 2: Look up details of a subAccountId

 

GET {baseURI}

Request: Query Parameter : spId(optional)

Response:

 

[
   {
       "type": "Partner Contact",
       "firstName": "test",
       "middleName": null,
       "lastName": "test",
       "title": "MR",
       "email": "test@gmail.com",
       "telephone": "(111)222-1111",
       "country": "US",
       "streetAddress": "1st test,Mission St",
       "city": "San Francisco",
       "state": "CA",
       "zipCode": "91000"
   },
   {
       "type": "Partner Contact",
       "firstName": "test",
       "middleName": null,
       "lastName": "test",
       "title": null,
       "email": "test@example.com",
       "telephone": "1234567890",
       "country": "US",
       "streetAddress": "test street,Suite 400",
       "city": "Chicago",
       "state": null,
       "zipCode": "60631"
   }
]