PHP SDK
The SimJuno PHP SDK provides typed access to the reseller and eSIM APIs. It includes authentication, retries, timeouts, API exceptions, and request and response classes.
The Composer package name is simjuno/sdk, and its source is available on GitHub.
Install
The SDK requires PHP 8.1 or later and a PSR-18 HTTP client. The example installs Guzzle; you can use another PSR-18 implementation instead.
Create a client
Create an API key, store it in SIMJUNO_API_KEY, and initialize the client. Keep the key in server-side code.
The SDK uses https://api.simjuno.com/v1 by default and sends the API key in the x-api-key header.
Work with eSIMs
The SDK follows the standard SimJuno integration flow. This example finds a plan, confirms its current details, and places an order:
Ordering eSIMs debits your reseller balance. If you retry the same order, reuse the same OrderEsimRequest so its transaction ID and order list do not change.
After receiving the ORDER_STATUS webhook, retrieve the provisioning details for each returned eSIM ID:
Available methods
Handle errors
Non-success responses throw SimjunoApiException. Transport and serialization failures throw SimjunoException:
Configure retries and timeouts
Requests retry up to two times by default for transport failures and 408, 429, and 5xx responses. Retries count toward your rate limit.
Set defaults when creating the client:
Override them for one request:
Timeout options are supported with Guzzle and Symfony HttpClient. Other PSR-18 clients use their own timeout configuration.