diff --git a/specs/contacts.openapi.yml b/specs/contacts.openapi.yml index ee337db..ba608b6 100644 --- a/specs/contacts.openapi.yml +++ b/specs/contacts.openapi.yml @@ -124,23 +124,25 @@ paths: - lang: php label: PHP source: | + contacts($accountId); - $contact = $client->contacts($accountId)->create([ - 'email' => 'john.smith@example.com', - 'fields' => [ - 'first_name' => 'John', - 'last_name' => 'Smith', - 'company' => 'Example Inc' - ], - 'list_ids' => [1, 2, 3] - ]); + $response = $contacts->createContact( + CreateContact::init( + 'john.smith@example.com', + ['first_name' => 'John', 'last_name' => 'Smith', 'company' => 'Example Inc'], + [1, 2, 3] // List IDs + ) + ); - echo "Contact created: {$contact['email']}\n"; + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -314,22 +316,22 @@ paths: - lang: php label: PHP source: | + contacts($accountId); - // Get by contact ID - $contact = $client->contacts($accountId)->get($contactId); + // Get contact by ID + $response = $contacts->getContactById('019706a8-0000-0000-0000-4f26816b467a'); - // Or get by email (URL encoded) - $contactByEmail = $client->contacts($accountId)->get( - urlencode('john.smith@example.com') - ); + // OR get contact by email + $response = $contacts->getContactByEmail('john.smith@example.com'); - echo "Contact: {$contact['email']}\n"; - echo "Status: {$contact['status']}\n"; + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -453,9 +455,37 @@ paths: use Mailtrap\Config; use Mailtrap\MailtrapGeneralClient; use Mailtrap\DTO\Request\Contact\UpdateContact; - $config = new Config("YOUR_API_KEY"); - $contacts = (new MailtrapGeneralClient($config))->contacts(12345); - $response = $contacts->updateContactById("contact_id", UpdateContact::init("new@example.com", ["first_name" => "John"])); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + // Update contact by ID + $response = $contacts->updateContactById( + '019706a8-0000-0000-0000-4f26816b467a', + UpdateContact::init( + 'john.smith@example.com', + ['first_name' => 'John', 'last_name' => 'Smith'], + [3], // List IDs to add + [1, 2], // List IDs to remove + true // Unsubscribe + ) + ); + + // OR update contact by email + $response = $contacts->updateContactByEmail( + 'john.smith@example.com', + UpdateContact::init( + 'john.smith@example.com', + ['first_name' => 'John', 'last_name' => 'Smith'], + [3], + [1, 2], + true + ) + ); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -553,9 +583,18 @@ paths: contacts(12345); - $response = $contacts->deleteContactById("contact_id"); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + // Delete contact by ID + $response = $contacts->deleteContactById('019706a8-0000-0000-0000-4f26816b467a'); + + // OR delete contact by email + $response = $contacts->deleteContactByEmail('john.smith@example.com'); + + var_dump($response->getStatusCode()); - lang: python label: Python source: | @@ -625,9 +664,27 @@ paths: contacts(12345); - $response = $contacts->createEvent("contact_id", ["name" => "UserLogin", "params" => ["user_id" => 101, "is_active" => true]]); + use Mailtrap\DTO\Request\Contact\CreateContactEvent; + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->createContactEvent( + 'john.smith@example.com', // Contact identifier (email or UUID) + CreateContactEvent::init( + 'UserLogin', + [ + 'user_id' => 101, + 'user_name' => 'John Smith', + 'is_active' => true, + 'last_seen' => null + ] + ) + ); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -719,9 +776,22 @@ paths: contactExports(12345); - $response = $exports->create(["filters" => [["name" => "list_id", "operator" => "equal", "value" => [1, 2]]]]); + use Mailtrap\DTO\Request\Contact\ContactExportFilter; + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $filters = [ + // Export contacts that belong to lists 1 or 2 + ContactExportFilter::init('list_id', 'equal', [1, 2]), + // Only subscribed contacts + ContactExportFilter::init('subscription_status', 'equal', 'subscribed'), + ]; + + $response = $contacts->createContactExport($filters); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -812,9 +882,16 @@ paths: contactExports(12345); - $response = $exports->get($exportId); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $exportId = $_ENV['MAILTRAP_EXPORT_ID']; + $response = $contacts->getContactExport($exportId); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -904,11 +981,30 @@ paths: contactImports(12345); - $response = $imports->create(["contacts" => [ - ["email" => "user1@example.com", "fields" => ["first_name" => "John"], "list_ids_included" => [1, 2]] - ]]); + use Mailtrap\DTO\Request\Contact\ImportContact; + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $contactsToImport = [ + new ImportContact( + email: 'customer1@example.com', + fields: ['first_name' => 'John', 'last_name' => 'Smith', 'zip_code' => 11111], + listIdsIncluded: [1, 2], + listIdsExcluded: [4, 5] + ), + new ImportContact( + email: 'customer2@example.com', + fields: ['first_name' => 'Joe', 'last_name' => 'Doe', 'zip_code' => 22222], + listIdsIncluded: [1], + listIdsExcluded: [4] + ), + ]; + + $response = $contacts->importContacts($contactsToImport); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1008,9 +1104,16 @@ paths: contactImports(12345); - $response = $imports->get($importId); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $importId = $_ENV['MAILTRAP_IMPORT_ID']; + $response = $contacts->getContactImport($importId); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1089,10 +1192,19 @@ paths: source: | contactLists(12345); - $response = $lists->getAll(); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + try { + $response = $contacts->getAllContactLists(); + var_dump(ResponseHelper::toArray($response)); + } catch (Exception $e) { + echo 'Error: ' . $e->getMessage(); + } - lang: python label: Python source: | @@ -1163,10 +1275,19 @@ paths: source: | contactLists(12345); - $response = $lists->create(["name" => "Customers"]); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + try { + $response = $contacts->createContactList('Customers'); + var_dump(ResponseHelper::toArray($response)); + } catch (Exception $e) { + echo 'Error: ' . $e->getMessage(); + } - lang: python label: Python source: | @@ -1245,10 +1366,16 @@ paths: source: | contactLists(12345); - $response = $lists->get($listId); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $listId = $_ENV['MAILTRAP_LIST_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->getContactList($listId); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1312,10 +1439,16 @@ paths: source: | contactLists(12345); - $response = $lists->update($listId, ["name" => "Former Customers"]); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $listId = $_ENV['MAILTRAP_LIST_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->updateContactList($listId, 'Former Customers'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1393,9 +1526,14 @@ paths: contactLists(12345); - $lists->delete($listId); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $listId = $_ENV['MAILTRAP_LIST_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->deleteContactList($listId); + echo $response->getStatusCode(); // Should be 204 - lang: python label: Python source: | @@ -1460,9 +1598,14 @@ paths: contactFields(12345); - $response = $fields->getAll(); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->getAllContactFields(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1543,9 +1686,14 @@ paths: contactFields(12345); - $response = $fields->create(["name" => "Company", "data_type" => "text", "merge_tag" => "company"]); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->createContactField('Company', 'text', 'company'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1656,9 +1804,15 @@ paths: contactFields(12345); - $response = $fields->get($fieldId); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $fieldId = $_ENV['MAILTRAP_FIELD_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->getContactField($fieldId); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1726,9 +1880,15 @@ paths: contactFields(12345); - $response = $fields->update($fieldId, ["name" => "Updated Name", "merge_tag" => "updated_name"]); + use Mailtrap\Helper\ResponseHelper; + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $fieldId = $_ENV['MAILTRAP_FIELD_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->updateContactField($fieldId, 'Updated Name', 'updated_name'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1828,9 +1988,14 @@ paths: contactFields(12345); - $fields->delete($fieldId); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $fieldId = $_ENV['MAILTRAP_FIELD_ID']; + $contacts = (new MailtrapGeneralClient($config))->contacts($accountId); + + $response = $contacts->deleteContactField($fieldId); + var_dump($response->getStatusCode()); - lang: python label: Python source: | diff --git a/specs/email-api.openapi.yml b/specs/email-api.openapi.yml index 47a26e7..9d97901 100644 --- a/specs/email-api.openapi.yml +++ b/specs/email-api.openapi.yml @@ -77,15 +77,17 @@ paths: source: | domains($accountId); $response = $sendingDomains->createSendingDomain('example.com'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -221,17 +223,17 @@ paths: source: | domains($accountId); $response = $sendingDomains->getSendingDomains(); - $domains = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -338,18 +340,18 @@ paths: source: | domains($accountId); - $domainId = 12345; + $domainId = $_ENV['MAILTRAP_DOMAIN_ID']; $response = $sendingDomains->getDomainById($domainId); - $domain = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -459,13 +461,14 @@ paths: use Mailtrap\MailtrapSendingClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; $sendingDomains = (new MailtrapSendingClient($config)) ->domains($accountId); - $domainId = 12345; + $domainId = $_ENV['MAILTRAP_DOMAIN_ID']; $response = $sendingDomains->deleteSendingDomain($domainId); + var_dump($response->getStatusCode()); - lang: python label: Python source: | @@ -578,18 +581,19 @@ paths: use Mailtrap\MailtrapSendingClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; $sendingDomains = (new MailtrapSendingClient($config)) ->domains($accountId); - $domainId = 12345; + $domainId = $_ENV['MAILTRAP_DOMAIN_ID']; $email = 'devops@example.com'; $response = $sendingDomains->sendDomainSetupInstructions( $domainId, $email ); + var_dump($response->getStatusCode()); - lang: python label: Python source: | @@ -743,12 +747,13 @@ paths: label: PHP source: | suppressions($accountId); @@ -759,7 +764,7 @@ paths: // Or search for specific email $response = $suppressions->getSuppressions('suppressed@example.com'); - $data = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -904,13 +909,14 @@ paths: use Mailtrap\MailtrapSendingClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; $suppressions = (new MailtrapSendingClient($config)) ->suppressions($accountId); $suppressionId = 'abc123-def456'; $response = $suppressions->deleteSuppression($suppressionId); + var_dump($response->getStatusCode()); - lang: python label: Python source: | @@ -1009,11 +1015,19 @@ paths: label: PHP source: | emailTemplates(12345); - $response = $templates->getAll(); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + + $emailTemplates = (new MailtrapGeneralClient($config)) + ->emailTemplates($accountId); + + $response = $emailTemplates->getAllEmailTemplates(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1084,17 +1098,28 @@ paths: - lang: php label: PHP source: | + emailTemplates($accountId)->create([ - 'name' => 'Welcome Email', - 'subject' => 'Welcome to {{company_name}}!', - 'category' => 'onboarding', - 'body_html' => '

Welcome {{user_name}}!

', - 'body_text' => 'Welcome {{user_name}}!' - ]); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + + $emailTemplates = (new MailtrapGeneralClient($config)) + ->emailTemplates($accountId); + + $response = $emailTemplates->createEmailTemplate( + EmailTemplate::init( + 'Welcome Email', + 'Welcome to {{company_name}}!', + 'onboarding', + 'Welcome {{user_name}}!', + '

Welcome {{user_name}}!

' + ) + ); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1198,6 +1223,23 @@ paths: const client = new MailtrapClient({ token: "YOUR_API_KEY", accountId: YOUR_ACCOUNT_ID }); const template = await client.templates.get(templateId); console.log(`Template: ${template.name} (UUID: ${template.uuid})`); + - lang: php + label: PHP + source: | + emailTemplates($accountId); + + $templateId = $_ENV['MAILTRAP_TEMPLATE_ID']; + $response = $emailTemplates->getEmailTemplate($templateId); + var_dump(ResponseHelper::toArray($response)); - lang: shell label: cURL source: | @@ -1229,6 +1271,33 @@ paths: const { MailtrapClient } = require("mailtrap"); const client = new MailtrapClient({ token: "YOUR_API_KEY", accountId: YOUR_ACCOUNT_ID }); const template = await client.templates.update(templateId, { name: "Updated Template", subject: "New Subject" }); + - lang: php + label: PHP + source: | + emailTemplates($accountId); + + $templateId = $_ENV['MAILTRAP_TEMPLATE_ID']; + $response = $emailTemplates->updateEmailTemplate( + $templateId, + EmailTemplate::init( + 'Updated Welcome Email', + 'Updated Subject', + 'Transactional', + 'Updated Text Body', + '
Updated HTML Body
' + ) + ); + var_dump(ResponseHelper::toArray($response)); - lang: shell label: cURL source: | @@ -1274,6 +1343,22 @@ paths: const { MailtrapClient } = require("mailtrap"); const client = new MailtrapClient({ token: "YOUR_API_KEY", accountId: YOUR_ACCOUNT_ID }); await client.templates.delete(templateId); + - lang: php + label: PHP + source: | + emailTemplates($accountId); + + $templateId = $_ENV['MAILTRAP_TEMPLATE_ID']; + $response = $emailTemplates->deleteEmailTemplate($templateId); + var_dump($response->getStatusCode()); - lang: shell label: cURL source: | diff --git a/specs/email-batch.openapi.yml b/specs/email-batch.openapi.yml index f1d5971..f7987a2 100644 --- a/specs/email-batch.openapi.yml +++ b/specs/email-batch.openapi.yml @@ -93,6 +93,7 @@ paths: label: PHP source: | from(new Address('sender@example.com')) + ->from(new Address('sender@example.com', 'Sender')) ->subject('Monthly Newsletter') ->text('Check out our latest updates!'); $recipients = [ - (new MailtrapEmail())->to(new Address('user1@example.com')), - (new MailtrapEmail())->to(new Address('user2@example.com')) + (new MailtrapEmail())->to(new Address('user1@example.com', 'User 1')), + (new MailtrapEmail())->to(new Address('user2@example.com', 'User 2')) ]; $response = $mailtrap->batchSend($recipients, $baseEmail); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | diff --git a/specs/email-sending-bulk.openapi.yml b/specs/email-sending-bulk.openapi.yml index d94cb8f..9c64c6d 100644 --- a/specs/email-sending-bulk.openapi.yml +++ b/specs/email-sending-bulk.openapi.yml @@ -75,6 +75,7 @@ paths: label: PHP source: | category('newsletter'); $response = $mailtrap->send($email); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | diff --git a/specs/email-sending-transactional.openapi.yml b/specs/email-sending-transactional.openapi.yml index 2fea99b..c32f4e7 100644 --- a/specs/email-sending-transactional.openapi.yml +++ b/specs/email-sending-transactional.openapi.yml @@ -74,6 +74,7 @@ paths: label: PHP source: | html('

Welcome to Mailtrap!

'); $response = $mailtrap->send($email); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | diff --git a/specs/general.openapi.yml b/specs/general.openapi.yml index d4e2e41..5248eb1 100644 --- a/specs/general.openapi.yml +++ b/specs/general.openapi.yml @@ -112,19 +112,16 @@ paths: - lang: php label: PHP source: | + accounts()->getAll(); + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $generalAccounts = (new MailtrapGeneralClient($config))->accounts(); - foreach ($accounts as $account) { - echo "Account: {$account['name']}\n"; - echo "ID: {$account['id']}\n"; - echo "Access Level: {$account['access_levels'][0]}\n"; - } + $response = $generalAccounts->getList(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -242,10 +239,15 @@ paths: source: | accountAccesses(12345); - $response = $accesses->getAll(); + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $generalUsers = (new MailtrapGeneralClient($config))->users($accountId); + + $response = $generalUsers->getList(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -342,9 +344,14 @@ paths: accountAccesses(12345); - $accesses->delete($accessId); + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountAccessId = $_ENV['MAILTRAP_ACCOUNT_ACCESS_ID']; + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $generalUsers = (new MailtrapGeneralClient($config))->users($accountId); + + $response = $generalUsers->delete($accountAccessId); + var_dump($response->getStatusCode()); - lang: python label: Python source: | @@ -424,12 +431,34 @@ paths: source: | permissions(12345)->bulkUpdate($accessId, ["permissions" => [ - ["resource_id" => "3281", "resource_type" => "account", "access_level" => "viewer"] - ]]); + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $generalPermissions = (new MailtrapGeneralClient($config))->permissions($accountId); + + $accountAccessId = $_ENV['MAILTRAP_ACCOUNT_ACCESS_ID']; + + // resource IDs + $projectResourceId = $_ENV['MAILTRAP_NEW_PROJECT_RESOURCE_ID']; + $inboxResourceId = $_ENV['MAILTRAP_INBOX_RESOURCE_ID']; + $destroyProjectResourceId = $_ENV['MAILTRAP_OLD_PROJECT_RESOURCE_ID']; + + $permissions = new Permissions( + new CreateOrUpdatePermission($projectResourceId, PermissionInterface::TYPE_PROJECT, 10), // viewer = 10 + new CreateOrUpdatePermission($inboxResourceId, PermissionInterface::TYPE_INBOX, 100), // admin = 100 + new DestroyPermission($destroyProjectResourceId, PermissionInterface::TYPE_PROJECT), + ); + + $response = $generalPermissions->update($accountAccessId, $permissions); + + // print the response body (array) + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -554,10 +583,15 @@ paths: source: | permissions(12345); - $response = $permissions->getResources(); + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $generalPermissions = (new MailtrapGeneralClient($config))->permissions($accountId); + + $response = $generalPermissions->getResources(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -661,10 +695,15 @@ paths: source: | billing(12345); - $response = $billing->getUsage(); + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $billing = (new MailtrapGeneralClient($config))->billing($accountId); + + $response = $billing->getBillingUsage(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | diff --git a/specs/sandbox.openapi.yml b/specs/sandbox.openapi.yml index 6a293ad..d032dfb 100644 --- a/specs/sandbox.openapi.yml +++ b/specs/sandbox.openapi.yml @@ -132,17 +132,19 @@ paths: - lang: php label: PHP source: | + projects($accountId)->create([ - 'project' => ['name' => 'My New Project'] - ]); + $sandboxProjects = (new MailtrapSandboxClient($config)) + ->projects($accountId); - var_dump($project); + $response = $sandboxProjects->create('My New Project'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -250,17 +252,19 @@ paths: - lang: php label: PHP source: | + projects($accountId)->getList(); + $sandboxProjects = (new MailtrapSandboxClient($config)) + ->projects($accountId); - foreach ($projects as $project) { - echo "Project: {$project['name']}, ID: {$project['id']}\n"; - } + $response = $sandboxProjects->getList(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -366,18 +370,18 @@ paths: source: | projects($accountId); - $projectId = 12345; + $projectId = $_ENV['MAILTRAP_PROJECT_ID']; $response = $sandboxProjects->getById($projectId); - $project = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -474,20 +478,20 @@ paths: source: | projects($accountId); - $projectId = 12345; + $projectId = $_ENV['MAILTRAP_PROJECT_ID']; $newProjectName = 'Updated Project Name'; $response = $sandboxProjects->updateName($projectId, $newProjectName); - $project = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -627,15 +631,13 @@ paths: use Mailtrap\MailtrapSandboxClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; $sandboxProjects = (new MailtrapSandboxClient($config)) ->projects($accountId); - $projectId = 12345; + $projectId = $_ENV['MAILTRAP_PROJECT_ID']; $response = $sandboxProjects->delete($projectId); - - // Returns HTTP 200 with deleted project ID var_dump($response->getStatusCode()); - lang: python label: Python @@ -778,18 +780,20 @@ paths: - lang: php label: PHP source: | + inboxes($accountId)->create($projectId, [ - 'inbox' => ['name' => 'My Test Inbox'] - ]); + $sandboxInboxes = (new MailtrapSandboxClient($config)) + ->inboxes($accountId); - echo "Inbox created: {$inbox['name']}\n"; - echo "SMTP credentials - User: {$inbox['username']}\n"; + $response = $sandboxInboxes->create($projectId, 'My Test Inbox'); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -910,18 +914,18 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->getInboxAttributes($inboxId); - $inboxAttributes = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1027,14 +1031,13 @@ paths: use Mailtrap\MailtrapSandboxClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; $sandboxInboxes = (new MailtrapSandboxClient($config)) ->inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->delete($inboxId); - var_dump($response->getStatusCode()); - lang: python label: Python @@ -1158,23 +1161,23 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->update( $inboxId, new Inbox('Updated Inbox Name', 'new-username') ); - $inbox = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1307,19 +1310,19 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->clean($inboxId); - $inbox = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1426,19 +1429,19 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->markAsRead($inboxId); - - $inbox = ResponseHelper::toArray($response); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1545,19 +1548,19 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->resetSmtpCredentials($inboxId); - $inbox = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1664,19 +1667,19 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->toggleEmailAddress($inboxId); - $inbox = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1783,19 +1786,19 @@ paths: source: | inboxes($accountId); - $inboxId = 12345; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $response = $sandboxInboxes->resetEmailAddress($inboxId); - $inbox = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -1899,17 +1902,17 @@ paths: source: | inboxes($accountId); $response = $sandboxInboxes->getList(); - $inboxes = ResponseHelper::toArray($response); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -2007,27 +2010,28 @@ paths: - lang: php label: PHP source: | - use Mailtrap\Config; - use Mailtrap\EmailHeader\CategoryHeader; + from(new Address('test@example.com', 'Test Sender')) ->to(new Address('user@example.com', 'Test User')) ->subject('Test Email') ->text('This is a test email for sandbox.') - ->html('

This is a test email for sandbox.

') - ->addTextHeader('X-MT-Category', 'test'); + ->html('

This is a test email for sandbox.

'); + + $response = $mailtrap->send($email); - $response = $mailtrap->sandbox() - ->inboxes(TEST_INBOX_ID) - ->emails() - ->send($email); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -2213,10 +2217,10 @@ paths: label: PHP source: | text('Batch email content'); $recipientEmails = [ - (new MailtrapEmail())->to(new Address('recipient1@example.com')), - (new MailtrapEmail())->to(new Address('recipient2@example.com')), + (new MailtrapEmail())->to(new Address('recipient1@example.com', 'Recipient 1')), + (new MailtrapEmail())->to(new Address('recipient2@example.com', 'Recipient 2')), ]; $response = $mailtrap->batchSend($recipientEmails, $baseEmail); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python @@ -2467,17 +2472,17 @@ paths: source: | messages($accountId, $inboxId); - $messageId = 67890; + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; $response = $sandboxMessages->getById($messageId); var_dump(ResponseHelper::toArray($response)); @@ -2701,17 +2706,17 @@ paths: source: | messages($accountId, $inboxId); - $messageId = 67890; + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; $response = $sandboxMessages->markAsRead($messageId); var_dump(ResponseHelper::toArray($response)); @@ -2923,13 +2928,13 @@ paths: use Mailtrap\MailtrapSandboxClient; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $accountId = (int) $_ENV['MAILTRAP_ACCOUNT_ID']; - $inboxId = (int) $_ENV['MAILTRAP_INBOX_ID']; + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $sandboxMessages = (new MailtrapSandboxClient($config)) ->messages($accountId, $inboxId); - $messageId = 67890; + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; $response = $sandboxMessages->delete($messageId); var_dump($response->getStatusCode()); @@ -3140,20 +3145,20 @@ paths: - lang: php label: PHP source: | + messages($accountId) - ->getList($inboxId); + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); - foreach ($messages as $message) { - echo "From: {$message['from_email']}\n"; - echo "Subject: {$message['subject']}\n"; - echo "Received: {$message['created_at']}\n"; - } + $response = $sandboxMessages->getList(); + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -3326,17 +3331,17 @@ paths: source: | messages($accountId, $inboxId); - $messageId = 67890; + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; $response = $sandboxMessages->forward($messageId, 'recipient@example.com'); var_dump(ResponseHelper::toArray($response)); @@ -3509,13 +3514,19 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $response = $sandboxMessages->getSpamScore($messageId); - $response = $sandboxMessages->getSpamScore(67890); var_dump(ResponseHelper::toArray($response)); - lang: python label: Python @@ -3668,13 +3679,19 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $response = $sandboxMessages->getHtmlAnalysis($messageId); - $response = $sandboxMessages->getHtmlAnalysis(67890); var_dump(ResponseHelper::toArray($response)); - lang: python label: Python @@ -3776,11 +3793,21 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $textBody = ResponseHelper::toString($sandboxMessages->getText(67890)); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $textBody = ResponseHelper::toString( + $sandboxMessages->getText($messageId) + ); + var_dump($textBody); - lang: python label: Python @@ -3919,11 +3946,21 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $rawBody = ResponseHelper::toString($sandboxMessages->getRaw(67890)); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $rawBody = ResponseHelper::toString( + $sandboxMessages->getRaw($messageId) + ); + var_dump($rawBody); - lang: python label: Python @@ -4043,10 +4080,16 @@ paths: use Mailtrap\Config; use Mailtrap\MailtrapSandboxClient; use Mailtrap\Helper\ResponseHelper; + + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; $config = new Config($_ENV['MAILTRAP_API_KEY']); - $sandboxMessages = (new MailtrapSandboxClient($config))->messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $htmlSource = ResponseHelper::toString($sandboxMessages->getSource(67890)); - var_dump($htmlSource); + + $sandboxMessages = (new MailtrapSandboxClient($config))->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $response = $sandboxMessages->getSource($messageId); + var_dump(ResponseHelper::toString($response)); - lang: python label: Python source: | @@ -4161,11 +4204,21 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $htmlBody = ResponseHelper::toString($sandboxMessages->getHtml(67890)); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $htmlBody = ResponseHelper::toString( + $sandboxMessages->getHtml($messageId) + ); + var_dump($htmlBody); - lang: python label: Python @@ -4305,11 +4358,21 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $emlContent = ResponseHelper::toString($sandboxMessages->getEml(67890)); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $emlContent = ResponseHelper::toString( + $sandboxMessages->getEml($messageId) + ); + var_dump($emlContent); - lang: python label: Python @@ -4401,11 +4464,20 @@ paths: source: | messages((int)$_ENV['MAILTRAP_ACCOUNT_ID'], (int)$_ENV['MAILTRAP_INBOX_ID']); - $mailHeaders = $sandboxMessages->getMailHeaders(67890); - var_dump($mailHeaders); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxMessages = (new MailtrapSandboxClient($config)) + ->messages($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $mailHeaders = $sandboxMessages->getMailHeaders($messageId); + + var_dump(ResponseHelper::toArray($mailHeaders)); - lang: python label: Python source: | @@ -4532,10 +4604,20 @@ paths: source: | attachments(12345, 67890); - $response = $sandboxAttachments->getMessageAttachments(111111); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxAttachments = (new MailtrapSandboxClient($config)) + ->attachments($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $response = $sandboxAttachments->getMessageAttachments($messageId); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: | @@ -4642,10 +4724,22 @@ paths: source: | attachments(12345, 67890); - $response = $sandboxAttachments->getMessageAttachment(111111, 222222); + + $config = new Config($_ENV['MAILTRAP_API_KEY']); + $accountId = $_ENV['MAILTRAP_ACCOUNT_ID']; + $inboxId = $_ENV['MAILTRAP_INBOX_ID']; + + $sandboxAttachments = (new MailtrapSandboxClient($config)) + ->attachments($accountId, $inboxId); + + $messageId = $_ENV['MAILTRAP_MESSAGE_ID']; + $attachmentId = $_ENV['MAILTRAP_MESSAGE_ATTACHMENT_ID']; + + $response = $sandboxAttachments->getMessageAttachment($messageId, $attachmentId); + + var_dump(ResponseHelper::toArray($response)); - lang: python label: Python source: |