{"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/AmiiboService\/documentation\/AmiiboService"},"sections":[],"primaryContentSections":[{"content":[{"anchor":"Overview","type":"heading","text":"Overview","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"The "},{"code":"AmiiboService","type":"codeVoice"},{"type":"text","text":" library is a Swift Package Manager package dependency aims at allowing the developer to interact with the "},{"isActive":true,"type":"reference","identifier":"https:\/\/www.amiiboapi.com"},{"type":"text","text":" online service seamlessly, by not only providing the "},{"inlineContent":[{"text":"service","type":"text"}],"type":"emphasis"},{"type":"text","text":" tye but also any possible "},{"inlineContent":[{"text":"clients","type":"text"}],"type":"emphasis"},{"type":"text","text":", "},{"inlineContent":[{"text":"models","type":"text"}],"type":"emphasis"},{"type":"text","text":", "},{"inlineContent":[{"text":"filters","type":"text"}],"type":"emphasis"},{"type":"text","text":" and "},{"inlineContent":[{"text":"errors","type":"text"}],"type":"emphasis"},{"type":"text","text":" type that might be needed."}]},{"anchor":"Design","type":"heading","text":"Design","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"Although it could have been possible to generate a one-to-one RESTful client based on the Open API specification document that describe the available endpoints, it was decided to design a "},{"isActive":true,"type":"reference","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},{"type":"text","text":" service that removes the complexities of the service’s backend API, and provides the developer with a simple interface, and a seamless experience."}]},{"anchor":"Instalation","type":"heading","text":"Instalation","level":2},{"type":"paragraph","inlineContent":[{"type":"text","text":"To use the "},{"code":"AmiiboService","type":"codeVoice"},{"type":"text","text":" library with your package, then add it as a dependency in the "},{"code":"Package.swift","type":"codeVoice"},{"type":"text","text":" file:"}]},{"code":["let package = Package("," \/\/ name, platforms, products, etc."," dependencies: ["," .package(url: \"https:\/\/github.com\/rock-n-code\/amiibo-service\", from: \"1.0.0\"),"," \/\/ other dependencies"," ],"," targets: ["," .target("," name: \"SomeTarget\", "," dependencies: ["," .product(name: \"AmiiboService\", package: \"amiibo-service\"),"," ]"," )"," \/\/ other targets"," ]",")"],"type":"codeListing","syntax":"swift"},{"type":"paragraph","inlineContent":[{"type":"text","text":"It is also possible to use the "},{"code":"AmiiboService","type":"codeVoice"},{"type":"text","text":" library with your app in Xcode, then add it as a dependency in your Xcode project:"}]},{"content":[{"inlineContent":[{"text":"Swift 5.9 or higher is required in order to compile this library.","type":"text"}],"type":"paragraph"}],"style":"important","type":"aside","name":"Important"}],"kind":"content"}],"metadata":{"title":"AmiiboService","symbolKind":"module","modules":[{"name":"AmiiboService"}],"roleHeading":"Framework","role":"collection","externalID":"AmiiboService"},"topicSections":[{"title":"Service","anchor":"Service","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"]},{"title":"Clients","anchor":"Clients","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboMockClient"]},{"title":"Models","anchor":"Models","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Game","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Platform-swift.struct","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Release-swift.struct","doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Usage","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeries","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboType","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeries"]},{"title":"Filters","anchor":"Filters","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeriesFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboTypeFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacterFilter","doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeriesFilter"]},{"title":"Errors","anchor":"Errors","identifiers":["doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError"]}],"kind":"symbol","hierarchy":{"paths":[[]]},"abstract":[{"type":"text","text":"A library that provides everything the developer needs to interacts with the "},{"type":"strong","inlineContent":[{"type":"text","text":"Amiibo API"}]},{"type":"text","text":" online service."}],"schemaVersion":{"patch":0,"minor":3,"major":0},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/amiiboservice"]}],"references":{"doc://AmiiboService/documentation/AmiiboService/Amiibo":{"abstract":[{"text":"A model that represents an amiibo item.","type":"text"}],"title":"Amiibo","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Amiibo","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiibo","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo","kind":"symbol","type":"topic","navigatorTitle":[{"text":"Amiibo","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboMockClient":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboMockClient"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboMockClient","abstract":[{"type":"text","text":"A type that implements a mock client, for testing purposes."}],"kind":"symbol","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"AmiiboMockClient"}],"type":"topic","title":"AmiiboMockClient","url":"\/documentation\/amiiboservice\/amiibomockclient"},"doc://AmiiboService/documentation/AmiiboService/AmiiboClient":{"abstract":[{"type":"text","text":"A concrete representation of the types of client that a "},{"isActive":true,"type":"reference","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},{"type":"text","text":" service can utilize."}],"url":"\/documentation\/amiiboservice\/amiiboclient","title":"AmiiboClient","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"AmiiboClient"}],"role":"symbol","fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboClient"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboClient"},"doc://AmiiboService/documentation/AmiiboService/AmiiboService":{"abstract":[{"type":"text","text":"A type that implements the service that uses a client to make calls."}],"url":"\/documentation\/amiiboservice\/amiiboservice","title":"AmiiboService","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"AmiiboService"}],"role":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboService"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},"doc://AmiiboService/documentation/AmiiboService/AmiiboFilter":{"abstract":[{"text":"A type that contains values to fine-tune a response when requesting amiibo items.","type":"text"}],"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboFilter","kind":"identifier"}],"navigatorTitle":[{"text":"AmiiboFilter","kind":"identifier"}],"title":"AmiiboFilter","url":"\/documentation\/amiiboservice\/amiibofilter","kind":"symbol","type":"topic","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboFilter"},"doc://AmiiboService/documentation/AmiiboService/GameCharacter":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameCharacter"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacter","abstract":[{"text":"A model that represents a game character.","type":"text"}],"kind":"symbol","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"GameCharacter"}],"type":"topic","title":"GameCharacter","url":"\/documentation\/amiiboservice\/gamecharacter"},"doc://AmiiboService/documentation/AmiiboService/AmiiboType":{"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"AmiiboType"}],"navigatorTitle":[{"kind":"identifier","text":"AmiiboType"}],"type":"topic","kind":"symbol","role":"symbol","abstract":[{"type":"text","text":"A model that represents an amiibo type."}],"title":"AmiiboType","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboType","url":"\/documentation\/amiiboservice\/amiibotype"},"doc://AmiiboService/documentation/AmiiboService/AmiiboServiceError":{"title":"AmiiboServiceError","url":"\/documentation\/amiiboservice\/amiiboserviceerror","kind":"symbol","role":"symbol","navigatorTitle":[{"text":"AmiiboServiceError","kind":"identifier"}],"abstract":[{"text":"A representation of all the possible errors that the ","type":"text"},{"isActive":true,"type":"reference","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboService"},{"text":" service could throw.","type":"text"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboServiceError","type":"topic","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"AmiiboServiceError","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboLiveClient":{"title":"AmiiboLiveClient","url":"\/documentation\/amiiboservice\/amiiboliveclient","kind":"symbol","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"AmiiboLiveClient"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboLiveClient","abstract":[{"type":"text","text":"A type that implements a live client to the online service."}],"type":"topic","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboLiveClient"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeriesFilter":{"abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo series."}],"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboSeriesFilter"}],"navigatorTitle":[{"kind":"identifier","text":"AmiiboSeriesFilter"}],"title":"AmiiboSeriesFilter","kind":"symbol","url":"\/documentation\/amiiboservice\/amiiboseriesfilter","type":"topic","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeriesFilter"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Usage":{"url":"\/documentation\/amiiboservice\/amiibo\/usage","type":"topic","kind":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Usage"}],"title":"Amiibo.Usage","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Usage","navigatorTitle":[{"kind":"identifier","text":"Usage"}],"role":"symbol","abstract":[{"text":"A model that represents the usage of an amiibo item within a certain game.","type":"text"}]},"https://www.amiiboapi.com":{"title":"Amiibo API","titleInlineContent":[{"type":"text","text":"Amiibo API"}],"identifier":"https:\/\/www.amiiboapi.com","url":"https:\/\/www.amiiboapi.com","type":"link"},"doc://AmiiboService/documentation/AmiiboService/GameSeriesFilter":{"type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeriesFilter","kind":"symbol","abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting game series."}],"url":"\/documentation\/amiiboservice\/gameseriesfilter","title":"GameSeriesFilter","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"GameSeriesFilter","kind":"identifier"}],"role":"symbol","navigatorTitle":[{"text":"GameSeriesFilter","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/AmiiboSeries":{"url":"\/documentation\/amiiboservice\/amiiboseries","type":"topic","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboSeries"}],"title":"AmiiboSeries","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboSeries","navigatorTitle":[{"kind":"identifier","text":"AmiiboSeries"}],"role":"symbol","abstract":[{"text":"A model that represents an amiibo series.","type":"text"}]},"doc://AmiiboService/documentation/AmiiboService":{"kind":"symbol","type":"topic","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService","abstract":[{"type":"text","text":"A library that provides everything the developer needs to interacts with the "},{"inlineContent":[{"type":"text","text":"Amiibo API"}],"type":"strong"},{"text":" online service.","type":"text"}],"role":"collection","title":"AmiiboService","url":"\/documentation\/amiiboservice"},"doc://AmiiboService/documentation/AmiiboService/GameCharacterFilter":{"abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting game characters."}],"url":"\/documentation\/amiiboservice\/gamecharacterfilter","title":"GameCharacterFilter","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"GameCharacterFilter"}],"role":"symbol","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"GameCharacterFilter"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameCharacterFilter"},"doc://AmiiboService/documentation/AmiiboService/GameSeries":{"abstract":[{"type":"text","text":"A model that represents a game series."}],"title":"GameSeries","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"GameSeries","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/gameseries","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/GameSeries","kind":"symbol","type":"topic","navigatorTitle":[{"text":"GameSeries","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Game":{"abstract":[{"text":"A model that represents a game related to an amiibo item.","type":"text"}],"kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Game","kind":"identifier"}],"type":"topic","navigatorTitle":[{"text":"Game","kind":"identifier"}],"url":"\/documentation\/amiiboservice\/amiibo\/game","role":"symbol","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Game","title":"Amiibo.Game"},"doc://AmiiboService/documentation/AmiiboService/AmiiboTypeFilter":{"abstract":[{"type":"text","text":"A type that contains values to fine-tune a response when requesting amiibo types."}],"type":"topic","kind":"symbol","fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"AmiiboTypeFilter"}],"title":"AmiiboTypeFilter","identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/AmiiboTypeFilter","navigatorTitle":[{"kind":"identifier","text":"AmiiboTypeFilter"}],"role":"symbol","url":"\/documentation\/amiiboservice\/amiibotypefilter"},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Platform-swift.struct":{"title":"Amiibo.Platform","url":"\/documentation\/amiiboservice\/amiibo\/platform-swift.struct","kind":"symbol","role":"symbol","navigatorTitle":[{"text":"Platform","kind":"identifier"}],"abstract":[{"text":"A model that represents a collection of ","type":"text"},{"code":"WiiU","type":"codeVoice"},{"text":", ","type":"text"},{"type":"codeVoice","code":"3DS"},{"text":", and ","type":"text"},{"code":"Switch","type":"codeVoice"},{"text":" games related to an amiibo item.","type":"text"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Platform-swift.struct","type":"topic","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Platform","kind":"identifier"}]},"doc://AmiiboService/documentation/AmiiboService/Amiibo/Release-swift.struct":{"kind":"symbol","type":"topic","abstract":[{"text":"A model that represents a collection of release dates related to an amiibo item.","type":"text"}],"identifier":"doc:\/\/AmiiboService\/documentation\/AmiiboService\/Amiibo\/Release-swift.struct","role":"symbol","title":"Amiibo.Release","url":"\/documentation\/amiiboservice\/amiibo\/release-swift.struct","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Release"}],"navigatorTitle":[{"kind":"identifier","text":"Release"}]}}}