You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e43a9a5
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: TECHNICAL.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -195,7 +195,7 @@ how code accesses configuration; request fields remain separate from deployment
195
195
|`EPP_PROVIDER_SMS_ENDPOINT`| Required for SMS delivery | Provider-approved HTTPS SMS endpoint. Guided setup writes the complete send URL from the selected regional profile. |
196
196
|`EPP_PROVIDER_VOICE_ENDPOINT`| Required for voice delivery | Provider-approved HTTPS voice endpoint, which can differ from the SMS endpoint. Guided setup writes the complete send URL. |
|`EPP_PROVIDER_AUTH_MODE`| Live delivery | Must match the adapter: `apiKey` for Telesign or `oauth` for Soprano. |
198
+
|`EPP_PROVIDER_AUTH_MODE`| Live delivery | Must match the adapter: `apiKey` for Infobip, Sinch, or Telesign; `oauth` for Soprano. Bundled adapters do not all have guided setup profiles. |
199
199
|`EPP_PROVIDER_TENANT_ID`, `EPP_PROVIDER_SCOPE`| Soprano OAuth | Provider tenant and selected API scope. |
200
200
|`EPP_OUTBOUND_CLIENT_ID`, `EPP_OUTBOUND_MI_CLIENT_ID`| Soprano OAuth | Existing multitenant application and outbound user-assigned managed identity used for client-assertion exchange. |
201
201
|`EPP_PROVIDER_TIMEOUT_MS`| Optional | Decimal milliseconds. Defaults to `1500`, capped at `2500`; not an end-to-end deadline. |
@@ -252,7 +252,14 @@ Incoming `tenantId`, `channel`, `mode` and `ttlSeconds` are request data and nev
252
252
configured provider or authentication. `channel` selects the configured SMS or voice endpoint;
253
253
there is no deployment-level channel restriction. The legacy `EPP_PROVIDER_CHANNEL` setting is ignored.
254
254
255
-
## Telesign EPP
255
+
## Provider-specific integration details
256
+
257
+
Use the [credential and deployment-support table](docs/ONBOARDING.md#provider-credential-names)
258
+
for your selected adapter. The [Soprano OAuth and voice contract](docs/CONTRACT.md#soprano-provider-jwt)
259
+
and [Telesign EPP contract](docs/CONTRACT.md#telesign-epp-integration) describe different API requirements,
260
+
not a provider ranking. The wire example below illustrates Telesign's format only.
261
+
262
+
### Telesign EPP
256
263
257
264
The `telesign` adapter sends its JSON contract to the complete SMS or voice URL selected by the
258
265
request channel from the configured endpoints. It does not append or infer a route.
Copy file name to clipboardExpand all lines: docs/CONTRACT.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -298,7 +298,7 @@ Set by provisioning. **Identical names across all languages.**
298
298
|`EPP_PROVIDER_SMS_ENDPOINT`| required SMS endpoint for the selected provider/region; complete send URL for Telesign/Soprano, base URL for Infobip/Sinch |
299
299
|`EPP_PROVIDER_VOICE_ENDPOINT`| required voice endpoint for the selected provider/region; complete send URL for Telesign/Soprano, base URL for Infobip/Sinch; may differ from SMS |
300
300
|`EPP_PROVIDER_ENDPOINT_REGION`| selected `global` or `eu` route label; informational at runtime |
301
-
|`EPP_PROVIDER_AUTH_MODE`| must match the selected provider (`apiKey` for Telesign, `oauth` for Soprano) |
301
+
|`EPP_PROVIDER_AUTH_MODE`| must match the selected adapter (`apiKey` for Infobip, Sinch, or Telesign; `oauth` for Soprano); see [guided versus adapter-only support](ONBOARDING.md#provider-credential-names)|
302
302
|`EPP_PROVIDER_TENANT_ID`| selected provider tenant; added to the Step 1 app's allowed-tenants preview and used as the OAuth authority for Soprano |
303
303
|`EPP_PROVIDER_SCOPE`| Soprano OAuth scope |
304
304
|`EPP_OUTBOUND_CLIENT_ID`, `EPP_OUTBOUND_MI_CLIENT_ID`| client application and user-assigned identity used for Soprano client-assertion exchange |
Copy file name to clipboardExpand all lines: setup/docs/README.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -304,7 +304,8 @@ propagation errors are retried during capability checks/deployment. Permission f
304
304
unsupported regions remain explicit errors. Registration is subscription-wide and isn't undone
305
305
automatically if a later deployment step fails.
306
306
307
-
Supply known values to shorten the prompts:
307
+
Supply known values to shorten the prompts. Replace `<provider-id>` with your selected guided
308
+
provider's ID (`soprano` or `telesign`); neither is a default or recommendation:
308
309
309
310
```powershell
310
311
.\Setup-Epp.ps1 `
@@ -314,7 +315,7 @@ Supply known values to shorten the prompts:
314
315
-Location westus2 `
315
316
-Language javascript `
316
317
-ServicePlan FC1 `
317
-
-Provider telesign `
318
+
-Provider '<provider-id>' `
318
319
-EndpointRegion global `
319
320
-ResourcePrefix contoso
320
321
```
@@ -366,8 +367,9 @@ alone never approves changes. There is no `-Stage`, `-Resume`, `-ConfigPath`, or
366
367
367
368
### Noninteractive example
368
369
369
-
This is a fully specified Telesign/Global JavaScript deployment example supporting both SMS and
370
-
voice, not a credential script. Replace the three IDs and choose a permitted region/prefix/plan before running.
370
+
This JavaScript deployment template supports both SMS and voice; it is not a credential script.
371
+
Replace the three application/tenant/subscription IDs and `<provider-id>` (`soprano` or `telesign`),
372
+
and choose the approved provider route, Azure region, prefix, and plan before running.
371
373
The preliminary user sign-ins can require MFA and consent; `-NonInteractive` does not create a
372
374
headless service-principal deployment path. Install the Graph modules/Bicep beforehand using
373
375
interactive setup's prerequisite prompts or your approved installation process.
@@ -387,7 +389,7 @@ Connect-MgGraph -TenantId $tenantId -ContextScope Process `
387
389
-SubscriptionId $subscriptionId `
388
390
-ApplicationId $applicationId `
389
391
-Location westus2 `
390
-
-Provider telesign `
392
+
-Provider '<provider-id>' `
391
393
-EndpointRegion global `
392
394
-Language javascript `
393
395
-ServicePlan FC1 `
@@ -419,8 +421,8 @@ configuration metadata, not provider credentials or private-key bytes. Keep it a
419
421
|`source`, `packageUrl`, `sourcePackageSha256`, `packageSha256`, `language`, `servicePlan`| Source/package provenance and runtime/plan. FC1 Python's built hash can be null; source and built hashes describe different artifacts. |
420
422
|`policyChanged`| Expected `false`: deployment has not activated policy. |
421
423
422
-
For example, a healthy record can contain `"provider": "telesign"`,
423
-
`"endpointRegion": "global"`, `"certificateRenewal": "manual"`, and `"policyChanged": false`.
424
+
The `provider` field must match your selected provider. For example, a record for the Global route
425
+
can contain `"endpointRegion": "global"`, `"certificateRenewal": "manual"`, and `"policyChanged": false`.
424
426
Those fields do not prove credentials, delivery, or monitoring work. Follow
0 commit comments